IDCoins : A Web of Trust Blockchain for Identity and Reputation
David V Duccini
A Project of the Strength in Numbers Foundation
thelittleduke@idcoins.org
www.idcoins.org
Abstract. We propose a system based on a Bitcoin like cryptocurrency model whereby participants use Proofs of Identity tests in order to have certain digital identity elements linked to public key cryptographic keys such as ECC based PGP in order to be entered into a public ledger system known as a blockchain. We contemplate a nominal reward system for passing Proofs of Identity such as responding to an encrypted email and posting their IDCoin address on their social media networks that would demonstrate positive control of a given account. Participants would be encouraged to perform key-signing for anyone known to them in order to build a Web of Trust. (WoT). The rewards (aka tokens or simply “coins”) would then be eligible to be “spent” on reputational events which would also be entered into the blockchain. Reputational Events could be anything from signing another members public key to expressing an opinion about another member of the WoT to rating a transaction or the IP address of an email server to real world things such geolocations or the license plates of automobiles.
1. Introduction
Introduce low-value of anonymous feedback, normative behavior, and the value of identity and what it means to witness and attest.
Cite defamation case of Yelp! [1]
Discuss the idea that “Trust” is based on Intent and Competence, with the role of Reputation acting as the stand in for Competence.
(cite strong value of “word of mouth” advertising)
Introduce nomenclature of Web of Trust “WoT” (define) as contemplated by Pretty Good Privacy (cite PGP) (introduce problems with “acknowledgement of identity” not implying “endorsement of character”)
Introduce the need to revoke keys and endorsements -- (cite SSL cert issues)(cite use case of disavowing a bad actor)(cite lost private key)
Discuss value of having Signed Keys should be stored as detached objects with validity periods (esp expiration dates) that could potentially automatically disappear from the chain (cite Namecoin object expiration)
(Remind that) Key Signing itself is a reputational event. Even if unknown actor signs a key, the key holder could negatively score the event LOW, in effect disavowing it (introduce Sybil)
(Introduce GAMIFICATION of encryption technology as uptake path by masses)(reward mechanisms for using encryption)
Introduce concept that Key Signing could be as easy as scanning a QR-CODE from a feature/smart phone or from one printed on a business card. The event itself could be a form of coin exchange in that an individual could express a sentiment about the signing itself as means of expressing ENDORSEMENT.
Key signing could include a nominal Proof of Control, like a BitMessage exchange that demonstrates the individual has access to the private key. A level of confidence in attestation, "this keyholder is known by me and i have confirmed they have control of the private key on this date/time" - in the same way the keyserver vets keys before accepting.
You could sign a key and simply state that you are net-neutral on the individual as they have given you neither reason to trust or distrust. Close friends could enjoy a stronger affinity by rating the individual with a whole coin and then some magnitude to express how well you’d like to endorse the individual, say based on number of years that you’ve known them. Some simple examples:
(Rationale for moving bulk of coins via TXFEE as reward for miners (proofs of work) - the coins are meant to have nominal value)
(prospective) As we hope to demonstrate, the underlying concept of sending a significant number of coins as the TXFEE is a signaling mechanism to the community -- a public declaration. Transactions with higher fee’s provided in theory are more significant events. By using the TXFEE component of a cryptocurrency send operation we are providing a larger benefit to the community as opposed to enriching specific actors (normal use case)
Posit “Making Neutral safe again”
The problem of grade inflation in Ebay & Amazon et al
(reward mechanisms for participation in reputation economy)(score keepers)(leaderboards)(wot size)(wot mininum path lengths)
Proof of Stake (aka “seignorage” ) as a model to generate additional coins (TBD minimum hold time)
Proof of Work as model to capture coins from TXFEEs and to keep the blockchain secure
(block emit time can be as fast as possible to permit tracking fast changing reputational events such as negatively tagging a spam-emitting IP address)
(move to implementation ideas) In theory the Proof of Work reward could be based on a P2P pool with the entire TXFEE reward being split up among all online participating wallets (?scalable?)
See http://bit.ly/2GiveCoin for practical implementation
No Zero Transaction Blocks
Zero transaction blocks would be rejected by the network since there is no reward for minting empty blocks. Miners could determine based on the available TXFEEs available in a potential block to power up and solve the POW challenge, encouraging opportunistic mining. The system could be manipulated by having a miner simply send coins between their own accounts, however with a minimum TXFEE and no guarantee that they could solve the POW difficulty it does not offer a compelling reason to do so.
See http://bit.ly/2GiveCoin for practical implementation
Stake or Die to encourage continued engagement (wallet as miner)
Coins could have a Time To Live (TTL) (use or lose) to minimize the value of hoarding -- this TTL could be reset upon a transfer to encourage exchange (velocity in money supply) (see Reddcoin PoSV implementation) . Staking essentially resets the clock.
The value of a normalized scale for reputational events
Normalized scale for reputational events of .00000001…1.00000000 with TXFEE representing magnitude of feedback, examples include:
The normalized scale can be represented in any quantitative ranking system. For example the classic 5-star system would use baseline numbers like .1, .3, .5, .7, .9 coins, with any number of whole coins sent at TXFEEs to represent sentiment from NOMINAL to VERY/COMPLETELY. This could manifest how certain a reviewer was about an event.
If the nominal event is net-neutral (as in “my expectations were satisfied”) -- .5 to the identity and 1 coin to the miners - “my drive through experience at this particular Starbucks was on par with what I would expect”
Suggested IDCoins Reputational Event Sentiment Scale & Costs
Sentiment | 0.9 | 0.8 | 0.7 | 0.6 | 0.5 | 0.4 | 0.3 | 0.2 | 0.1 |
TXFEE | 5 | 4 | 3 | 2 | 1 | 2 | 3 | 4 | 5 |
The normalized scale can be presented to an end user in a variety of formats, including a classic 5-point scale with 3 representing neutral; 5=Very Satisfied, 4=Satisfied, 3=Expectations Met, 2=Unsatisfied, 1=Very Unsatisfied, 0=”I hate you and I want my records back”
It could be presented as a “letter grade” scale such as A-F with varying degrees of +/- including a “no-credit” score. The letter scale could be re-calibrated from the typical 90/80/70/60 to put the letter C at 50 to represent “average”.
[give to get concept]
A given address could be monitored and rewarded just for leaving feedback -- a vendor could offer a reward automatically by sending coins back to a feedback provider since the public addresses are fully disclosed.
Reputation is not a static quantity – can be plotted over time and in different contexts (think what happens when a car or product is recalled)
Need to disavow, repudiation, for remediation and redemption and to be forgot (spelling mistakes? ability to cure breach? relationships and events have lifecycles? human right to be forgot/records purged?)
(Introduce PROVENANCE) Coin Flow can be used to detect ASTROTURFING as well as SYBILs (all coin transactions can be checked for INPUTS and OUTPUTS. In theory it should be straightforward to detect self-dealing reputational events by looking at the source of coins. This is even true in the case of an exchange or coins acquired from an ANONYMOUS source. Low confidence should be placed on any reputation events or claims made by anonymous sources.
Coin Age as factor in reputation events -- newer coins could represent a lower confidence in event attestation -- so called value of “old money votes”
(Reputational events could be stored on a side chain that leveraged the Garbage Collection concept, whereas the Primary IDCoin chain could be leveraged just for key storage and key signing objects)
Note: The email address could be hashed instead of providing it in clear text to avoid having it disclosed. An email address could be verified by hashing it and looking up the hash in the directory/blockchain.
Will all the real Bob Smith’s please stand up?
Names have modes of use -- eg, ‘Dove’ soap & chocolate bars
A ticket sale to say a "concert" could exist simply as a time-bound signature by the seller on your public key.
Thus entitling the identity holder to entry to a venue through a simple "proof of identity" challenge.
You show up at the club, the ticket scanner requests that you sign some random hash value, and then once if verifies that your public key did indeed sign it, scan your key-chain to see if you have the time-bound signature token that would permit entry.
Proof of Membership (think Lions or Rotary International acting as a Digital Notary to attest to your membership)
Proof of Attendence
Proof of Transcript
Proof of Employment
Network would reject transaction if sender was not part of a group
Network could reject if vote was limited to once per participant
(I’ve recently been engaged by Rosa Lee & Gabe Higgins to explore the potential for leveraging the IDCoins platform in support of their Clearvoter project that they are collaborating with Lucas Overby on. From those conversations we have added additional use cases to our model that would extend our concept of a “reputational event” to a potentially time & group bound voting!
The basic model would leverage the Web of Trust to verify that a sender's address had been signed by a given group or organization in order to accept its transactional vote on the chain. Basically what it means for Clearvoter is you could have an election judge essentially certify your IDCoin as being valid in a particular jurisdiction which would then grant it privileges to send IDCoins to specific restricted events. It’s a great idea and has broad application, where you could essentially host everything from a member based community service groups voting on projects to having corporations hold shareholder votes on the IDCoin chain. What's really cool about this is you could create an object on the chain that specified one or more digital signatories that would have to be present on your IDCoin -- which means if you do not have a stake in an outcome, the network could prevent you from voting on an item.)
10.7.3 Anonymous Voting
Some additional design notes on the support for anonymity in voting...
And individual could provide a Proof of Identity in an out-of-band manner to an election judge and then generate a new IDCoin public key address to have the election judge sign. The judge could then send a token to that address that could then also be used for the express purposes of casting a vote on a particular reputational event.
This could have the double assurance benefit that the individual voter was approved (by showing the signature of the election judge in their keyring) -- as well as using the same input token to cast the vote -- thus controlling the source of the voter as well as total amount permitted to be use to represent the sentiment. This in effect supports a “free” vote for the individual since they would not be required to generate or obtain potentially identifying tokens to their primary identity. Any residual coins left could simply be sent back to the election judge. For example:
Note: An “Election Judge” does not have to be a human actor and could just as easily be a Distributed Autonomous Organization
A. BNF Grammar for Reputational Events
B. Anonymity in a Web of Trust based System
NOTES from FB convo with David Mondrus and Troy Benjegerdes
DD:
I agree that we need systems that are "80/20" optimal -- with the 20 reserved for supporting anonymity.
In IDCoins, you would have to start by generating an Identity but not passing any proofs of identity tests -- acquire coins that were proof of stake generated by an exchange that sold them to you without a lot of identification requirements.
The WoT would (and should) be naturally VERY suspicious of any reputational claims you make or support.
In fact with the right default filter set, normal users would not even have to see that you exist or what you think.
It should be incredibly hard to obtain key signatures from other people, because they would in effect be a weak link to re-identify you...
Of course other anonymous entities could sign each others keys, but the minute someone in your anon wot makes the mistake of broaching the ID disclosed WoT you're at risk...
The reference implementation I'm designing basically rolls any and all coins up from any reputational events you stake back into your primary id. All spends will send the remainder back to your primary account.
This system is going to make it REALLY hard for Sybil to play…
C. Model User Interface Proposal(s)
Ideally using a Google Chrome browser plugin, this would permit the scoring of ANY web-based content with a URL
Feature / Smartphone implementation to permit key-signing as well as geo-location tagging of reputational events. Possibly allow use of camera / OCR / recognition.
References