区块链基础知识篇——《精通比特币》第二章“比特币的原理”解读

通过本章的学习,你会对比特币交易的整个过程和基础原理有通俗的理解,本章可以帮助你建立比特币系统的大框。

阅读时长:5分钟左右

2.1 比特币交易

比特币的交易类似复式记账法账簿中的行,每一笔交易包含一个或多个“输入”,这笔交易发生时,会产生一个或多个“输出”,这些输入和输出的总额,不需要相等,两者之间的差额即支付给矿工的“矿工费”。

比如A一共有0.2个比特币,这0.2个比特币来源于之前2次其他人赠送,假设A使用0.12个比特币在咖啡店购买一杯咖啡,那么这笔交易的输入和输出如下图所示:

输入

第一人赠送 0.1 BTC

第二人赠送 0.1 BTC

总输入: 0.2 BTC

输出

输出1 0.12 BTC

输出2 0.03 BTC

总输出: 0.15 BTC

从上图可看出,虽然只需支付给咖啡店0.12个BTC,A需要通过钱包客户端将之前2笔交易收到的比特币整合成0.2BTC,以购买咖啡,整合后的数额大于了咖啡的金额,所以产生了一个找零的输出2。总输入和总输出之间的差额0.05个BTC,是该笔交易的“矿工费”。

2.2 交易的构建

比特币钱包应用会自动选择合适的输入和输出来建立用户希望的交易,用户只需要指定接收地址和金额。比特币交易建立和签名时不用连接比特币网络,只有在执行交易时才需要将交易发送到比特币网络。

2.2.1 获取正确的输入

钱包应用本地会维护一个由用户本人的密钥锁定的“未消费交易输出”小型数据库,每次在创建新的交易时,会从“未消费交易输出”数据中索引到合适的地址,来作为下一笔交易的输入。

2.2.2 创建交易输出

用户创建的交易输出会包含一个脚本,这个脚本的大意是“谁能拿出一个私钥签名和收款地址的匹配上,就支付给谁。”由于在创建地址时,就生成了该地址对应的私钥和公钥,所以私钥落在了谁手上,谁就能控制这个地址上的比特币。

这个交易还会包含第2个输出,即找零。如果从未消费输出中获取到的地址中包含的比特币之和大于本次交易数额,在本次交易中,还会包含有一个找零的输出,找零输出的收款地址为发起人的原地址。

为了让这笔交易尽快被网络处理,交易的发起方还需支付一笔矿工费,矿工费会进入首次确认该笔交易的矿工收款地址。

2.2.3 将交易放入总账簿

用户使用钱包创建的交易,包含该金额未来所属需要的全部信息,现在,这个交易必须要被传送到比特币网络中,以成为分布式账簿(区块链)的一部分。

比特币网络是由参与的客户端链联接其他比特币客户端组成的P2P网络。比特币网络的目的是将交易和区块传播到所有的参与者。

比特币钱包应用会将新建立的交易发送给其他任何一个已连接到互联网的其他客户端,任何比特币网络节点收到一个之前未见过的有效交易时,会立刻将它转发给联接到自身的其他节点。

收款方的钱包应用收到付款方的交易时,因为它包含能用收款方私钥兑换的输出,收款方能立即确认这笔交易是正确构建的,同时有足够的手续费确保会被下一个区块包含进去,所以收款方此时只需等待该笔交易被区块确认。如果一个商家免确认接受比特币小额支付,那么也没必要等待6次确认那么长时间。

2.3 比特币挖矿

挖矿在比特币系统中的作用有两个:

》挖矿在构建区块时会构建新的比特币,就像中央银行印发新的纸币并发行一样。每个区块创造的比特币的数量是固定的,每四年减半。

》挖矿创建信任。只有通过挖矿的过程验证并将交易包含在区块中之后,这些交易才能成为分布式账簿的一部分。

挖矿的难度是动态调整的,以确保每10分钟产生一个新的区块。可以将挖矿类比于一个巨大的多人数独谜题游戏,想象这个数独有几千行几千列,其中只有几个单元格有值而其他单元格都为空的话,就需要花费很长时间来解决,而解题的难度可以通过增加或减少行、列的数量来动态调整,即便它解题困难但是验证起来是很容易。这和比特币的挖矿是很类似的。

2.4 区块中的挖矿交易记录

当新交易进入比特币网络,比特币网络上的节点看到这些交易时,会先讲他们放到节点维护的一个临时的未经验证的交易池中,当矿工构建一个新区块时,会将交易从交易池中拿出放到新区块中,然后通过挖矿以证明这个新区块的合法性。

矿工一旦从网络上收到一个新区块时,意味着在这个区块上的解题竞赛已经结束了,会马上开始下一个新区块的挖掘工作。他会立刻基于这个新区块和一些交易构建下一个新区块。

2.5 消费这笔交易

当一笔交易成为区块的一部分,被嵌入到整个分布式账簿(即区块链)的一部分时,每个比特币客户端都能独立的验证这笔交易是有效且可消费的。轻量级客户端可通过确认一个交易在区块链中且它后面有几个新区块来确认这确认这笔交易的合法性。

用户可以通过比特币客户端,用收到的这笔交易和之前已完成的交易作为输入,创建新的交易输出,这样就实现了消费。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容

  • 一、快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如阅读 15,770评论 4 88
  • 1 货币的演变——从贝壳到比特币 当社会分工产生之后,人类就产生了商品交换的需求。在货币被发明之前,人类是以以物换...
    longlee阅读 7,534评论 1 23
  • 有时候周瑜从高处望去,会想起少年时立马远眺,身边的挚友伸手丈量,脚下那些壮丽江山尽在掌间,他回头朗笑说公瑾你看,这...
    洞庭府君阅读 499评论 0 9
  • 陪老妈散步,我的右小臂挎着她的左腋窝,她的左手紧紧拉着我的左手。 老妈攥紧我手的力度,让我感觉到她的依赖是那么深!...
    王春涞阅读 992评论 4 5
  • 上一期我们介绍了四大刺客中得国士豫让,这一期就来说说四人中的第一高手——聂政。 聂政年轻时仗剑走天涯,为了心中的侠...
    散翎阅读 207评论 0 1