什么是维基链多重签名技术
扫描二维码
随时随地手机看文章
维基链即将在最新发布的版本中添加支持多重签名的转账交易技术新特性。在这之前个人转账交易只能是发起方签名,从而无法实现类似淘宝上买卖双方完成支付而通过淘宝平台三方担保的这种使用场景。因此维基链多重签名技术为打开更多丰富多彩的上层应用创造了机会。
什么是多重签名?
多重签名(Multi Signature)指的是需要多个密钥来授权一个数字货币交易,它通常被用来界定对数字货币的所有权。传统的数字资产账户中,你的数字货币地址中,每一个地址都有一个对应的私钥,可以称为“单签名交易”。而多重签名地址,可以有多个相关联的私钥,你需要其中的多个才能完成一笔转账。
对于 M-N 多重签名,其中 1≤ M ≤ N,就是由 N 个人分别持有 N 个私钥,至少需要其中 M 个人同意签名才可以动用某个“多签地址”的资金。实际上,你也可以设置成1/3、5/5、6/11,但是最常见的是2/3的组合,即,需要 3 个人中的至少 2 个人同意签名才能动用这个“多签地址”的资金。
多重签名的作用
提升资产安全性
如果采用单独的私钥,尽管以目前的密码学可以保证无法被暴力破解,但是这个私钥不保证会以其他方式(如黑客通过木马,自己不小心暴露等)暴露出去的话,那么对应的数字资产也同时暴露无遗。此时如果公钥是由多重签名方式生成,那么即便被盗取了其中一个私钥,盗取者也无法转移对应的数字资产。
扩展使用场景
资金监管:一笔钱需要多个人签名才能使用,任何一个人都无法直接动用资金。例如,由三个合伙人共有的资金账户,至少需要其中两人同意才能使用该资金账户的资金,防止任何一个人非法挪用资金。
电子商务:在买家与卖家的基础上,加入一个仲裁角色的“中介者”,通过 2-3 多重签名模式,当买家与卖家发生纠纷时,仲裁者根据实际情况,确保资金公平地划分,保证交易中诚实的买家或卖家。
维基链的多重签名实现方式
维基链作为第三代公有链,拥有图灵完备的智能合约,因此,一方面,智能合约天然支持多重签名;另一方面,维基链将多重签名交易作为一种基础的交易类型实现,具有如下特点:
1. 全面的 RPC 支持:例如,生成多签地址、查看多签地址脚本、创建多签交易、给多签交易签名等,进一步降低用户使用门槛。
2. 降低多签交易大小:借助于维基链特有的账户唯一对应的 RegID(注册 ID,能够唯一标识某一个维基链账户),序列化之后大小为 6 字节左右,相对于比特币多签脚本中公钥的长度 33 字节,极大地减少了交易结构的数据量。
维基链多重签名具有使用简单、实现高效的特点,通过对多重签名交易的支持,更好地满足用户与开发者的需求。
2-3 多签示例
1. 生成多签地址与脚本
通过decodemulsigscript解析多签地址脚本
2. 往多签地址转账1000000
过一段时间,到账后,查询多签账户余额
3. 创建一个新地址(普通地址)
4. 花费 2-3 多签账户wPUEMcjoyNvuwcXmuZLhZn4GMmD3CYkB4j,
往地址waGfQtRkcM6XoPG1jVSHGGp3DuZCLZeiep
转账100000,小费10000
5. 使用 0-3、0-5 对交易签名
通过decodetxraw查看该交易
6.提交该交易
7. 查看该交易
8. 确认多签交易账户、接收方账户余额