专栏首页申龙斌的程序人生双重支付Double-Spend【区块链生存训练】

双重支付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 ---

本文分享自微信公众号 - 申龙斌的程序人生(slbGTD)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 江卓尔说春节见底,难道牛要提前来了?

    2019年1月18日,白话区块链联合创始人采访了莱比特矿池创始人江卓尔,原文《2019春节见底,最佳策略是”轻判断重风控”》很长,亮点不少,我把自己的粗浅理解也...

    申龙斌
  • 饭团开通一周,3人学会了比特币操作

    最近比特币行情火爆,很多人听到此消息后全当作泡沫,没有绿灯思维。而有少许人则去快速学习区块链的相关知识,去探寻它背后的本质规律。每一个新技术的出现都会颠覆许多已...

    申龙斌
  • 《区块链生存训练》3月份反馈意见抽奖结果公布

    申龙斌
  • 快速刷百度关键词代码

    苏先森
  • 首次点击自动弹出百度搜索代码教程

    Youngxj
  • Apache Zeppelin 中 Flink 解释器

    概述 Apache Flink是分布式流和批处理数据处理的开源平台。Flink的核心是流数据流引擎,为数据流上的分布式计算提供数据分发,通信和容错。Flin...

    片刻
  • Redis入门学习笔记一

    Redis 简要描述:   1.  Redis 是啥 ?        Redis 英文名称全称为: Remote Dictionary Server ,中译为...

    Gxjun
  • 面试必备之HashMap底层设计与实现详解

    这次主要是分析下HashMap的工作原理,为什么我会拿这个东西出来分析,原因很简单,以前我面试的时候,偶尔问起HashMap,99%的程序员都知道HashMap...

    java爱好者
  • Pandas-27.文件读取

    read_csv和readtable()可以将文件中的内容转换为DataFrame对象:

    悠扬前奏
  • FFmpeg + OpenGLES 实现视频解码播放和视频滤镜

    前面 Android FFmpeg 开发系列文章中,我们已经利用 FFmpeg 的解码功能和 ANativeWindow 的渲染功能,实现了的视频的解码播放。

    字节流动

扫码关注云+社区

领取腾讯云代金券