区块链学习笔记--交易机制与双花

Posted 阿洋太爱大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链学习笔记--交易机制与双花相关的知识,希望对你有一定的参考价值。

比特币的交易机制

如何交易:一位所有者(A)利用他的私钥对前一次交易T1和下一位所有者(B)的地址签署一个随机散列的数字签名,A将此数据签名制作为交易单T2,并将交易单T2广播全网,电子 货币就发送给了下一位所有者

■要点:

1.交易发起者的私钥:私钥为个人所知,他人无从知晓

2.前一次交易:前一次交易数据说明了该次交易的货币的来源

3.下一位所有者的地址:即交易接收方的地址,此数据说明了当前交易的目标是谁

4.数字签名:发起方将前一次交易数据和接收方公钥连接起来并对其求Hash值x ,再利用自己的私钥对x加密,便得到了这份数字签名

 

验证交易:

1.利用交易T2中交易的发起方A的公钥对签名进行解密,得到整数X

2.将T1交易数据和B的公钥连接起来,用同样的Hash算法计算Hash值y

3.若x==y,说明:

       a.这笔交易确实是A本人发起的,因为只有A本人的私钥才可以生成此签名( A同时也无

       法否认自己曾签署了此份交易)

      b.交易的目的方确实是B

      c.发起方确实是打算把交易T1中A获得的货币发送给B

双重支付 ( Double Spend )

■二重支付(双花) :指攻击者几乎同时将同笔钱用作不同交易或者抹掉自己曾经发给别人钱的记

双花如何操作 :

■假设现在block高度为100,攻击者给商户发了一个交易10BTC, 记作交易A,通常这笔交易会被收录进高度101的block中,当商户在101 (着急了吧? )块中看到这笔交易后,就把货物给了攻击者■此时,攻击者便开始构造另个高度为 101的block, 但用交易B替换了交易 A.交易B中的输入是同一笔,使得发给商户的那笔钱发给他自己

■同时,攻击者努力计算block 使得他的分支能够赶上并超过主分支,如果最终大家接受其分支为主干分支,这笔钱就成功的完成双重支付

双重支付的难度

区块链--比特币的工作量证明_阿洋太爱大数据的博客-CSDN博客

       双花需要让自己成为最长的链 。其他节点才会切到这个最长链上 来。那么攻击者必须在10分钟内连续创建出6个(商户在101块中看到这笔交易后,继续等待到106出块成功且看到这笔交易没变)合法Block才有可能将原链替换,这意味着攻击者在10分钟内产生的算 力需超过比特币网络其他所有节点在60分钟内算力的总和

面意味着攻击者要能做出比诚实链长出7个区块,才能让其他节点切到这个非诚实链上,仅仅算出比诚实链长出2,3个区块是不够的,因为接受者通常会等6个确认(否则接受者看不到区块中有自己的内容就不会发货)

.比特币网络Block链被增加6个后,Block链被修改的可能性概率基本降为0

以上是关于区块链学习笔记--交易机制与双花的主要内容,如果未能解决你的问题,请参考以下文章

区块链缩短信任的距离

区块链技术最重要价值所在

区块链学习笔记5——BTC网络

区块链学习笔记4——BTC实现

区块链学习笔记

《区块链应用指南方法与实践》读书笔记