通过阅读合约源码,我们可以理解Ownbit和Gnosis这两种以太坊多签方式的实现原理和优缺点。
近期,Ownbit多签在管理的资金总额方面增长迅速,目前单单ETH/ERC20多签的资金总额已经超过了1亿美金。而Gnosis是另一种较为广泛使用的ETH/ERC20多签钱包。
Ownbit和Gnosis都是通过合约账户来实现以太坊多签,但是它们的实现逻辑却有很大的差异。它们分别代表了当前两种主流的实现方式。我们通过阅读合约源码来解析它们的实现原理和各自的优缺点。
首先,我们在etherscan上选择一个Ownbit和Gnosis多签地址,并在“Contract”页面上查看相应的源码。Ownbit多签合约的名称是OwnbitMultiSig,而Gnosis多签合约的名称是MultiSigWallet。
一个M-N多签的含义是,在有M个人管理资产的情况下,当其中N个人同意时,可以花费该笔资产。在以太坊中,一个地址(私钥)代表一个人。要表示您同意花费某笔资产,有两种方式:
- 用您的私钥对相应的花费(金额、目标地址等)进行签名,并给出签名结果;- 用您的私钥发送一笔以太坊交易,调用特定的接口,并提供特定的参数。
Ownbit多签使用了第一种方法,而Gnosis多签使用了第二种方法。
Ownbit多签和Gnosis多签在构造函数上几乎一致,只是在一些细节处理上Ownbit做了一些优化。构造函数验证传入的owner地址的唯一性和非零性,以及owner人数和最少签名人数的常规检查。
Gnosis实现多签的逻辑如下:任意一方通过submitTransaction方法提交交易,得到一个交易号。value是将要转移的以太币数量,data是该交易的数据。data可以传入任何数据,从而实现任意功能。其他参与方通过confirmTransaction方法提交交易确认,当满足最低要求的确认人数时,执行交易的内部逻辑。
Ownbit实现多签的逻辑与Gnosis不同。Ownbit可以理解为一种线下方式,参与方在线下对即将执行的交易进行签名,生成签名结果。任意一方发送以太币交易,调用合约的spend或spendERC20方法,并将签名结果验证通过后,相关转币逻辑将被执行。
这两种实现方式各有优缺点。Gnosis方式的优点是避免了复杂的签名计算,同时具有更好的审计性。但其缺点是每个参与方都需要发送交易,导致多次花费手续费,以及交易逻辑隐藏在data中,可欺骗性大。而Ownbit方式的优点是经济性,使用更为广泛。但其缺点是不具备线上审计性。
了解这两种实现方式的原理对于理解以太坊多签是非常有帮助的。多签资产的安全关乎几百行代码之间的逻辑,因此理解并掌握这些实现方式都是开发和使用以太坊多签的必要技能,也是对智能合约编程能力的提升。
以上就是文梦网小编要带给您的关于比特币资讯网分享以太坊多重签名技术分析:以Ownbit与Gnosis为例的相关内容。如果对像有帮助。迎常来本站哦
标签: 以太 以太坊 太坊 比特币 比特币资讯 比特币资讯网 特币