Idena And The Oracle Problem
This article was originally published on The Daily Chain, 20th November 2020.
Idena And The Oracle Problem
“Idena is the first proof-of-person blockchain where every node belongs to a certain individual and has equal voting power. It is one of the most decentralized blockchains.”
Truth is Relative
Voting consensus is how blockchains establish “truth”. And for blockchains truth is relative.
For a blockchain, truth is relative to the will and power of the miners and the consensus they create. The state of a ledger is often perceived as absolute until it is proven otherwise.
Successful “51% attacks” which overturn the “truth” of a blockchain ledger testify to the axiom. So do forks resulting in two or more truths running concurrently, deliberate or otherwise.
In Bitcoin, one-CPU-one-vote has proven a reliable means of securing the truth in a ledger which records every interconnected transaction output since its own genesis.
We understand that even though one person can buy many computers and control more votes, financial incentives are usually enough to discourage the abuse of power.
It is taken for granted inequality exists, and that one individual or entity can have millions of votes.
In proof-of-work money makes good actors of us. Proof-of-stake and almost all other consensus mechanisms are no different in this regard.
But the balance of power is precarious and the collusion (or compromise) of two or three mining pools could spell disaster.
Blockchains are walled gardens. They refer only to themselves and achieve consensus internally within themselves.
A blockchain does not know what time it is in the real world, let alone the time difference between New York and London. For blockchains time is also a relative concept, and is also based on consensus.
“Network-adjusted time” is the median of the timestamps returned by all nodes connected to you. As a result block timestamps are not exactly accurate, and they do not need to be. Block times are accurate only to within an hour or two.
To put it another way, Bitcoin knows how many satoshis miners want to process your transaction within a certain number of blocks, but it has no idea what the fee costs in dollars.
Walled gardens offer great security, and protect blockchains from external information. But they inherently limit them too. Allowing smart contracts to interact with real world data would make them much more useful.
The Oracle Problem
Oracles offer a means for blockchains and smart contracts to interoperate with real world data. To bridge the gap. Unlike blockchains, oracles deal in absolute truths; in facts.
But how can we know the data oracles provide can be trusted or that it is accurate? This is commonly referred to as the blockchain oracle problem.
If oracles allow corrupt data to be imported on-chain, auto-executing smart contracts can have disastrous affects.
Once more the solution to the problem rests in consensus. The number-crunching computers so good at maintaining internal ledgers cannot verify or validate external data. For oracles, another system of voting is required.
Blockchain oracle networks often demand a “stake”. Locking funds into an oracle node implies commitment, and potentially exposing that commitment to penalties incurred for bad behavior or poor performance is a punitive means of keeping nodes honest.
Once again we find it is greed (plus additional `fear for proof-of-stake) which motivates keeping the system honest.
Many projects try to approach the oracle problem developing solutions based on capital (stake). However, this leads to oligopoly where several big players can do a variety of undesirable things like colluding, censoring votes or even affecting voting results. And once they collude they won’t lose their stakes. The stake itself cannot prevent big players from colluding. We rather need a decentralized network of small players acting independently.
Idena Team, November 2020
The proof-of-person consensus was designed to create a network of “small players acting independently.” Humanness is not established through KYC. That would be ineffective and invasive. Instead network participants must answer AI-hard reverse Turing tests every 16 days (an epoch), in a “validation ceremony”.
Idena is based on the proof-of-person Sybil-protection mechanism. It is essentially a ready made network of oracles. Every node has equal voting power and belongs to a certain individual. With appropriate economic incentives they can be used to verify objective facts on the blockchain in order to make this data available to other smart contracts or off-chain apps.
When asked for some examples of “objective facts” the Idena team told The Daily Chain:
- Certifying facts. For instance, a blockchain smart contract needs data on whether Trump has won elections in 2020 or not. The smart contract will initiate a voting for oracles who should certify the required data by reading newspapers.
- Price information. Oracles can confirm price information based on market price data.
- Polls. For instance, we could ask the network whether they like a logo. Obviously, with such types of questions someone who votes against the majority should not be penalised. However, even in this example randomly selected oracles allow to collect representative information about the whole network’s opinion.
A flip is a sort of a CAPTCHA that helps to determine whether a user is human. In contrast to a CAPTCHA, which stands for “Completely Automated Public Turing test to tell Computers and Humans Apart” and is usually generated by an automated service, a flip should be created by a human
Each ceremony last about 30 minutes and is divided into phases. In the first phase participants have two minutes to answer six flips, randomly selected for each user from a large pool. The longer second phase requires they answer around 30 flips and then flag the flips which violate certain rules (and thus may have been made by a bad actor).
Importantly, the correct answers to the flips answered in phase one are agreed by consensus during phase two. The Idena community are, as a whole, the arbiters of what is true and false.
Once a person has passed the test and validated their node they can start mining. Their chance of mining a block and receiving the reward is exactly the same as all other participants in the network. Mining rewards are distributed equally across the network and no special hardware is required.
It is also at this stage that an individual is prompted in-wallet to make three flips. Each flip a user makes must reflect the two randomly chosen keywords that are presented.
All nodes are equal.
The flips to test humanness each consist of four images arranged in two different sequences. In one sequence the four images form a logical narrative or story, and in the other they don’t.
Even though there is a fifty percent chance of guessing a flip correctly, a machine incapable of understanding a story in pictures, or semantic narrative, will quickly reveal itself when presented with multiple flips.
Flips are answered by humans, created by humans, and even audited by humans. Every single event in the process is stored in the Idena blockchain.
We asked the team how they arrived at the decision to use flips to test humanness.
“We believe that in order to prove someone’s uniqueness on the web, time plays a critical role. People can not be in multiple places at the same time and can not share their attention for multiple tasks. But another problem is to prove that someone is not a bot.
“Our initial idea was to run simultaneous Zoom calls where people have to follow some protocols playing games in groups or communicating to each other in groups. However, it’s not possible to prevent deep faked AI playing the games against people. Communications are also hard because of the language barrier. That’s why we came up with an AI hard captcha challenge (Flips). The understanding of a flip is a kind of communication between you and the person who made it. Flip’s author is telling you a story in the form of an image sequence that you have to read it and pick the right answer.
“We did research to make sure that people are good at both solving and making the flips. At the same time, flips are hard for AI since common sense logic is needed to solve them. We’re running a Flip challenge to develop an open source AI for solving flips.
“Once AI can solve some types of flips with a high probability, such an AI can be integrated into the app and prevent people from making these particular types of flips.”
You can find more information about the puzzles in the team’s Medium article, “AI-resistant captchas: Are they really possible?”
The Idena team told The Daily Chain how this all works.
“Flips and validation ceremonies are part of the hardcoded blockchain protocol. Oracle voting is running on top of predefined smart contracts whose algorithms are implemented in Golang. All the infrastructure for smart contracts is already done: gas model, smart contract deployment, invoking methods, RPC. VM integration is the remaining part to enable devs creating arbitrary smart contracts. ETA is early next year.”
We then asked what tools are available for developers and can they build a USD price oracle on Idena today?
“First of all, Idena enables a Sybil protection mechanism for the 3rd party developed services. You can add Sign-in with Idena button on your website to avoid bots. Your service can check the user’s account validation status and grant some privileges (e.g. voting rights or rights for certifying USD price data on Ethereum).”
“We believe Idena is a way more transparent Sybil protection mechanism than a centralized KYC-type of verification which is currently used by many services (e.g. Chainlink).
“Gitcoin is currently integrating Idena to enable Sybil protected Quadratic Funding for Gitcoin grants. Unfortunately dApps are not yet available. This is planned for early next year.”
Interplanetary File Systems
The flips themselves are not stored on-chain.“All the flips are stored in Idena’s IPFS layer. Only flip hashes are recorded on the blockchain.”
“Every Idena node is running the IPFS node. The whole network with thousands of nodes enables redundant data storage for every flip. All newly submitted flips provided by participants for the upcoming validation are pinned by multiple nodes during the current epochs. These flips are deleted from the IPFS storage after the validation ceremony.
“All the flips are stored in the encrypted form before the validation ceremony. Once the ceremony starts, two out of four flip images become publicly available. Remaining data is available only for the participants who solve the flips.”
Idena’s use of IPFS provides some of the many other use cases identified on their site: Fair voting in online communities, Direct marketing and value airdrops, Serverless messenger and in-chat payments, Global universal basic income (UBI), and Free speech publishing.
The Idena network can be used as a decentralized storage for publications and whistleblowing information to build censorship-free publishing platforms, which are protected from bots manipulating content discovery.
With the move to a virtual machine scheduled early next year, the number of use-cases should rapidly become limitless.
At the time of writing Idena has over 4000 nodes. Given scaling remains one of the great problems for blockchains, what can the Idena network handle today and what plan do they have for the future?
“Theoretically Idena’s network can validate more than 10k users depending on their Internet connection and hardware. Further network growth is possible with sharding: accounts will be randomly segregated into shards (groups of 2–4k nodes). All ceremonial communications will be encapsulated inside each shard. This is what we are currently working on. We call it Sharding phase 1.
“We also anticipate Sharding phase 2 addressing the well known scalability trilemma. Sharding phase 2 is blockchain sharing: every shard will mine it’s own shard-chain. This will increase the blockchain throughput without sacrificing the decentralization and security (every user can be included in one shard only). The more people join the mining, the more shards can be established, the higher the overall throughput. This is only possible because of the PoP type of consensus. In contrast PoS cannot guarantee safe sharding: the more shards established, the less expensive it becomes to capture a single shard.”
The network has seen steady growth, and at this rate the team will need to implement their solution soon. Fortunately that’s the plan.
Robot or Not?
To join the network one must be invited, and there are incentives for doing so. When invited you are a “candidate” and after the first validation ceremony you become a “newbie”. As you graduate through subsequent ceremonies spanning epochs a newbie becomes “verified” and then, finally, “human”.
Regardless of rank, in every validation ceremony some make it and some don’t. The Daily Chain can vouch for the fact that if you are human and paying attention to one node you’ll make it.
A portion of the mining rewards are delivered as a stake which can’t be spent until a human “kills” their account. This is thought of as a pension collected after retirement. .
The requirements and rules are all clearly laid out in the extensive Idena FAQ.
A plethora of information is provided by multiple explorers and viewing all the data can become engrossing. There is a gamification to the experience of running a node and proving your humanness that the author has not experienced before.
Unusual that a new consensus mechanism like proof-of-person should have such a meaningful impact on the workings of a blockchain. The resilience of Idena through democratic voting and “humanness” will undoubtedly give rise to many use-cases as yet unconsidered.
It is an odd thought that to double-spend or manipulate voting in Idena an attacker would need thousands of humans, or a sophisticated AI with bots. Both of these would be subject to the continuous scrutiny of a community crafting and studying flip-puzzles.
Neither mining hardware or large stakes can subvert the oracles of Idena.
The proof-of-person consensus uses AI-hard reverse Turing tests to enforce one-node-one-vote and one-human-one-vote. Human involvement is only required to validate the unique identity of the node, and not to perform its duties. Although humans have the option of performing some of these duties, which adds an extra dimensions to Idena.
The Daily Chain will report on Idena again in 2021 after they deploy their virtual machine, smart contracts and on-chain oracle voting to see if they have in FACT solved the blockchain oracle problem. We thank the team for their comment.