多重签名:让比特币从玩具变工具

在实际应用中,数字货币和普通货币相比,最大的特色就是可编程。它可以通过程序玩出很多花样来。其中最经典的就是多重签名,后来也升级成了智能合约。在比特币里面,可以通过多重签名的方式,实现多个私钥也就是密码控制一个账户。就是当想要动用一个账户里的数字货币的时候,需要多个密码进行授权。你可以想象成一把锁上门有好几个钥匙孔。它的基本原理是:一个多重签名账户可以关联N个私钥,在转账的时候,只需要其中的《=N个私钥签名就可以把资金转移了。

比如1/3配置:就是3个密码使用任意其中一个就可以动用里面的资金。这个就很适合拿来做财产共享,很像联名信用卡。而且跟共享密码不一样,他可以追踪到底是谁动用了钱,而不会说不出现说不清楚到底是你用的还是我用的问题。

2/3配置:就是三个密码里面使用任意当中的两个都可以动用资金。你可能马上就想到诶,这个可以拿来做电商啊,我们知道淘宝早期的一个关键创新就是支付宝的中介支付。卖家如果不发货的话,平台可以仲裁退款。在2/3配置下,可以随便找一个你们都认可的第三个人来做仲裁,只要你们三个人当中的任何两个认可,这笔交易就可以正常发生。一般情况下你们两直接确认就行了,有纠纷的时候,某一方单独联合那个第三方也能发起付款。

3/3配置:就是三个账户必须都授权才可以动用。这就很适合做资金监管,我们都知道在公司里面经常有各种流程,需要张总、王总、李总都同意才能发起付款。一般的财务系统是很难用的,也非常不灵活。通过多重签名你可以根据需要,专门为某种款项设计支付规则。如果你设计成2/2的话,别人找你借钱的时候,就可以说我们家的大额支出需要多重签名。就像很多男人会说,在我们家大事我做主,小事老婆做主,但是我们家没大事。多重签名还可以用于防止腐败,很多贫困国家的捐款,中间被层层腐败掠夺,最后老百姓拿到的其实并没有多少。其他的还包括政府公共款项的管理、大型国企、社保基金等等。

你看,数字货币就不只是拿来炒一炒的投机品了吧,很有从玩具变成工具的味道。

多重签名并不是一开始就有的功能,在比特币刚发布的时候,只能通过一个私钥进行控制。这就意味着,不管是谁,只要获得私钥,就能支配该公钥名下的比特币。钱少无所谓,大额账户就必须得有一些保护措施。对于一个安全、可靠的系统来讲,免疫单点故障是非常重要的。最早也有一些土办法,就是把私钥分成很多份,分开保管,但是这种土方法存在问题,什么问题呢,就是土啊,即不方便也很不智能。

后来,2011年12月20日,比特币核心开发团队就把这个多重签名的功能加入到比特币的核心代码里面。2012年1月,首个多重签名类型的交易出现在区块链上。最初将私钥最大数量限定为3个,后来其实已经可以扩展到最多支持15个私钥。生成比特币多重签名地址只需要两步,首先确定签名私钥的个数,其次,确定转账时需要几个私钥进行签名就可以了。

你可能会问为什么叫多重签名而不加多重密码呢,这就要说到数字签名,在非对称加密里面,要证明你是一个公钥的拥有者,并不是直接把私钥发布出来,那样大家就都知道你的私钥了。怎么做呢,你可以用私钥随便加密一句话,比如“比特币是工具不是玩具”,把加密过的信息和没加密的这句话两个都发出来,其他人就可以用你公开的那个公钥去解密一下,看看解出来的是不是“比特币是工具不是玩具”。不公开私钥,但是证明自己有私钥的这个过程,就叫数字签名。

当然转账的时候会稍微麻烦一点,不但要证明是账户主人发起的,而且要保证这笔转账请求没有被修改过,本来付给对方1个比特币,不能被改成付10个比特币了。那就不是签名一句话了,而应该是用私钥加密整个交易信息对吧,但是交易信息又太庞大了,所以更简单的方法是给交易信息算一个hash值也就是摘要,对这个hash值进行签名加密。然后把这个签名加密信息和转账交易信息一起发出去,矿工收到以后,他先用你的公钥解密得到一个hash值,然后他把那段没加密的转账说明自己算一个hash出来,两个比对一下是一样的话,就可以确定这笔交易即是合法的,也没被纂改过。

多重签名意义非常重大,你想想就会发现,其实不仅仅可以用于转账,他的本质其实是一种多方协议机制。而且因为是在区块链上跑的,所以不可纂改,所以就像现实世界的法律合同。可以说多重签名让区块链脱虚向实,从玩具升级成了工具。也是区块链2.0的基础,智能合约就是在这个基础上发展起来的。

你可能感兴趣的:(多重签名:让比特币从玩具变工具)