掌握比特币II:支付方式
文章目录
【注意】最后更新于 July 12, 2018,文中内容可能已过时,请谨慎使用。
今天了解了下比特币的支付方式,发现以前的了解太麻烦了,今天就多查了查资料弄明白点。
前言
首先我要吐槽下,比特币的国内相关资料真的是很无奈,全是互相抄,而且有的内容就像机翻,完全理解不了啥意思。
简介
首先我们解释几个常见的词。 P2PKH:Pay-to-Public-Key-Hash,就是指向一个公钥哈希付款。 用户的公钥地址具体的计算方式不做介绍了,是通过多次哈希计算最后编码得到的。当然,每个用户的地址最前面是一个1,是因为加了一个0x00的前缀编码出来的。 MultiSig:多重签名。也就是说一笔交易需要好几个人来共同确认才能使用。 P2SH:Pay-to-Script-Hash,就是指向一个脚本付款。 这个的含义可以理解成原来向一个人转账,只要那个人证明他是他,就可以收到了。情况太简单,无法满足复杂的逻辑,因此复杂的需求可以使用本方式进行支付。
P2PKH
前面我们简单介绍了下P2PKH,现在我们详细介绍下P2PKH的工作原理。 粗略了解支付方式的人都知道,这种支付方式是小王说给小宁转10块钱,小宁拿出来她身份证,证明了她是她,就可以把钱拿走了。 可是具体的工作流程呢? 第一步,小王转账,不能随便让人取走,有一个对钱的锁定脚本
|
|
第二步,小宁要取钱,需要把这个脚本解锁
|
|
如果一切都正确,小宁就可以取走钱了。 接下来是具体的工作流程
|
|
看着挺简单,但是很有效。小宁花钱让人相信,可是小王花钱就有问题啦。 小宁给小王转账的时候发现,小王总是拿着钱偷偷的买吃的,没有其他人看着他。P2PKH就不够用了。
MultiSig
小宁想,如果小王在取钱的时候,需要其他几个人一块来通过,才能取到钱,就好了。所以,以后小王每次取钱都拉着大脸猫等人一块去了。
P2SH
P2SH是在MultiSig之后提出的,可以实现它的功能,当然,还支持更多的功能。在这,我们继续以转账为例子。 首先,小宁跟小王商量好了,小王取钱,必须得找到懒熊,大脸猫等人一块才行。
|
|
当然,具体商量的内容小宁不用单独提供,就提供个哈希就好了。小王想取钱,商量的内容拿出来。
|
|
这个就是小宁小王商量好的内容,小王要拿出来才能取钱。小王这次准备拿出来自己的签名以及大脸猫的签名一块来取钱。
|
|
接下来是具体的执行内容
|
|
这么一看,转账灵活了许多,可以使用多重签名来转账,也可以实现一些其他的转账交易。
区别
这两个支付方式的名称实际取得很形象,一个相当于直接转给了公钥地址,一个是没有直接转给一个人,而是转给了脚本,需要执行了脚本才能取出钱
结束
本文为了方便理解,使用例子的方式介绍,其中名称均为化名,请勿猜测实际含义。
参考文献 1. P2PKH脚本验证 2. P2SH地址与MultiSig 3. Pay_to_script_hash 4. Bitcoin multisig the hard way: