为了账号安全,请及时绑定邮箱和手机立即绑定

一分钟读书俱乐部(四十九):《区块链技术驱动金融》零验证交易和费用替代策略

标签:
区块链

「力场」——公链挖矿第一社区


原文精选:在第2章我们讨论了零验证交易,即一旦交易在网络中广播,接收方就立即接受交易。零验证交易不是用来防止重复支付的,但由于矿工的缺省行为是把先接收到的交易放入交易池,这样,在零验证交易里就很难实现重复支付,同时,由于零验证交易非常方便,因此变得越来越普及。


自从2013年,矿工的缺省行为变成了“费用替代策略”, 即节点在遇到有冲突的交易时,会把交易手续费更高的交易放进自己的交易池,把手续费更低的替换出去。站在矿工的角度,由于收益更高,因此也是理性的选择——至少在短期看是这样。但是这种费用替代策略却使多重支付攻击变得更容易了。


因此,费用替代策略受到了不少争议,这些争议一方面从技术层面讨论在费用替代策略中是否可以真正阻止多重支付;另一方面从哲学层面讨论比特币是不是应该要尽可能支持零验证,或直接放弃费用替代策略。我们这里就不再赘述这些讨论了很久的争议了,但最近比特币核心代码倒选用了“有选择权的”(opt-in)费用替代策略的做法,也就是交易可以标记自己是否适用费用替代策略。


读书笔记:

1,零验证交易,即一旦交易在网络中广播,接收方就立即接受交易,零交易验证不容易被双重支付。

2,“费用替代策略”, 即节点在遇到有冲突的交易时,会把交易手续费更高的交易放进自己的交易池,把手续费更低的替换出去。

3,比特币核心代码选用了“有选择权的”(opt-in)费用替代策略的做法,也就是交易可以标记自己是否适用费用替代策略。


原文精选:上面说的是交易的传播。至于区块的传播,即矿工挖到一个矿(打包一个区块),然后将区块加入区块链,这个过程与新交易的传播过程类似,也受同样竞态条件的限制。如果两个有效的区块同时被挖到(也就是有两个矿工同时获得了记账权力时),只有其中一个区块可以进入长期共识链,哪个区块被最终纳入长期共识链取决于其他节点选择在哪个区块上扩展区块链,未被纳入的一个即被丢弃。


webp


核验一个区块要比核验一个交易复杂得多。除了确认区块头部,确定里面的哈希值是在可以接受的范围内,节点还必须确认区块里的每个交易。最后,一个节点往外传播的区块必须是最长的一条区块链上新加入的区块(当然,“最长的区块链”取决于节点对区块链当前状态的认识)。只有这样才可以防止区块链分叉。但就像传播交易时一样,节点同样可以执行它自己的逻辑:它可以选择传递无效的区块,也可以选择传递在共识链上更早加入的区块而不是最新加入的区块。这样就会造成一个分叉,不过这种情况是协议可以承受的。


读书笔记:

1,blockchain.info的网站上可以看到比特币的所有交易。

2,想更好了解比特币的区块和交易结构,最好的办法是自己浏览区块链的数据。


原文精选:泛洪算法(flooding algorithm)的延迟情况到底怎样呢? 我们一起看一下图3.9,这张图展示了区块被网络中不同数量的节点接收所花费的时间(秒)。三条线分别代表区块被网络中25%、50%、75%的节点接收到所需要的时间。可以看到,由于网络带宽的限制,比较大的区块需要30秒左右才能传播到大部分的节点。所以这个协议不是很有效率。在互联网上30秒是比较长的时间了,在比特币的设计里,简便是第一位的(简单的网络、节点可随时加入或退出),而效率是第二位的,所以在比特币网络里,一个区块可能需要经过很多节点才到达最远的节点。如果网络采取自上而下的设计,那我们就需要使任何两个节点的距离都很短。


读书笔记:

1,blockchain.info的网站上可以看到比特币的所有交易。

2,想更好了解比特币的区块和交易结构,最好的办法是自己浏览区块链的数据。


一叶之秋带你一分钟速读经典书籍,每天一分钟(只需阅读读书笔记部分),天天获新知。



作者:全职高手一叶之秋
链接:https://www.jianshu.com/p/51920ef11da7


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消