Blockchain technology is progressing rapidly. There have been significant advancements like development of Layer 2 blockchains, using various consensus mechanisms to enhance throughput and scalability andmore. That said, one innovative development is the Oracles blockchain, which is used as a cross-chain platform to connect live data to smart contracts.
There have been earlier initiatives in this direction. In this article, we delve into one such outstanding application — The Band Protocol.
What is Band Protocol?
Band Protocol is a cross-chain Oracles blockchain platform that aggregates and connects real-world data and APIs to smart contracts. One of the greatest challenges for any decentralized application (dApps) is to have access to trusted data and services over the Web 2.0. Band protocol deals with this problem by building a decentralized bridge enabling interoperability between smart contracts and the conventional Web2.0.
What is Band VRF?
Randomness is a key function that helps to operate several decentralized apps (dApps). However, the foundation of the randomness aspect is often ignored. Band’s VRF service addresses some issues that could adversely impact the integrity of Web3 use cases. It produces a pseudorandom output together with a proof of authenticity that validates the random number generation process.
Verifiable Random Function (VRF) Explained
Applications that rely on good random values to be generated deploy cryptographic techniques which produce pseudorandom values that are difficult to differentiate from uniformly random values. A Verifiable Random Function (VRF) is a mathematical operation that processes inputs and generates a pseudo random output with an authenticity proof of the output generation.
At the core of the VRF system, there is a set of secret keys to generate verifiable results and a set of corresponding public keys used to verify the results generated.
Bandchain is a public blockchain that uses its verifiable pseudorandomness for providing services. It uses a Verifiable Random Function (VRF) to cryptographically secure and ensure that the results generated have not been tampered with.
Bandchain’s Verifiable Randomness is an extension of the generic VRF system and is used to serve dApps requests based on Banchain’s Oracle network. The public blockchain offers APIs for data and services stored off-chain either on the Web or third-party providers. The Bandchain blockchain uses Bandchain Oracle Scripts to take data requests from other public blockchains and do an on-chain integration. The process is run on-chain and Oracles blockchain result is produced. The Oracles blockchain results are stored on the Bandchain.
Once this is completed, the results are transmitted to the calling dApp on the main blockchain along with a proof of authenticity through Inter-blockchain Communication Protocol. The core feature of Bandchain is that its VRF is different from the uniformly random generated values, in addition to the proof of authenticity relating to the pre-published public key.
Bandchain’s VRF Security Properties
Some of the key security properties of Bandchain’s VRF include -
The property ensures that the calculated outcomes are uniformly random for all practical reasons. This is an integral aspect of VRF implying that VRF always behaves as a random oracle. In other words, no one without the secret key can predict the outcome even if they have the seed phrase, other than mere random guessing.
The uniqueness attribute implies that once the VRF providers publish their secret key, only they can provide proof to confirm the correctness of the VRF output value for every seed. This means it is far-fetched for a given secret key and seed to have two different VRF values that pass the check. This is very important to protect against actors with malicious intent who try to claim an output in a manner that violates the intended purpose.
Collision — Resistance
This is similar to the classic property of the cryptographic hash function. It implies that from a calculation perspective, it is difficult to find two different inputs Seed1 and Seed2 that have the same secret key to obtain the same output value. The major difference for VRFs is that property remains true even if a malicious attacker gets to know the secret key. This property protects from fraudsters who claim an output is calculated from Seed1 while in reality it was computed from Seed2.
How does the Bandchain protocol flow work?
At a broader level, the Bandchain protocol flow works as follows:
- Initially, two contracts, the VRF contract and the Bridge Contract, are deployed on the Ethereum main chain. The first contract receives the randomness requests of dApps and pre-processes it with the embedded code and keeps it ready to move it to the Band side-chain. It also works as the receiving end of the request’s result. The second contract acts as a connecting bridge between the two chains and verifies that the received results from VRF requests are actually computed and stored on the Bandchain.
- If a third-party dApp requests a random value, it submits its request to the VRF contract, which uses the VRF seed and prepares the actual VRF input. This is carried by the Band Foundation and submitted to BandChain as a VRF request.
- A VRF Oracle Script collects the request and maps it to a set of VRF data sources that are available to the chain. Next, the Oracle Script randomly assigns the request to a VRF provider that corresponds to one of the VRF data sources. The assigned provider uses the VRF secret key to evaluate the VRF based on the input and displays the output to the Band network.
- Next, all the chosen validators execute the VRF verification algorithm and if the verification is successful, the result is transmitted to the VRF Oracle Script. The Oracle Script accepts the majority as the final outcome only after it has received the desired number of results from the validators. This result then becomes a part of the Bandchain state.
- The final result, which is included in the next block’s computation, is sent to the main chain’s VRF contract and includes a Merkel Tree proof indicating that it needs to be included in the Bandchain state. This is finally verified at the Bridge contract and sent to the original dApp.
Band protocol holds immense potential to transform the realm of decentralized finance. With its Oracles blockchain, it will unleash the power of smart contracts, forming an interface between on-chain and traditional Web2.0