Many people don’t realize there is enormous demand for legal forms of ID. This is especially true for people living in developing areas where access to identification is difficult or near impossible. Over 1 billion worldwide people do not have verifiable ID restricting their ability to apply to schools or college, open a bank account, apply for credit or loans, and to get health care or health insurance.
By the year 2030, the World Bank Group and its partners aim to provide everyone on Earth with a legal ID as part of its ID4D (Identification for Development) initiative. This initiative is fueling the creation and implementation of digital ID systems primarily in areas where access to traditional ID is low, and blockchain technology is being examined as a network architecture for these systems. Digital identification systems are also being explored in places that already have existing identification systems, like the US (Colorado, Idaho, Wyoming, Washington D.C.), Canada, Taiwan, and many others.
Digital ID systems are also developing in ways separate from organizations and nations. Anonymity is requisite with cryptocurrencies but it’s important to discourage bad behavior and it’s vital to identify who the bad actors are. Some sort of identification system needs to be in implemented without disintegrating anonymity. A person’s personal information is not necessarily important when determining if you want to conduct business with them. What does make an impact, however, is a record of their reputation in the network revealing their history of good or bad behavior.
With regards to cryptocurrencies and blockchains, the science of designing an effective reputation system is called blockchain reputation management.
How should reputations be recorded and managed?
To grasp the various possibilities of creating a blockchain reputation management system it can be helpful to think of three questions that are to be addressed in the design process:
- Where in the network will the data create a blockchain reputation management system be stored?
- Which machines or nodes in the network are computing the reputation calculations?
- How frequently are the reputation calculations occurring?
The numerous answers to these questions constitute what’s called blockchain reputation architecture.
Where to store the data?
It’s said that the value of a network is determined by its size. High levels of growth are expected with decentralized networks and implementing reputation management systems to coordinate with them is going to create extremely large amounts of data that needs to be stored somewhere.
One possible storage location is in the blockchain itself. An advantage of this method is that it reduces computation from a users’ software or machine and instead the blockchain contains this data. This is an attractive option for users as it accelerates software startup and instantly provides up to date reputation information. Since the data is kept on the blockchain the reputation calculations stay accurate at all times. However, this necessitates a larger and more expensive blockchain system.
This is called “persistent reputation on-chain”.
Another place that blockchain reputation management data can potentially be stored is in a separate database, this is called “persistent reputation off-chain”. This method also speeds startup time (like with on-chain solutions) but requires interoperability between the reputation ledger and the blockchain, which adds complication and increases required computation.
A third option is called “transient reputation”. This method computes reputation calculations without separate databases to integrate and with no data stored on the original blockchain. The blockchain software would process the reputation calculations only during the startup process, noticeably increasing the bootup time which diminishes convenience of the network.
However, it’s expected that storing the data this way would be the simplest to design and likely the least expensive.
Which nodes calculate reputation?
There are generally three options of which nodes will compute reputations. Applications running outside the blockchain (agencies off-chain) would be the simplest and cheapest. Since this would rely on an external system it would be quicker to get operational but presents more security risk. Since these nodes are separate from the parent blockchain it also complicates the reward or payment system.
Travelchain, a decentralized data exchange for the travel industry, plans to use the agencies off chain method to process evaluations of travel services. Once the evaluations have been inputted into the off-chain agency algorithms for standardization, the information is then stored back onto the blockchain.
Another option is to have nodes running reputation software within the network or blockchain (agencies on-chain). This architecture would require at least one node, but not all nodes, to execute the same reputation code and would require these nodes to be financially motivated to do so. A blockchain with its’ nodes processing reputation code is the safest and least expensive option but due to system complexity, it would be the most difficult to create.
The last option is one where block-creating code contains reputation calculations that all block-verifying nodes would be required to compute (reputation mining on-chain). This method touts the highest security and simplicity but introduces an element of redundancy akin to PoW mining, meaning it has the highest level of computation occurring in the system as a whole. Similar to PoW cryptocurrency mining the network efficiency is reduced from redundant processing.
How frequently is reputation calculated?
If you could calculate a person’s reputation in the physical world would it make sense to reevaluate every second?
Although monitoring reputation that frequently might be possible it’s unlikely that anyone’s reputation would change significantly in such a short time span thus making it impractical. However, it’s easy to imagine someone’s reputation changing drastically over 30 minutes or an hour. To maintain efficiency and practicality the frequency of reputation calculations is crucial.
Reputation calculations are composed of complex algorithmic code and it takes time, energy, and processing power for computers to carry out this code. Any redundancy or inefficiency that can be removed during the design process improves blockchain system function. Four main solutions to this question of frequency are being explored:
One option is to recalculate someone’s reputation whenever it’s been requested, this is called “complete recalculation”. These calculations would include all variables affecting reputation over a set period of time and if this period is too long the calculations become very computationally expensive.
A different solution would be to calculate reputation only once for a set period of time, called “periodic recalculation”. A person’s reputation would not change until that period of time is over. This method is effective and computationally cheaper than complete recalculation. At the start of a new period, the reputation scores would be very accurate but the accuracy towards the end of the period would suffer since none of the current behavior would be a factor until the period is complete and reputations are recalculated.
The third option is somewhat of a combination of the first two. A periodic update system (persistent) would require network nodes to locally store (cache) all reputation data. However, the nodes don’t update the blockchain until the end of a set period of time. This method would be the least computationally expensive but similar to periodic recalculation it lacks accuracy towards the end of the time period.
The last option is to have every blockchain transaction carry reputation data, called “transactional update”. While not quite as pinpoint as complete recalculation it’s still a very accurate approach but would make transactions more expensive and slower to compute.
How does BitBay manage reputations?
Here at BitBay we store our reputation data separate from our main blockchain, the off-chain method of storage. This design choice strengthens the network as it prevents problems associated with blockchain bloats like data-heavy blockchain sizes and low transaction speeds. Some other blockchains are so large that they require large amounts of extra data storage which limits how easily and quickly users can access the network. Storing reputation data independent of our main blockchain benefits the network as a whole because the reputation data doesn’t slow down block verification thus preserving the speed of BitBay transactions.
A person’s reputation history is stored on their machine locally and is visible at the time they offer or enter a contract. A reputation in BitBay’s system includes the number of successful contracts, the total number of contracts, and any reviews users have left.
The off-chain agency that relays this reputation information upon request is our modified Bitmessage protocol. This protocol is an encrypted message system that is decentralized and uses strong authentication methods which prevent false message sender identification and passive eavesdropping from uninvited third parties. It’s an extremely secure system with no central authority in control. This protocol retrieves up to date reputation information and relays this information to the requesting party.
When a user leaves a review in the BitBay client their own Bitmessage address is visible to everyone seeing the review. This allows others to identify when an abnormal proportion of someone’s reviews are coming from one address or from a small circle of addresses. This helps a user determine if reputation collusion or fraud is happening, thus eliminating the incentive to commit such acts in the first place.
Another advantage of this Bitmessage reputation system is that established buyers and sellers can post their Bitmessage address on their web pages and social media accounts. As long as a user has a webpage or a social media account there’s no reason not to do this if they are honest. Reputation is calculated persistently and completely, as opposed to periodically, so all reputations are up to date at all times.
One review point is earned for every three successful transactions a user completes, and each review costs one point to write. Once a review has been written they lose that review point and must complete three more transactions to write another review. That is unless they have already accumulated review points from finishing previous transactions.
The beauty of our reputation system is that it’s only part of how we discourage cheating. Our Double Deposit Escrow system (DDE) allows contract participants to remove any profitability from cheating by requiring both parties to submit a collateral deposit which can be set to any amount. If the parties don’t agree that the contract has been completed neither party receives their deposit back.
For example, if you were buying a pair of shoes for 500 $BAY you can request that the seller makes a 1000 $BAY (or more) deposit if you can’t trust them based on their reputation. If the seller cheats and keeps the shoes after you pay, he lost 500 $BAY in the transaction making the cheating not worth their time or profitable.
Trust is imperative in business and must be established and maintained throughout a transaction. BitBay’s reputation system and our Double Deposit Escrow system work together to identify cheaters and remove the incentive to cheat in the first place.
Decentralized networks take different forms. So will reputation management systems.
We’ve touched on why reputations are important in anonymous environments, but storing personal information within similar decentralized network structures has benefits as well. In developing areas where the cost of getting credit is high, a person could be financially liberated if their digital reputation was used as a substitute for a credit score or paystub. Decentralized reputation systems like used with Civil could improve the journalistic integrity and help end media manipulation. Consumer reviews could be more honest and accurate if blockchain reputations decreased fake online reviews.
Since decentralized networks are increasingly recognized as a powerful tool we are likely to witness the development of both anonymous reputation systems and centralized digital ID systems containing personal data. The pro-decentralization community might be averse to any comparison with nations or other organizations, but each day cryptocurrencies and developing digital ID systems are testing similar underlying network technologies.