Silkroad-Framework / eip

Decentralized Autonomous Zero-identity Framework. It's an Open Source project. And it needs more developers' participation.
http://silkroad.help/
GNU General Public License v3.0
7 stars 1 forks source link

ERC-1646: Decentralized Autonomous Zero-Identity Protocol #1

Open Silkroad-zid opened 5 years ago

Silkroad-zid commented 5 years ago

eip: title: Decentralized Autonomous Zero-identity Protocol author:Derek Zhou(周朝晖, zhous1998@gmail.com) (@zhous); Clinton Tong(21239506@qq.com); Yuefei Tan(whtyfhas@gmail.com); discussions-to: https://github.com/Silkroad-Framework/eip/issues/1 or: https://github.com/ethereum/EIPs/issues/1649 status: Draft type: Standards Track (ERC) category (only required for Standard Track): ERC created: 2018-11-06 requires (optional): https://eips.ethereum.org/EIPS/eip-191 replaces (*optional): EIP 1646

Simple Summary

A public autonomous zero-identity protocol which can greatly enhance smart contract based application's security ,for itself and for the participants, and can be a core protocol to the decentralized autonomous civilization.

Abstract

This protocol allows a user to register ,backup and update his/her zero-identity(zero-identities) by running smart contracts. The protocol defines methods to register with a zero-identity, query or update a zero-identity. Especially this protocol allows a user to replace his/her current zero-identity with a backup zero-identity and generates one or more backup identities.This protocol is a fundamental protocol for the blockchain‘s decentralized autonomous civilization.

Motivation

We intend to develop a zero-identity interface which can be used by smart contracts. In Ethereum any smart contract takes an Ethereum address as a user's zero-identity. Quite often a user will lose access to his/her crypto assets when his/her private key associated with his ETH address is lost or stolen, or after he/she has transferred some tokens to a malicious or buggy smart contract. We are motivated to design a mechanism to help a user minimize his/her loss when these occassions happen.

The key to true autonomy is that only the owner of a zero-identity rather than any thirty party has full access control over his/her zero-identity unless the owner has his/her guardian or the owner authorizes a thirty party the highest permission.

This is a fundamental protocol which an ideal public autonomous blockchain zero-identity framework is based on. It is a key proposal for building blockchain decentralized autonomous ecosystems, such as decentralized autonomous organization (DAO).

Definitions

Specification

Our proposed decentralized autonomous zero-identity protocol allows a user to register and manage his/her zero-identity and generate a backup zero-identity when he/she interacts with a smart contract. The user has full access control over his/her zero-identity. And this protocol also allows the access control over his/her zero-identity to be transferred to an authorized third party no matter whom that party is. It implements an ideal identity management mechanism in a decentralized autonomous world.

When a user registers a zero-identity, the Decentralized Autonomous Zero-Identity Smart Contract generates a seed as a backup zero-identity automatically. And the user can authorize a thirty party to be either an assistant or a master of the backup zero-identities with a multiple-signature mechanism. The user can designate either any of the possible following new seeds( as a backup zero-identity) or the authorized third party to have the full access control over his/her Acitive Zero-identity. When his/her Active Zero-identity is abolished his/her designated seed or by third party's control, another Ethereum address will be set as a new active zero-identity by the Decentralized Autonomous Zero-Identity Smart Contract.

When the third party management is asked with a lag time, the parties that manage the multiple signatures in the aforementioned multiple-signature mechanism have no access control over the user's zero-identity without authorization of the user's backup zero-identity no matter what access rights this backup zero-identity has.

Rationale

Although blockchain based decentralized autonomy is still in its early stages it has assumed unprededented achievements. This leads us to a strong belief that decentralized autonomy will not only be blockchain's core value but also be a fundamental force that drives blockchain's development and growth.

To achieve decentralized autonomy, a solution to building an identity based on trustlessness and autonomy is needed. This solution may have no similarities with any existing identity management systems in our society. Bitcoin proposes such a solution by introducing a zero-knowledge proof based mechanism which implements identity anonymity by representing an identity in terms of three elements: a private key, a public key and an address. This mechanism gives full access control over an identity uniquely to its owner. This tells that zero-identity based autonomy can effectively protect a user from privacy disclosure. And only this kind of mechanism can achieve de-privacy in blockchain, then it will make blockchain data publicly accessed without concerns about privacy disclosure therefore make blockchain data a public big data system worldwide.

A user himself/herself is the owner of his/her zero-identity. The user can revoke his/her authorization to an authorized third party. However for a minor or person who needs a guardian since he/she may not be competent to fulfill a responsibility, full access control over his/her zero-identity may be given to a third party e.g. his/her guardian while he/she may only be a user of his/her zero-identity. When he/she becomes an adult or a person that no longer needs a guardian full access control over his/her zero-identity will be transferred to him/her with smart contracts.

Backwards Compatibility

There is no backwards compatibility issue.

Implementation

The reference implementation for ERC-1484 may be found in Silkroad-Framework/eip.

Copyright

Copyright and related rights waived via CC0.

Silkroad-zid commented 5 years ago

Very confused with github. Please help me to pull a request to Ethereum's EIPs.