Contract-Development
離線簽名的多簽合約
是否有可能創建一個不需要每個簽名都進行交易的多重簽名合約(因為這對於更多數量的交易來說是相當昂貴的)?
是否可以離線收集簽名並在一次鏈上交易中廣播所有簽名?
謝謝
是的。您可以通過使用成員密鑰的簽名而不是事務來實現這一點。
為此,多重簽名的每個成員都可以簽署一條消息,證明他們批准了交易。然後,他們可以將簽名提供給單個實體,該實體廣播包含所有簽名作為數據的交易。在鏈上,智能合約將獲取每個簽名並恢復每個簽名者的原始地址,並將其與儲存在映射中的地址映射進行比較。
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。