This article will discuss a critical property of blockchains, and how it affects their function, and how it affects the majority of smart contracts deployed on the Ethereum blockchain today.
Blockchains are a new way of storing and sharing information, and their security relies on the equal sharing of power between stakeholders that make up the network. What makes it all so interesting is that so much can be achieved via cryptography alone, which is why blockchains are such a hot topic.
A fundamental principle behind the functioning of blockchains is the need to produce randomness, otherwise there is no decentralization. Yet in order to have the randomness, you need to have the randomness generators yield randomness, which is, in turn, the only way to have guaranteed randomness. The situation where a randomness generator is used to generate blocks, which is what happens in the case of a blockchain, is called “stochastic replication.”. Read more about what is randomness in cryptography and let us know what you think.
Because nature is so random, it’s simple to achieve unpredictability in the physical world. However, in the digital world, things are a bit different, because the intended outcome almost always necessitates some kind of human-induced randomness.
The Random Number Generator (RNG) is a piece of software or hardware that generates random numbers in computers. This utility aims to ensure fairness in programs that rely on the production of random integers for their fundamental operation. Games and lottery are two examples.
Because the blockchain is based on the concept of equitable distribution of chances on a decentralized framework, it has a special connection with this kind of technology. RNGs are a must-have for obtaining unbiased random inputs that enhance credibility and user experience, from the burgeoning decentralized apps (dApps) on Ethereum to the on-chain NFT blind boxes that are becoming more popular by the day.
The difficulty of generating randomness that can be trusted
Producing fake random, safe, and resilient numbers that can be used in circumstances that demand unique and trustless randomness on decentralized networks, on the other hand, is more difficult than it seems.
While there are many ways to generate randomness in the physical world and in cyberspace, the quality of the randomness produced is usually divided into two categories: genuinely random results and pseudo-random outcomes.
Truly random numbers (TRN) are based on physical processes in the actual world. Many of these random number generators are based on tiny occurrences that produce low-level random pulse impulses. This makes the usage of TRNs on blockchains problematic, since it is impossible to incorporate these micro-events into a decentralized network’s programming.
On the other side, pseudo-random numbers (PRN) are created using mathematical techniques such the public keyed hash message authentication code (HMAC) and threshold signature.
Overall, an ideal decentralized random number generator should have the following basic properties:
Unusualness at random
An RNG’s output should be unexpected, unique, and independent of each other. Otherwise, attackers may abuse the system by carefully selecting random numbers. Simply stated, after generating “output A,” the creation of “output B” should be based only on the likelihood of its occurrence (B), not on past or future outputs (A) (C, D, E..). This degree of uniqueness should be applied to the whole collection of random number generating nodes in a decentralized framework, not simply a subset of the network’s nodes.
It is feasible to generate random numbers in a decentralized manner on the blockchain. However, the communication overhead will constitute a constraint or a “single point of failure” for the whole system. The output of a “Trapdoor Function,” which enables secret discoverability with the proper input, must be eliminated by a RNG algorithm. Non-interactive RNGs achieve safe one-way communication for each RNG node by ensuring 0% exportability.
For decentralized networks, the availability of base RNG services must be constant. The uptime of existing decentralized system nodes, on the other hand, is unpredictably low. As a result, the RNG method should ensure availability by using unpredictably distributed nodes. In decentralized systems with more than half of the necessary nodes accessible at any one moment, techniques like threshold signature or multi-signatures, for example, function better. This percentage varies between 50 and 90 percent. If you have a system with less than half of the nodes accessible, you should build additional alternate routes in case some nodes are unavailable. For example, if five signatures are needed, three backups should be utilized as well. Any form of resilience, however, will be dependent on the network’s availability of RNG nodes.
Is the Threshold BLS Signature a realistic option?
The BLS (Boneh Lyn Shacham) signature threshold is a cryptographic digital signature method that is a game-changer for any decentralized network. This digital signature method generates randomness without the need of TRN generators, and it outperforms other algorithms like the widely used ECDSA.
The decision by Ethereum 2.0 developers to use the BLS12-381 standard as the network’s main signature scheme is based on the belief that BLS threshold signatures are quicker and scalable. BLS-based apps will be able to operate on Ethereum once a BLS threshold signature standard is implemented.
Furthermore, in decentralized systems, the threshold version of BLS signatures is resilient, allowing at most half of a decentralized network’s group nodes to be responsible for generating randomness. This allows for a sufficient number of participating nodes, ensuring RNG node availability as well as network security.
Existing solutions that might be used
ARPA’s RNG design is one of the finest current implementations of the threshold BLS signature. It not only allows anybody to operate a RNG computational node on a decentralized network, but it also goes above and beyond to guarantee verifiable computation even when a network is subject to malevolent majority circumstances. As it is capable of learning over time to better results, protocols must satisfy all three essential characteristics of a trustworthy, dynamic, and decentralized Random Number Generator.
ARPA’s Felix Xu contributes a guest article.
Felix Xu, Co-founder & CEO of ARPA & Bella Protocol. Felix graduated with Finance, Information Systems degrees from New York University. For the past 6 years, Felix has been working on venture capital investment in Fintech, big data and AI startups. Most recently, Felix led blockchain sector research and early-stage investment at Fosun Group, one of the largest conglomerates in China. Felix invested in Suishou Technology, Datebao Insurance, Huike Group in China and MakeMyTrip (NYSE: MMYT) in India.
Find out more.
Gain a competitive advantage in the cryptoasset market.
As a premium Edge member, you’ll get additional crypto insights and context in every story.
Analyses of the whole chain
Snapshots of prices
a little more context
For just $19 a month, you can become a member right now. Examine all of the advantages.
Posted in: Technology, Guest Post
Like what you’ve seen so far? Stay up to date by subscribing.
It is not easy to create a system that generates randomness, without it being predictable in the sense that it can be computed from its current state. Blockchains are an attempt to create a system that generates randomness, or at least to make it more difficult for computers to predict its behavior. Randomness is the base for cryptography, and thus any system of cryptography needs to be able to produce randomness.. Read more about cryptography random number generator and let us know what you think.
This article broadly covered the following related topics:
- what role does randomness play in hashing
- what is randomness in cryptography
- random numbers in cryptography
- random number generation in cryptography
- what is key randomness