双重支付Double-Spend【区块链生存训练】

简介:

有些初入币圈的朋友经常会问到一些区块链中的术语,比如“双重支付”,这是我在区块链生存训练【块20】给出的简短回答:

区块链中解决了数字货币中的一项关键技术,称为“双重支付”,即double-spend,即一笔数字资产既支付给了A,又支付给了B。有些书或网络文章中也把double-spend直译为“双花”,让人费解,别理解为两朵花。

在去中心化交易技术之前,这类问题通过中心化的机构来解决,比如:银行。你给A支付了一笔钱,银行把余额变动一下,想多花也不可能。当然信用卡账户允许你0余额还可以支付一定数量的资金,那都是银行说了算。

比特币的创始人中本聪设计了一套完整的体系解决了这个问题,去中心化的网络(比特币协议)、共享大账本(区块链)、货币发行(挖矿)及交易验证系统(交易脚本)。

这种技术也可以解决"拜占庭将军问题【块22】",即一支分散在多处的军队里混入少数叛徒,如何才能通过一致的行动来保证战争的胜利。

假如你在两台安装有Bitcoin Core的机器上分别发出了2笔交易(同一笔BTC输入,支付给A和B),这些交易都会向全网广播,矿工在收到这些交易时,不会将两个交易都打包。

万一不小心把A和B都打包了,还有许多其他节点要进行验证,仍会拒绝承认这个区块,也就是说这笔交易的确认数会一直为0。小额交易等待1次确认就行,大额交易等待6次以上的确认就足够的安全。

整个比特币系统中的每一个节点都可以查询每一笔交易的情况,且它们是有时间顺序的(时间戳机制),有一个公认的交易序列,只有当大部分节点都认同这笔交易时,这笔交易才是可信的。想破坏这种机制,需要拥有51%的算力【块49】。

在比特币世界里想透支,是不可能的。除了创世区块【块10】中的50个BTC是凭空出现的,以后的BTC都是挖矿获得的。你是否拥有1个BTC?通过比特币地址可以查个底朝天,一直追踪到这笔资金的诞生记录。这笔钱是不是你的?通过加密和签名算法来保证,无法伪造。

解决双重支付,必须对于每笔交易建立共识,就是大家都同意的机制,无法达成共识,就会分叉【块41】。

--- END ---



原文发布时间为:2017-08-08
本文作者:申龙斌
本文来源:腾讯云 云+社区,如需转载请联系原作者。

目录
相关文章
|
9月前
|
存储 JavaScript 前端开发
区块链代币支付钱包(trx/trc20代币/usdt)对接开发
区块链代币支付钱包(trx/trc20代币/usdt)对接开发
|
12月前
|
API 区块链 数据安全/隐私保护
为什么应用程序开发人员想要一个区块链支付解决方案
为什么应用程序开发人员想要一个区块链支付解决方案
|
负载均衡 前端开发 算法
鲜衣怒马散尽千金,Vue3.0+Tornado6前后端分离集成Web3.0之Metamask钱包区块链虚拟货币三方支付功能
不得不承认,大多数人并不拥有或者曾经拥有加密货币。是的,Web3.0、加密货币、区块链,对于大多数的互联网用户来说,其实是一些过于轻佻的词汇。如果你是为了追求暴利投机而研究区块链和加密货币,那你多半会失望,因为盐在哪里都是咸的;而如果你是为了摆脱知识桎梏而学习区块链,那你几乎一定能满足,因为懵懂决不是编程界的常态。
BlockChain:《区块链世界简明生存指南(一块听听)》2017-06-06 李笑来—听课笔记分享(1)
BlockChain:《区块链世界简明生存指南(一块听听)》2017-06-06 李笑来—听课笔记分享(1)
BlockChain:《区块链世界简明生存指南(一块听听)》2017-06-06 李笑来—听课笔记分享(1)
|
存储 供应链 安全
区块链研究报告:应用场景已涉及供应链金融、贸易金融、跨境支付等
区块链技术在金融领域的应用探索日渐增多,如支付及清结算、贸易金融、证券交易等金融场景的应用,部分应用项目已开始从概念验证迈向生产实践。
GPAY支付APP系统区块链模式开发
摘要:GPAY支付系统区块链模式开发 【微电咨询:136- 4273- 5391陈经理】 GPAY支付系统区块链系统开发APP,GPAY支付系统区块链软件APP开发,GPAY支付系统区块链商城系统开发,GPAY支付系统区块链模式平台开发。
796 0
|
区块链
区块链来了|跨境转账可以实时到账?全球支付体系将重构
跨境转账可以实时到账?全球支付体系将重构
1404 0
|
安全 测试技术 区块链
区块链会颠覆全球支付体系?SWIFT: “我们也在测试”
区块链会颠覆全球支付体系?SWIFT: “我们也在测试”
1192 0