日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 通信技術(shù) > 移動通信
[導(dǎo)讀] 簡介 多重簽名技術(shù)(mulTIsig)就是多個用戶同時對一個數(shù)字資產(chǎn)進(jìn)行簽名??梢院唵蔚睦斫鉃?,一個賬戶多個人擁有簽名權(quán)和支付權(quán)。 如果一個地址只能由一個私鑰簽名和支付,表現(xiàn)形式

簡介

多重簽名技術(shù)(mulTIsig)就是多個用戶同時對一個數(shù)字資產(chǎn)進(jìn)行簽名??梢院唵蔚睦斫鉃椋粋€賬戶多個人擁有簽名權(quán)和支付權(quán)。

如果一個地址只能由一個私鑰簽名和支付,表現(xiàn)形式就是1/1;而多重簽名的表現(xiàn)形式是m/n,也就是說一共n個私鑰可以給一個賬戶簽名,而當(dāng)m個地址簽名時,就可以支付一筆交易。所以,m一定是小于等于n的。

舉幾個例子:

多重簽名2/3,表示3個人擁有簽名權(quán),而兩個人簽名就可以支付這個賬戶里的比特幣;

多重簽名1/2,表示2個人可以簽名,兩個人擁有私鑰,誰都可以來支配這筆資金。

多重簽名技術(shù)的原理并不是很復(fù)雜,但它增加了第三方的介入保障,可以實現(xiàn)現(xiàn)實場景中需要第三方介入的很多的應(yīng)用場景。與傳統(tǒng)的第三方介入不同的是,這個介入必須是交易之前就提前確定好的,而事后是不能進(jìn)行改變的。

流程

以下以 metaverse 元界公鏈 cli 命令作為演示范例。

每一個參與者通過 getpublickey 獲得某個地址的公鑰,該公鑰對應(yīng)的私鑰用于簽名隨后創(chuàng)建的多重簽名交易,并把該公鑰告知其他所有參與者;

每一個參與者各自通過 getnewmulTIsig 使用自己的公鑰創(chuàng)建簽名約束條件相同(即相同的m,n以及公鑰列表)的多重簽名,得到相同的以3開頭的多重簽名地址:“支付到腳本哈希”模式 P2SH(Pay-to-Script-Hash);

某個參與者通過 createmulTIsigtx 使用多重簽名地址發(fā)起一筆多重簽名交易;可以使用 decoderawtx 命令查看該交易詳情;

m個參與者依次通過 signmulTIsigtx 對多重簽名交易進(jìn)行簽名,每一個參與者通過鏈下的方式從前一個簽名參與者獲得已部分簽名的交易;

通過 sendrawtx 廣播擁有足夠多簽名的多重簽名交易。


范例

該范例涉及到三個用戶:test,testam 以及kesalin。

1. 獲取和傳播公鑰

每一個參與者通過 getpublickey 獲得某個地址的公鑰,該公鑰對應(yīng)的私鑰用于簽名隨后創(chuàng)建的多重簽名交易,并把該公鑰告知其他所有參與者。

// testam 獲取公鑰
命令:
./mvs-cli getpublickey testam testam "MCJ6vpdCYsVD34XFC22fhqDLfHo7ZtnyM2"
輸出:
{
  "address" : "MCJ6vpdCYsVD34XFC22fhqDLfHo7ZtnyM2",
  "public-key" : "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e"
}

// kesalin 獲取公鑰
命令:
./mvs-cli getpublickey kesalin kesalin MHaKHUFwAdcszvQarCmn1Rkq2uRoPQjZwm
輸出:
{
  "address" : "MHaKHUFwAdcszvQarCmn1Rkq2uRoPQjZwm",
  "public-key" : "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02"
}

// test 獲取公鑰
命令:
./mvs-cli getpublickey test 123456 MKXa7mtzNaGCEF9vM2sUmmTS93iDpHYd4m
輸出:
{
  "address" : "MKXa7mtzNaGCEF9vM2sUmmTS93iDpHYd4m",
  "public-key" : "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9"
}


2. 創(chuàng)建多重簽名

每一個參與者各自通過 getnewmultisig 使用自己的公鑰創(chuàng)建簽名約束條件相同(即相同的m,n以及公鑰列表)的多重簽名,得到相同的以3開頭的多重簽名地址。

范例中每一個參與者通過 -s 指定自己的公鑰以及 -k 指定其他參與者的公鑰創(chuàng)建 m:n 為 2:3 的多重簽名,得到相同的多重簽名地址 "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR"

// testam 創(chuàng)建多重簽名
命令:
./mvs-cli getnewmultisig testam testam -m 2 -n 3 -s "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e" -k "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02" -k "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9" -d "multisig test"
輸出:
{
  "address" : "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR",
  "description" : "multisig test",
  "index" : 1,
  "m" : 2,
  "multisig-script" : "2 [ 02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9 ]  [ 03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e ]  [ 03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02 ] 3 checkmultisig",
  "n" : 3,
  "public-keys" :
  [
    "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9",
    "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e",
    "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02"
  ],
  "self-publickey" : "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e"
}
// kesalin 創(chuàng)建多重簽名
命令:
./mvs-cli getnewmultisig kesalin kesalin -m 2 -n 3 -s "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02" -k "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e" -k "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9" -d "multisig test"
輸出:
{
  "address" : "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR",
  "description" : "multisig test",
  "index" : 1,
  "m" : 2,
  "multisig-script" : "2 [ 02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9 ]  [ 03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e ]  [ 03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02 ] 3 checkmultisig",
  "n" : 3,
  "public-keys" :
  [
    "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9",
    "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e",
    "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02"
  ],
  "self-publickey" : "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02"
}
// test 創(chuàng)建多重簽名
命令:
./mvs-cli getnewmultisig test 123456 -m 2 -n 3 -s "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9" -k "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02" -k "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e" -d "multisig test"
輸出:
{
   "address" : "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR",
   "description" : "",
   "index" : 1,
   "m" : 2,
   "multisig-script" : "2 [ 02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9 ]  [ 03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e ]  [ 03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02 ] 3 checkmultisig",
   "n" : 3,
   "public-keys" :
   [
     "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9",
     "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e",
     "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02"
   ],
   "self-publickey" : "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9"
}


3. 往多重簽名地址發(fā)送幣

參與者按照合同需求往創(chuàng)建的多重簽名地址上發(fā)送虛擬貨幣。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉