DID生成

DID生成

1、百度DID

DID格式:did:ccp:<method-specific-id>

其中<method-specific-id>=base58(ripemd160(sha256(<Base DID Document>))) (參考比特幣,使用雙 hash)。
其中<Base DID Document>:

  {
  "@context": "https://w3id.org/did/v1",
  "publicKey": [
    {
      "id": "#keys-1",
      "type": "Secp256k1",
      "publicKeyHex": "02b97c30de767f084ce3080168ee293053ba33b235d7116a3263d29f1450936b71"
    },
    {
      "id": "#keys-2",
      "type": "Secp256k1",
      "publicKeyHex": "4b4042665b3235a12fb49730ff620fef1c96e9efa5c90119abd2e8acfe856053"
    }
  ],
  "authentication": ["#key-1"],
  "recovery": ["#key-2"]
}

在<Base DID Document>中定義了兩個公鑰,#keys-1主私鑰對應的公鑰,#keys-2為備私鑰對應的公鑰。
生成秘鑰的算法支持:

  • Secp256k1
  • RSA(TBD)

2、Ontology DID

DID格式:did:ont:idString

其中idString生成規(guī)則:

  1. 生成32字節(jié)的隨機nonce,計算h = Hash160(nonce),data = VER || h;
  2. 對data計算兩次SHA256,并取結(jié)果哈希的前4字節(jié)作為校驗,即checksum = SHA256(SHA256(data))[0:4];
  3. 令idString = base58(data || checksum);
    上述過程中,|| 表示連接前后兩個字節(jié)串,VER 是1個字節(jié)的標簽位。

ONT ID需要在本體區(qū)塊鏈上注冊之后才能生效,可以在應用中使用。同一個ONT ID不能重復進行注冊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容