Getting to know MetaID

​ First of all, MetaID is a distributed DID system. If you don’t understand the DID system, you can look at the related definition description (https://www.w3.org/TR/did-core/). Secondly, it is based on Metanet. Protocol, MetaID is essentially a discrete transaction on the blockchain, passing through wallets, applications, etc. and directly at individuals. Through a consensus, DID is separated from the wallet from the application, connecting people’s transactions, and at the same time Give control to users, not wallets or platforms, so that more value can be given to these transactions.

​ The level of this protocol is BSVMainnet --> matanet --> metaid --> subMetaProtocol , each layer of protocol is based on his lower-level protocol to complete more abstraction, or directly through the underlying facilities to improve and achieve its own level Features.

So let's simply look at the situation underlying protocol.

​ First of all, everyone is familiar with the BSV mainnet. The unique UTXO model, the op_code added back after the creation upgrade, and the unlimited block limit make the bsv mainnet have unlimited possibilities. I will not describe it here. .

​ And Metanet (https://nchain.com/app/uploads/2019/06/The-Metanet-Technical-Summary-v1.0.pdf), during the period of launch, research on metanet has become more and more Many, metanet proposes a solution to aggregate tx, which is convenient for us to aggregate discrete tx together. At the same time, it is endowed with features such as authentication and version replacement. It is more convenient for us to aggregate personal transactions together. A more convenient consensus has been formed in our minds:

​ MetaID is a consensus between wallets between applications. Applications return personal data control to users. Applications can be authorized to obtain user information that needs to be obtained. Applications will provide more services through information that has broken barriers. All current users can choose not to authorize untrusted applications and only use the most basic Info information.

MetaID (https://www.metaid.io/meta_protocol)

The goal of MetaID

  • Users only need a master private key pair on the BSV network to use all applications that support MetaID;

  • The user's basic information and application transaction data are recorded on the Metanet node that he owns, so that user data has nothing to do with the wallet party and the application party, and the user completely controls his own data.

  • Data between different applications can be connected to each other, eliminating information islands between applications;

  • Data of different protocols can be combined with each other under MetaID association, greatly reducing BSV application development work;

  • MetaID has flexible scalability, application/protocol formulation parties can easily join or modify the protocol they need to support a variety of applications;

The basic data format of MetaID

<Metanet Flag><P(node)><TxID(parent)><MetaID Flag><node Name><data><encrypt><version><data Type><encoding> 

MetaID is based on metanet, so the first three parts are also the basic protocol requirements of Metanet. Here we use pubkey as the identification of Pnode, which can facilitate subsequent application encryption. The values ​​of the latter part are as follows

key value
MetaID Flag Fixed as "MetaID"
node_name Node ID name, a required field.
data Data content corresponding to the storage node
encrypt Identifies whether the content of the node is encrypted. This protocol version supports two methods: 0 means no encryption; 1 means ECIES encryption, that is, the encryption key is the public key of the corresponding node, and the private key of the corresponding node path is used for decryption. The default is 0 without encryption.
version The version number of the node type. Different version numbers mean that the format of the data content is different.
data_type Optional items. For the data type corresponding to data, please refer to: https://www.iana.org/assignments/media-types/media-types.xhtmls. The default is text/plain
encoding Optional items. For the encoding format corresponding to data, please refer to: https://www.iana.org/assignments/character-sets/character-sets.xhtml. The default is UTF-8,

The basic structure of MetaID

There are only two child nodes under the root node of MetaID, namely "Info" and "Protocols".

MetaID

  • The Root node is the MetaID of the user
  • Info is the user's basic information node. Record basic information such as user name and profile picture.

  • Protocols are protocol nodes. Record transactions generated by users using relevant agreements.

In this way, third-party applications can easily obtain the user’s avatar and nickname. Of course, sensitive information is stored encrypted. The application can only obtain the real data decrypted by the user’s private key after obtaining the user’s authorization.

The Protocols node agrees to store the data generated by the user's application, and the user can authorize a third party to insert the data (which means that if the user does not want their data to be related to each other, they can choose not to authorize these applications, and the application can also be similar to the Linux system The way of soft connection hides transaction association)

In this way, data belongs to users, and data control also belongs to users. With more data, greater value can be generated, playing the role of 1+1>2.

Protocols node

The Protocols node records the transactions of users using various third-party protocols. The child node under the Protocols node is a third-party protocol node, and its node_name should be the name of the protocol. After the protocol is specified, all protocols can be related to each other. For example, the like agreement can like any tx, which means you can like other protocols. /Personal, and the wallet or the application that provides push, you can push any operation to your terminal, just like a traditional Internet application.

Having said so much, how to create MetaID? You can refer to the previous blog https://blog.csdn.net/percyWangcn/article/details/106901024.

And the next article will introduce a series of MetaID-based services.

Guess you like

Origin blog.csdn.net/percyWangcn/article/details/107142596