首先从本质上来讲的话,比特、以太、EOS等本质上来看,其多重签名功能本质没什么区别,都是想解决多人共管资产的问题,因此目的都是一样。
如果大家用过一些对公账户或者是银行里多人管理账户的话,应该知道如果有一个人申请要花5万块钱,然后另一个人得审批两个U盾一起共管资产,这都是对公账户管理的基本功能。
像比特币这类的区块链上,只不过说区块链本身支持这类的功能而已,所以目的都是一样的。不过由于各个区块链的特点不同,各个区块链的特点不同,其实现的方式便不同。在安全和功能性上,多重签名实际上有不少差异。
接下来大家讲一讲技术上的一些差别。
1. 比特币的多重签名从最初诞生至今,实际上变化不大,跟今天的使用的脚本大同小异,使用的就是P2SH来做到多人共管资产。
从安全性角度上讲,我指的安全不是刚才说的冷钱包安全,或者是什么硬件钱包安全,我指的安全实际上是从脚本安全或者合约安全和区块链安全这个层面来讲。
从合约安全的角度上讲,因为P2SH是比特币最基本的脚本合约,它定义的内容非常简单,比如我刚才提到的三个人共管资产,实际上就是把这三个人的公钥做成一个redeem script,然后对它做redeem script之后的结果做哈希。
它的规则非常简单,定义方式和使用方式都非常简单,因此你可以把它当成是没有任何区块链合约风险,也就是说你很难在这块有什么安全漏洞。
这个是从安全性角度上讲,从功能性角度上讲,因为它定义的合约脚本非常安全,非常简单,所以说上边只能做这种最基本的定义。比如说你可以定义2-3的多重签名,也就是说三个人提供公钥,然后两个人可以花钱,或者是3-5或者是1-7都行,无所谓,你可以自己灵活的定义这些。它定义的都是几个人共同管理资产,其中几个人能够花这么一个多重签名。
2. 说完比特币之后,我再给大家谈以太坊。以太坊的多重签名功能需要你去编写智能合约,因为以太坊是图灵完备的智能合约区块链平台,需要你自己去写代码,这种方案的好处就是灵活。
也就是说除了刚才说的比特币多重签名,在以太坊上你可以写很复杂的逻辑。比如说我们可以假定说这个人他有资格花10% 的钱,另一个人有资格花30%的钱。当然这里面还可以加其他逻辑,比如说这个人在某年某月某日之后,他终于开始可以花钱。这些都可以写,就跟写程序一样,你可以写很多很复杂的逻辑。
所以从这个角度上讲,以太坊的智能合约方案的好处就是可以写出非常功能丰富的多重签名合约,这是优点。但也有缺点,灵活性和复杂度会增加它的安全性风险。
历史上以太坊的官方钱包 Parity 就曾出过非常严重的多重签名合约漏洞(并且在半年的时间里先后出了两次大漏洞),曾导致多个采用了 Parity 多重签名方案的项目方损失了大量的 ETH。
比特护盾 bithd.com 是全球首个支持以太坊多重签名的硬件钱包。由于之前两次的 Parity 多签漏洞,我们在选择多签合约时是非常慎重的,选择了在以太坊社区采用最为广泛、托管资产最多的智能合约,并且,尽可能少提供复杂功能,仅满足最基本的多签需求,这是我们在以太坊上支持多签的基本原则。
像AE这类项目,人家是自己能开源智能合约的,和一些空气币的项目他还不太一样,结果反过头来很倒霉。
3. 可能是因为目睹了以太坊上的 Parity 多签悲剧,EOS 多重签名从一开始就被定义在了系统合约中(而不像是以太坊那样使用的是任何人自行编写的合约),因此,从合约安全性上,EOS的多重签名其实相当于是区块链底层级别保证的合约安全,这其实是有一定好处的,虽然这样会丧失一些灵活性,但起码不用担心写错合约而导致巨大风险。比特护盾也是全球首个支持 EOS 多重签名功能的硬件钱包。
然后包括EOS多签,由于从一开始就做到了系统层面,刚才鲸交所这边有提到鲸交所的智能合约都是多签管理,一开始就如此做,确保巨鲸的去中心化交易所的公信力。
然后另外一点是我们实际上还知道的一些,就是说,包括我们比太、比特派之前在做币圈复活节的EOS生态活动的时候,当时有业内的合作伙伴,包括佳能社区等等,它们在CPU资源上给了我们巨大的帮助。
在他们帮助我们时候,我们发现有非常多EOS链的项目方都是多签管理资产,股权管理资产,他们当时大额币的那种租借都是有七个人签名的。
4. 再说一下USDT, USDT是基于比特币的一个扩展链,所以本质上来讲,USDT的多重签名,他就跟比特币的多重签名是一回事儿,实际上你是真正在多签的还是比特币的交易。
也就是说我给你发1万美金的USDT,实际上我发的还是比特币。所以说它的多重签名功能没这么复杂。
我们近期会在比特派上做USDT的多重签名,因为要的人非常多,现在拿硬件钱包来管理大额资产非常多,然后多人共管的也非常多,所以我们会在两三周之后提供比特护盾的全面多签功能,不出意外的话,比特护盾也是支持USDT的全球首个多重签名的硬件钱包。