Contract-Development

離線簽名的多簽合約

  • September 27, 2020

是否有可能創建一個不需要每個簽名都進行交易的多重簽名合約(因為這對於更多數量的交易來說是相當昂貴的)?

是否可以離線收集簽名並在一次鏈上交易中廣播所有簽名?

謝謝

是的。您可以通過使用成員密鑰的簽名而不是事務來實現這一點。

為此,多重簽名的每個成員都可以簽署一條消息,證明他們批准了交易。然後,他們可以將簽名提供給單個實體,該實體廣播包含所有簽名作為數據的交易。在鏈上,智能合約將獲取每個簽名並恢復每個簽名者的原始地址,並將其與儲存在映射中的地址映射進行比較。

Gnosis Safe 在這裡做。

Christian Lundkvist的Simple Multisig要求在一次交易中發送所有簽名。

它有一個執行函式來驗證簽名並執行請求的操作:

function execute(
   uint8[] sigV, 
   bytes32[] sigR, 
   bytes32[] sigS, 
   address destination, 
   uint value, 
   bytes data, 
   address executor, 
   uint gasLimit) public

上一版本作者有一篇文章:Exploring Simpler Ethereum Multisig Contracts

引用自:https://ethereum.stackexchange.com/questions/87796