比特幣的多重簽名技術 Multisignature
多重簽名技術讓比特幣可以實現非常豐富的功能,例如支付通道和閃電網絡,這個看似復雜的概念其實基本原理非常簡單。
多重簽名和單簽名不同。標准的比特幣交易只需要進行單簽名,意思是只需要一個私鑰簽署交易就可以轉賬成功了。而多重簽名就要求交易必須附上來自多方的多個簽名。
這個技術已經很成熟了
跟房產過戶一樣的,如果房產證上有你老婆的名字,你老婆不簽字就過戶不了,就賣不掉這房子,即使你們已經離婚了也不行
比特幣破34700美金22萬了,DOT破10美金了,ETH破1000美金了,轉眼間又暴跌了,這個世界真魔幻!一個比特幣快可以買一輛特斯拉了! - 大自然的流風 - 博客園
https://www.cnblogs.com/zdz8207/p/14224574.html
比特幣挖礦還有搞頭嗎? - 大自然的流風 - 博客園
https://www.cnblogs.com/zdz8207/p/14235511.html
何為多重簽名?
如果一個交易需要兩個或者更多簽名才能生效,那么這種情況就叫多重簽名。
多重簽名和單簽名不同。標准的比特幣交易只需要進行單簽名,意思是只需要一個私鑰簽署交易就可以轉賬成功了。而多重簽名就要求交易必須附上來自多方的多個簽名。
多重簽名交易有時候也被叫做 M-of-N 交易。M 指的是交易生效所需要的簽名數量,N 指的是和本次交易相關的各方的總數量。
例如:
1-of-2:Alice 和 Bob 有一個共用的比特幣地址,他們其中任意一個人的簽名都能夠花費掉地址中的錢。
2-of-2:Alice 和 Bob 有一個共用的比特幣地址,他們兩個要共同簽名才能花掉地址中的錢。
當然,N 的取值不局限於2,也可以是3、4 甚至更多,M 的值只要小於等於 N 的正整數即可,不同的 M 和 N 取值可以適合不同的應用場景。上面所說的各方共用的比特幣地址就是一個多簽名地址。
多重簽名地址
多重簽名地址是一種特殊類型的比特幣地址,想要轉出地址中的錢就需要執行多重簽名交易。
Bitcoin Wiki https://en.bitcoin.it/wiki/Multisignature 上介紹了生成一個 2-of-3 的多重簽名地址的過程。簡單來講,一個 M-of-N 的地址需要收集 N 方的地址信息來生成。幣一旦轉入這個地址就需要 M 方共同簽名交易,才能把幣轉出。
多重簽名地址是 P2SH 類型的地址。普通的比特幣地址是由公鑰做哈希后得到的,而多重簽名地址基於腳本哈希,所以能夠實現復雜的交易。關於 P2SH 的原理,這里我們就不展開了。
總之,多重簽名地址是多重簽名交易的前提。
2-of-3 第三方托管服務
多重簽名的意義顯然是防止有人單方面轉走地址中的錢,從某種角度來提高地址中幣的安全性。隨着業務類型的不同,M 和 N 的各自取值也會不同,下面我們以支付寶那樣的第三方托管服務為例,看一下多重簽名的實際業務場景。
第一步,生成一個 2-of-3 的多重簽名地址,涉及到的三方分別是:買方、賣方和中間人。
第二步,買家先把貨款存入多重簽名地址。
第三步,賣家看到多重地址中的款項之后給買家發貨。
第四步,買家收到貨之后發起一個多重簽名交易把錢轉給賣家,並附上自己的簽名。
第五步,賣家簽署這個多重簽名交易,拿到貨款。
以上是一個理想條件下的操作過程,只需要買賣雙方同時簽署交易就可以把錢轉給賣方了,無需第三方中間人的參與。
但是,如果買賣雙方出現爭執,就需要中間人的介入了。例如,賣方發貨后,買方聲稱自己沒有收到貨,於是拒絕簽署交易,這時中間人就可以參與仲裁了。中間人可以和買方共同簽署交易,把錢退還給買方,或者和賣方共同簽署交易,把錢轉給賣方。但是,如果中間人簽署一個把錢轉給自己的交易,那么買賣雙方都會拒絕在這個交易上簽名,所以中間人想偷走地址中的錢也是不可能的。
以上就是基於 2-of-3 的多重簽名來實現第三方托管服務的整個過程了。
總結
比特幣的多重簽名技術,我們就介紹到這里了。整個技術基於多重簽名地址,一旦錢存入了比特幣 M-of-N 多重簽名地址,就需要 M 方簽署交易才能將錢轉出。多重簽名地址給比特幣的創新帶來多種可能。
參考:
https://en.bitcoin.it/wiki/Multisignature
https://www.mycryptopedia.com/multisignature-technology-explained/
比特幣的多重簽名技術 Multisignature
=====================
硬件錢包多重簽名功能介紹
多重簽名是一種特定類型的數字簽名,要求兩個以上用戶共同簽名才能使簽名生效。
多重簽名完全不同於單密鑰簽名,即當資金被存儲在多重簽名地址時,只有提供了多個簽名時才允許轉移資該資金。
即使其中一個人丟失了私鑰,仍然可以用另外的私鑰來轉移資產,從而降低管理私鑰過程中的各種風險。
單密鑰簽名丟失的風險太大了,密鑰丟了,硬件錢包壞了,各種異常情況都可能導致密鑰找不回來了
如何在硬件錢包中創建“多重簽名”?
需要一個具有“多重簽名”功能的錢包
1. 用硬件錢包創建一個自己的錢包
2. 用熱錢包成功監控冷錢包;
3. 選擇要進行多重簽名的幣種,並創建多簽地址 (如BTC);
4. 點擊右上角三個點;進入后點擊“+”創建多簽地址,輸入多簽地址備注名,完成后點擊創建。
5. 添加合伙人並導入合伙人的公鑰;
6.添加合伙人——輸入合伙人姓名——掃碼導入合伙人公鑰——點擊下一步——點擊完成
注:設置后無法進行修改,轉出資產時需要設置的幾名合伙人的簽名才能成功轉出。
7. 讓各位合伙人掃描二維碼導入多簽地址就創建完成啦
8. 最后分別在熱錢包進行查看即可
注:需要合伙人用監控冷錢包的熱錢包去掃碼二維碼。
其他硬件錢包操作或略有差異之處,但基本原理都一樣。
合伙人如何查看自己幣種的公鑰,以BTC為例。
1、打開自己創建的硬件錢
2、選擇並打開對應的幣種BTC
3、選擇“高級”功能選項,點擊“導出公鑰”功能
4、選擇系統提示給出的第1個默認地址
5、點擊“確認”確定要導出該地址的公鑰
6、彈出幣種地址公鑰的二維碼
7、讓創建“多重簽名”的合伙人用硬件錢包的“掃一掃”功能即可完成添加公鑰。