Orbs: PoS Ecosystem Elections Update, monitoring and stabilizing Orbs network progress, Boyar, Gamma and Nebula news, Tal Kol interview with Weekly Crypto
Biweekly update 9th May — 23rd May
Orbs has been performing good enough during the last two weeks. The team was busy working hard on Orbs Universe and deploying specific improvements, which include updates on performance monitoring, server-side enhancements (fixing unit tests and e2e tests db collusion, by clearing the db after each test, adding the ability to debug client-tests, adding protection against failed server initialization, blocks with more than one tx are now laid out better) and etc. The Orbs team is also engaged in theoretical research that the community of developers may find useful in the future development of the Orbs network — information about all aspects of zero-knowledge proofs, from theory to implementation and the topic of non-deterministic execution support in smart-contracts, to expand the platform capabilities. They studied the cutting edge protocols for zero-knowledge proofs and examine whether it is possible to bootstrap the unique Orbs network architecture to gain further improvements. Moreover, the research touched upon use-cases where zero-knowledge proofs present themselves as a key tool. Social side has Orbs participating actively — the development star Tal Kol was present, speaking at several events (EtherealSummit VIP dinner, Consensus 2019 at NYCBlockchainWeek). In addition, he gave an interview to WeeklyCrypto, where he highlighted how blockchain may change the future of user guarantee. The community keeps growing, social networks’ subscribers follow this tendency either. Keep an eye on Orbs with Paradigm!
- What they learned so far, the problems, encountered, and the fixes they have proposed to Validators running the protocol — introducing PoS Ecosystem Elections Update May 2019.
Orbs’ production network had been running a virtual chain for election processing (ID 1100000), successfully completing 8 election periods to date (May 5th). There are 16 Guardians, 14 Validators and over 1000 Delegators participating in the Orbs PoS ecosystem. No Validators have been voted out by the Guardians at this point.
The Orbs team has gathered extensive feedback from the Guardians and Validators regarding the reference delegation/voting UI we developed as an add-on, and have improved it significantly, adding a clear indication regarding next elections, improving the rewards reporting and delegation flows. Several Guardians have also created their own rewards calculators and delegation interfaces.
New improvements introduced to the reference interface:
- Improved table display for small-resolution screens
- Address copy functionality in the Guardians and Validators lists
- New indication of whether a Guardian has cast a valid vote for the upcoming elections
- Display the block height of next elections
- Enable deep link with the account address as a query parameter for the rewards page
- Display current delegation status
- A fix to the delegation status after a delegation update
- A PoC of a notary dapp using Orbs. Two simple actions: register or verify file existence within 45 lines of code.
- A general monthly recap, here’s an overview of what has been keeping the Orbs dev team awake these past nights. Eran Kirshenboim published an article, that covers wide area of information.
During April they’ve worked a lot on monitoring and stabilizing Orbs network:
- Extracted logger to separate library, Scribe
- Added support for Prometheus metrics exposed via HTTP API.
- Added config validation for the node that verifies that Orbs node address was derived from the public key. It addresses the issue of misconfiguration that one of our partners had experienced.
- Streamlined release process for Gamma and Orbs node, master and releases are published to Docker Hub now.
- Network launch — logs monitoring and understanding the network ‘heartbeat’
- Ethereum health-check (github #1102) — refactored the component to be testable, added a sanity test, refactored the reporting code to send less data or more concise data about the health checking
- Native compiler (github #1106) — added 6 new metrics to give us visibility about contract compilation
- Monitoring data — added/fixed metrics to native compiler and Ethereum health check
- Reporting block-sync issues — injected the sync peer IP into the connection context object, so we can report the peer IP and not just the peer address (github #1123)
- Analyzed new transport limitations to resolve invalid network communications (github #1153)
- Worked with Logz.io to understand our limitations and ensure we do not get blocked and ‘blinded’ when it comes to logs of the system
- Added state diff discrepancy dump in case Validators disagree on the proposed block’s state diff. This is an interesting case, described here, where Orbs nodes didn’t reach a consensus and the Orbs team investigated the cause. Once the team realized it’s because of non-deterministic execution, we proposed this feature.
- Removed logging of metrics to log files. Monitoring now relies on metrics polling over via http requests rather than logs parsing
- Several issues: #1121, #973
- Introduced GOSSIP_RECONNECT_INTERVAL config variable. Previously, when a connection could not be established we would sleep for GOSSIP_CONNECTION_KEEP_ALIVE_INTERVAL before the next attempt. This use of keep-alive-interval to determine the sleep between reconnection is incorrect in itself. The problem appeared when, in some testing scenarios, keep-alive messages are disabled by setting the keep-alive-interval to a very high value. In these scenarios, if a transport listener is not initialized before the first connection attempt, the test would halt because the reconnect interval was a virtually infinite duration.
This monorepo contains projects involving Orbs and Ethereum interoperability features. During the development of V1 the Orbs team started experiencing the challenges involved in testing, building, and deploying features that span across more than one blockchain.
All subrepos contain Solidity contracts for deployment on Ethereum. Some contain Orbs contracts, and some contain additional standalone processes meant to facilitate communications between the two networks. In addition, some subrepos include off-chain apps such as web UI.
The stack used in these repositories is diverse:
- Solidity contracts unit tests are implemented in JS over Truffle
- Orbs contracts and their unit tests are implemented in Golang
- Integration tests demonstrating full life cycles for all features are implemented using a mixed stack of JS, Truffle, Golang, Gamms, and bash
The monorepo currently contains 3 + 1 subrepos:
- Subscription — Contracts for provisioning and payments for Orbs Virtual Chains
- ASB — Autonomous Swap Bridge — enable ERC20 token transfers between Ethereum and Obrs networks
- Voting — Contracts for delegation, voting, Guardian and Validator registration, and voting over Ethereum and contracts for tallying elections results and executing their results on Orbs. In addition, there is an external process which drives data flow between the two networks.
- Deprecated — Federation contracts. Reference for the deprecated federation model envisioned in the original Orbs Position Paper, since replaced with Orbs PoS model.
Boyar is probably the only blockchain provisioning system today to do dynamic resource allocation in real-time. This means that when a new virtual chain is created, new containers are automatically spawned on all Orbs nodes by this system (an Orbs node is a cluster of machines, not a single machine).
- Added logging via Scribe
- Added monitoring for virtual-chain’s containers. The status of the containers is now reported to the logs
- Fixed race condition that occurred when multiple virtual chains were provisioned at once
- Added support for 10s and 100s virtual chains running in parallel on the same cluster (300+ verified to run on current hardware, m4.xlarge x 3)
- Added support for NFS as virtual-chain volume persistence for one of the Validators, Tenta, allowing them to run Orbs node on their own hardware (non-AWS) with no code modification and minimal effort
- Added optional SSL support: Orbs node public API is now available via HTTPS, allowing for the creation of in-browser client apps. Encryption happens in Nginx reverse proxy that proxies requests to individual virtual chain containers
Nebula is an Orbs node deployment tool for validators that provisions all the needed resources on AWS and creates the Orbs node.
- Added option to enable HTTPS in Orbs node public API implemented in Boyar.
- Remove the automated setup of an Ethereum node from our node deployment tool — Nebula.
- Since the latest update, Nebula will not create an Ethereum node anymore as part of the Orbs node. From now on, it’s the validator’s own responsibility to set up an Ethereum node in a separate process (prior to creating the Orbs node using Nebula) and ensure it is synced and ready to hit the road before using Nebula to deploy their Orbs node. Since the Orbs POS ecosystem is based on Ethereum, Boyar & Nebula must have up to date state from Ethereum in order to operate. Some of the recent changes to Nebula which also supports this very same goal is providing in the arguments to Nebula an Ethereum endpoint that the Orbs node will use for Ethereum main net access.
- In addition, Nebula was refactored to be more concise and easy to contribute to. Linting was added to the project as well to find more errors while writing code, especially when using an Atom-based open source editor (e.g VS Code and friends).
- Brutal honesty: Tal Kol talks to Weekly Crypto about how blockchain may change the future of user guarantees (and promises will NEVER be as strong as guarantees!)
- Here Tal Kol gives a toast during the EtherealSummit VIP dinner, the evening before the conference. Following Joseph Lubin and Yorke Rhodes.
- Watch BLOCKTVnews’s Yael Lavie interview Orbs Co-founder Tal Kol during Consensus2019 at NYCBlockchainWeek.
- Ori Rottenstreich (TechnionLive) presented Orbs paper ‘Enforcing Fairness in Blockchain Transaction Ordering’ at IEEE’s first Intl Conference on Blockchain & Cryptocurrency in Seoul, Korea. Check out the full paper here.
- Hexa.org lead a professional meeting w/ the IL Ministry of Finance, exploring the value of blockchain. Orbs’ reps Ilan Sterk, Netta, Andrey, Shiran & Ran did a fantastic job delivering potential real-world uses, benefits of the technology.
- Orbs will have a hackathon on May 22nd-23rd. Its purpose is for the Orbs R&D team to further explore the abilities of Orbs platform, with a view to discovering and sharing new ideas for use-cases and products that can be developed on the Orbs platform. We are excited about getting ideas from the community about specific products you think would be interesting to develop.
- Atomic Swap with Tal Kol speaking!
Orbs Universe (voting)
Delegators, in order to receive rewards, you should delegate to an active guardian who does not miss voting deadlines. If your guardian misses voting deadlines, you will not get rewards in this period.
Guardians, please note that elections are every 20000 Ethereum blocks, it is approximately 3 days. A Guardian vote is valid for about 1 week. We recommend voting every 6 days to be on the safe side.
Voting deadlines calendar (estimated time)
Tools for Guardians: We launched specific delegation template for Guardians, so they can present themselves by deploying their own web-site using our instructions. Later, we are going to create other tools for the comfortable use.
This is how we use the Template to introduce ourselves: orbs.paradigmcitadel.io
Our GitHub with Template: https://github.com/paradigmcitadel/orbs_guardian_delegation
- Performance optimization — Improving stability under stress for broad release of the network in the short and long terms.
- Helix Consensus Protocol — Integrating the Lean Helix Consensus Protocol into the node software stack. The implementation of Lean Helix has been a massive and intensive project ongoing for several months by the Orbs dev team.
- Autonomous Swap Bridge — mechanism for transferring existing ERC20 tokens from Ethereum securely into Orbs and then back again. This will enable the scaling of apps running on Ethereum, while still maintaining the native benefits of Ethereum as a base-layer.
- POS Security Model — Put into high gear the development of Orbs’ proof of stake model designed to ensure the sustainability of the decentralized, public ecosystem.
Partnerships and team members
- “Justin Sun for the win” with Uriel Peled:
Orbs Virtual Chains
Social media metrics
The graph above shows the dynamics of changes in the number of Orbs Facebook likes, Reddit subscribers and Twitter followers. The information is taken from Coingecko.com.