如果同一笔钱(数字货币)被重复支付两次,就是双重支付问题,解决这个问题就相当于数字货币的防伪技术。这个问题在物理货币世界并不存在,因为你无法复制黄金。在纸币中,由于纸币由造币厂发行的,设计有复杂的防伪技术,如果有人制造了假币,可以通过法律来制止这些行为。但在数字货币中,比特币会对前一次的交易和下一位拥有者的公钥签署一个数字签名,将这个签名附加在比特币的末尾发送给下一位所有者。而由于没有第三方机构去做监控,所以需要一个机制去确保比特币之前的所有者没有对更早发生的交易实施签名。比特币是怎样解决这个问题的呢:

1、 所有的交易全网公开:历史交易全网公开,那么每个账号里面有多少比特币,并不是由一个数据来表示的,而是根据历史交易得出来的。而这个历史交易链是经过全网公认的,才能保证不被造假。

2、 需要有时间戳,所有交易有先后顺序:所有交易,要按照先后顺序,给其加上时间戳,前面一笔交易成功后,整个交易链被公认后,下一笔交易是基于上一笔交易来生成的,整个交易就是一个交易链,这样才能保证不被双重支付。

3、 需要投入计算资源对交易进行确认:交易的确认,需要投入计算资源来确认,比特币引入了工作量证明,矿工投入计算力来打包交易,若需修改某个区块上的交易,需重新计算自区块以来所有区块,参考比特币网络目前的算力,这在数学上几乎是不可能的。

整个比特币系统中的每一个节点都获知每一笔交易的发生,且它们是有时间顺序的,有一个公认的交易序列。那么,只有当大部分节点都认同这笔交易是首次出现时,这笔交易才能发生。唯一可能造成这个系统崩溃的是,有一个人拥有超过整个系统51%的计算能力,那么他就能随意更改每笔交易记录,这就是所谓的“51%攻击”,但这几乎是无法实现的。

什么是“双重支付”,即“双花”相关推荐

  1. 通俗易懂区块链系列——双重支付/双花支付

    通俗易懂区块链系列--双重支付/双花支付 0 双重支付,又称为双花支付,是指同一笔钱花了两次甚至是多次.不同于实物货币,由于比特币是数字货币,本身就是一些代码,所以具有可复制性,而且由于比特币网络的开 ...

  2. 定量分析双花(双重支付)问题

    引自 Analysis of hashrate-based double-spending,Meni Rosenfeld 1.问题描述 假设: 1.诚实节点和攻击节点的算力总和为常数,p为诚实节点记录 ...

  3. 【放码过来】谈双重支付

    注:本文没有讲述什么是双花问题,以及各种共识协定是如何防范双花的,只是从代码角度让之前对双重支付有一定了解的同学有更具体化的认识.当然,也是自己在看书的时候,为达到知行合一的简单实践. 先从维基百科上 ...

  4. 解决比特币双重支付问题

    以比特币为代表的数字货币,关键的创新是通过时间戳(Timestamp)和工作量证明(Proof of Work)机制解决双重支付(Double Spending)和拜占庭将军问题(Byzantine ...

  5. 自己理解的比特币双重支付

    用一个比特币多次支付. 发给A的交易成为交易A放在未确认的交易池 发送B的交易成为交易B放在未确认的交易池 A先写入区块链验证有效,这时B就验证无效 但如果两个交易验证,区块链就会产生两个分支, 等待 ...

  6. 双花是什么花?区块链技术如何避免支付中的双花问题?

    引用:https://zhuanlan.zhihu.com/p/52557626 在加密货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产被重复使用的情况,这也称之为双花(double s ...

  7. 比特币一种点对点的电子现金系统是哪一年诞生的_驭凡学堂 中本聪创造比特币的原因是为了解决技术难题...

    在创造比特币的过程中,中本聪发明了区块链技术,区块链是源自比特币的底层技术.那么,他为什么要创造比特币?他想解决什么难题? 现在,比特币常被称为一种"加密数字货币",人们常很关注其 ...

  8. 【区块链】区块链是什么?

    区块链,可能是当下最有前景又充满分歧的技术与经济趋势.它给数字世界带来了"价值表示"和"价值转移"两项全新的基础功能.其潜力正在显现出来,但当下它又处于朦胧与野 ...

  9. 区块链技术及其在信息安全领域的研究进展 简单概括

    一.摘要部分 区块链是一种源于数字加密货币比特币的分布式总账技术,其发展引起了产业界与学术界的广泛关注. 区块链具有去中心化.去信任.匿名.数据不可篡改等优势,突破了传统基于中心式技术的局限,具有广阔 ...

最新文章

  1. mysql sql with_mysql5.7 查询sql 出错: with sql_mode=only_full_group_by
  2. android后台时不显示,Android后台下载问题
  3. C++ Makefile文件详解
  4. Nginx+PHP实时生成不同尺寸图片
  5. 锡安赞歌 mp3下载
  6. ubuntu 下一个神奇的命令--以窗口形式打开某个文件夹
  7. PCA,ZCA,ICA,白化,稀疏编码和自编码器
  8. delphi mysql ado_delphi2010利用ADO连接MySQL数据库
  9. 使用lombok时可以自定义get、set方法
  10. 杨力祥老师《高级Windows程序设计》课程短评
  11. 中国高校那些不为人知的秘密,你听说过吗?
  12. yyyy-mm-dd yyyymmdd互相转换
  13. 计算机等考网络真题2018,2018年网络管理员考试试题及答案
  14. 查看npy文件中存的是什么
  15. linux拼音五笔输入法下载软件,自已动手制作Linux下拼音五笔输入法
  16. json 日期格式化
  17. 项目管理—领导力与管理的区别
  18. 配置Jinjia2模板引擎
  19. html测试身高体重,【 身高体重测试】_如何测试_注意事项-大众养生网
  20. mtu设置失败_华为路由器修改MTU值失败怎么办

热门文章

  1. 对vue初学者建议 vue如何上手
  2. centos7 配置phpAdmin
  3. ceac计算机考试试题,计算机ceac考试复习题12套.doc
  4. Mumble安装部署教程
  5. gird布局之容器属性justify-items与align-items
  6. 微信JS接口安全域名填写ip地址
  7. 天池大赛 xgboost/lightgbm + python36 + win10_64 环境配置
  8. Android UI 绘制流程及原理
  9. 图片处理-填充图片-numpy.pad
  10. Git 版本回退方法