比特币的交易机制

如何交易:一位所有者(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

区块链学习笔记(3)--交易机制与双花相关推荐

  1. 区块链学习笔记——一些交易脚本(P2PK、P2PKH、P2MS、P2SH)及作业回顾

    写在前面 这篇博客主要总结一下之前做过的区块链作业中的一些有趣的东西. 实验环境搭建 按照老师的要求以及助教给的一些问题的解决方案.把python从3.8装回3.7再装回3.6,好像都没什么用.在py ...

  2. 区块链学习笔记16——ETH交易树和收据树

    区块链学习笔记16--ETH交易树和收据树 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 交易树和 ...

  3. 区块链学习笔记(三)——从商鞅变法谈“共识机制”

    区块链学习笔记(三)--从商鞅变法谈"共识机制" 前言 一.商鞅变法的故事 总结一下 二.共识机制 1)什么是共识机制 2)要点 总结 前言 区块链健康运行的灵魂是"共识 ...

  4. 区块链学习笔记21——ETH智能合约

    区块链学习笔记21--ETH智能合约 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 智能合约简介 ...

  5. 区块链学习笔记23——ETH反思

    区块链学习笔记23--ETH反思 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 智能合约真的智能吗 ...

  6. 区块链学习笔记15——ETH状态树

    区块链学习笔记15--ETH状态树 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 引入 要实现的功 ...

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

    区块链学习笔记4--BTC实现 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 UTXO 区块链是一 ...

  8. 区块链学习笔记2——BTC中的数据结构

    区块链学习笔记2--BTC中的数据结构 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 本文主要介绍 ...

  9. 区块链学习笔记19——ETH难度调整

    区块链学习笔记19--ETH难度调整 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 前面学过,比特 ...

  10. 区块链学习笔记(一)——区块链和搓麻是一样一样的

    区块链学习笔记(一)--区块链和搓麻是一样一样的 新的开始 一个故事 要点 总结概念 几个搞笑的解释(真实性待查) 新的开始 你好! 这是我的第一篇学习笔记,想来想去就从近几年挺火的区块链开始吧,大多 ...

最新文章

  1. File类的使用(java)
  2. adas记录仪app_4K旗舰丨盯盯拍MINI5智能行车记录仪荣耀新生!
  3. ONOS系统架构演进,实现高可用性解决方案
  4. (转)十分钟入门pandas
  5. day26(模块 logging 高级用法、collection、random)
  6. linux 系统管理员面试,经典linux系统工程师系统管理员面试题
  7. kali 更新源遇到了证书的问题
  8. autojs java文件_autojs官方文档
  9. 计算机桌面字体咋调整,如何调整电脑桌面字体的大小
  10. 浅谈android应用之编程语言
  11. Uri Herrera 近日宣布 Nitrux 2.1 的发布和普遍可用性
  12. twitter api java使用_twitter api问题
  13. amc 美国数学竞赛能用计算机吗,关于AMC美国数学竞赛的QA
  14. ms17-010永恒之蓝使用和防范(内附视频)
  15. 学习笔记-Volatility
  16. django种表单post出现CSRF verification failed( CSRF验证失败 ) 的两种解决方案
  17. 经典PID控制及应用体会总结
  18. 袁永福对北京奥运会的评论
  19. mysql 设置多个主码
  20. cyt の heart

热门文章

  1. web2.0最全的国外API应用集合
  2. C库函数——fabs()
  3. 一周上手flutter
  4. 02 | 该如何选择消息队列?
  5. 惯用过程模型_惯用代码
  6. Udacity机器学习入门笔记——数据集与问题
  7. word导航窗格应用:如何对文档进行快速查找定位?
  8. 如何搭建OpenOCD环境基于Window10+Cygwin?
  9. Cesium.js解析第一篇 Cartesian3
  10. 亚马逊云科技-游戏孵化营第一课学习心得