Exclusive: How to Ensure Random Numbers in Public Blockchain?
Following Part 1 of our interview, Jing Chen of Algorand further teaches our readers on how to ensure the randomness of a number in public blockchain! She also evaluates the existing Proof-of-Stake (POS) protocols: Delegated VS Bonded VS Pure POS!
Regarding the white paper "Digital Signatures for Consensus" published on March 9, 2019, it states that the signature equation contains a random value r. How do you ensure a random number is really random in the public blockchain?
Randomness is used to select committee members for block generation in Algorand’s pure proof-of-stake consensus protocol. This is done through Verifiable Random Functions (VRF).
The seed of the VRF is generated by block proposers and may depend on the state of the blockchain thus far. The adversary cannot predict the randomness before seeing the block proposer’s message, thus cannot pre-strategize based on it. The randomness used in the protocol is updated every round, and seeing the randomness for the current round does not help an adversary predict the randomness used in future rounds. Similar schemes can be used to generate randomness for other purposes, including digital signatures.
What are the problems of delegated proof-of-stake (DPOS) and bonded proof-of-stake?
While delegated and bonded proof-of-stake approaches are more environmentally conscious - as they do not require the large computation power as found in a proof-of-work system in order to mine a block – they are still centralized by design.
In delegated proof-of-stake, a fixed number of selected entities, or delegates, are selected to generate blocks. Delegates are voted into power by the users of the network, who each get a number of votes proportional to the number of tokens they own on the network (i.e., their stake). However, once delegates are selected, they remain in position for a long time, which inherently makes the system more centralized. Further, there is no guarantee that all delegates will remain honest. And even if their honesty was certain, because their identities are known, they become obvious targets for attackers.
In bonded proof-of-stake, a user’s voting power is proportional to the number of tokens he is willing to “lock-up” ---that is, put aside without touching for a long time. If he is caught taking malicious actions within the system, then these tokens may be confiscated. This inherently puts “small” users at a disadvantage, as they may need their tokens frequently and can’t afford to lock a large amount up for a long time. Users with a large total stake, on the other hand, are often more willing to do so, causing the voting power in the system to skew disproportionately towards them.
In comparison, Algorand’s Pure Proof-of-Stake (PPoS) approach randomly selects users in charge of block generation. The randomized selection happens not only per block but actually along every step of the Byzantine agreement per block. Every user may be chosen to propose and vote on blocks. The selection probability is directly proportional to a user’s total stake rather than the stake he is willing to lock up. The protocol does not ask a user to lock up any stake in order to participate, neither does it confiscate a user’s stake.
Why Dutch auction is adopted to determine the token price of Algorand?
The Algorand Foundation is responsible for the distribution of Algos—the native token of the Algorand platform. Algos will initially enter circulation through a sequence of Dutch auctions due to three main benefits they specifically provide – fairness, transparency, and convenience.
A Dutch auction lets the market determines the fair price of tokens rather than having the price set by any specific entity. Also, in a Dutch auction, the token price is the same for all participants who have won any amount of tokens, treating participants fairly.
A Dutch auction is convenient for the users to participate in online. Indeed, during such an auction a user does not need to remain online the entire time. They can make a bid and then move offline, and even return online to make another bid later on.
Finally, auctions are conducted on the Algorand blockchain for transparency. All bids are placed on the blockchain, so everybody can verify that the auction has been conducted properly.
Knowing that most of the dApps in public blockchains related to gaming, how Algorand can attract blockchain developers from existing leaders such as EOS and Tron?
Algorand’s technology stands out in decentralization, scalability, and security. We are committed to building a truly permissionless and decentralized public blockchain; a vision shared by many blockchain developers. The Algorand blockchain offers and will continue to offer many unique features where true technology plays. I invite readers to look at our blog posts on Algorand’s roadmap.
For example, as the Algorand blockchain doesn’t fork, it provides immediate transaction finality. After seeing a newly generated block containing a specific transaction, a user doesn’t need to wait for several other blocks to be generated following it before he can safely rely on that transaction. This is critical for time-sensitive applications, as there is no need to make a tradeoff between having a short confirmation time for transactions and risking certain transactions disappearing from the chain.