美文网首页爱莉莎学区块链投资系列每天写1000字金马带你定投区块链
《精通比特币》要点总结|第二章比特币的原理

《精通比特币》要点总结|第二章比特币的原理

作者: 竹三七 | 来源:发表于2017-07-19 20:04 被阅读305次
    bitcoin-2007769_1280.jpg

    前言

    夏日炎炎,和爱莉莎一起,继续解读《精通比特币》,技术的海洋,水凉宜人。
    第二章《比特币的原理》的要点:比特币的交易原理和交易过程。

    比特币概述

    爱莉莎的雪月花_btc1.png

    比特币系统由三部分组成:

    • 用户(通过密钥控制钱包)
    • 交易(每一笔交易都会被广播到整个比特币网络)
    • 矿工(通过竞争,计算生成在每个节点达成共识的区块链,以获取报酬)

    比特币交易

    比特币交易是什么?

    比特币交易,是将钱从交易输入移至输出。然后广播全网,持有者已授权把比特币转帐给他人。
    输入: 是指钱币的来源,通常是之前一笔交易的输出。
    输出: 通过关联一个密钥,将钱赋予一个新的所有者。
    每笔交易可以包含一个或多个“输入”, 一个或多个“输出”。
    输入总额 = 输出总额 + “矿工费”(差价)。

    举个例子:用比特币买咖啡

    下面,我们通过追踪一笔【用比特币买咖啡】的交易,来说明交易如何创建、传播、如何变得“被信任”和“被接受”,以及如何最终被存储到区块链中。

    当当当当~,男女主角出场:
    买家:白富美 Alice,勇于使用新科技。喜欢用比特币支付。
    卖家:咖啡店主Bob,时代潮流的追随者。他明智的给自家咖啡店, 加了个比特币支付选项。顾客可以选择用美元或比特币支付。

    一个阳光明媚的早晨,Alice来到Bob的店,点了杯摩卡。
    Bob将交易键入收银机,销售系统把美元总价换算为比特币,显示支付请求二维码。
    二维码包含如下信息:

    比特币地址: "1GdK9UzpHBzqzX2A9JFP3Di4weBwqgmoQA"
    付款金额: "0.015"
    收件人地址的标签: "Bob's Cafe"
    付款说明: "Purchase at Bob's Cafe"

    Alice用手机扫描条形码,并按下发送键授权这笔支付。
    在几秒钟时间内,Bob将会在收银台看到这笔交易已被支付,把咖啡交给Alice。

    那么比特币交易是如何完成的?

    第一步:创建交易输出。
    Alice的钱包应用,有足够多的比特币,比如0.1比特币,用于支付。需要创建如下交易输出:

    • 第一个交易输出——支付咖啡费用。它包含一个脚本,脚本说 “这个输出谁能拿出一个签名和Bob的公开地址匹配上,就支付给谁”。当然,只有Bob钱包的私钥才可以匹配Bob的公开地址,所以只有Bob的钱包可以兑换这笔输出。
    • 第二个交易输出——找零。因为Alice钱包里有0.10比特币,减去0.015 购买咖啡,还需要找零0.085。Alice的钱包将她的金额分成了两个支付:一个给Bob(买咖啡的钱),一个给自己(找零)。
    • 第三个交易输出——矿工费,为了让这笔交易被尽快处理,Alice的钱包会多付一小笔费用给矿工。矿工费隐含在输入和输出的差值中。
    爱莉莎的雪月花_btc2.png

    第二步,交易传播
    比特币网络,是由参与的比特币客户端联接几个其他比特币客户端组成的P2P网络
    比特币网络的目的——是将交易和区块传播给所有参与者。
    Alice的钱包应用,发送新的交易给其它任意一个已联接到互联网的比特币客户端。任何比特币网络节点(其它客户端)收到一个新的有效交易,立刻将它转发给联接到自身的其它节点。因此,这个交易迅速地从P2P网络中传播开来,几秒内就能到达大多数节点。

    第三步,Bob可以免确认接受这笔交易
    一个对比特币交易的常见误解是——必须要等10分钟后被确认加进一个新区块,或等60分钟以得到六次确认后才是有效的。这些确认可以确保交易已被整个网络接受。
    但为了加快速度,商家可以免确认来接受比特币小额支付。这样做的风险不比接受一个不是用有效身份证领取或没有签名的信用卡的风险更大。
    几秒钟内Alice的交易,到达Bob钱包应用。Bob的钱包会立即确认Alice的交易是一个收入支付,因为它包含能用Bob的私钥兑换的输出。为了不让顾客久等,Bob可以立刻确认钱包应用中的这个交易,认为Alice已完成支付。

    第四步,“被信任”和“被接受——挖矿验证交易,嵌入区块链
    交易只有被一个称为挖矿的过程验证且加到一个区块中之后,这个交易才会成为这个共享账簿(区块链)的一部分,才有效。
    比特币系统的信任是建立在计算的基础上的。添加交易到区块中,需要极大的计算量来证明。而确认这笔交易已被证明,只需少量计算来验证。
    挖矿有两个作用:

    • 挖矿在构建区块时会创造新的比特币。
    • 挖矿创建信任。挖矿确保只有在包含交易的区块上贡献了足够的计算量后,这些交易才被确认。区块越多,花费的计算量越大,意味着更多的信任。

    Alice的交易包含足够的交易费,它被上海矿工Jing的矿池,放到了生成的新区块中。大约在Alice的钱包第一次将这个交易发送出来五分钟后,Jing的ASIC矿机发现了新区块的正解并将之发布为第277,316号区块,包含419个其它交易。Jing的ASIC矿机将这个新区块发布到网络上后,其它矿机就会验证它。
    一个区块获得六次以上“证明”时就被认为是不可撤销的了,因为要撤销和重建六个区块需要巨量的计算。

    第五步,Bob接受输入,可以再消费
    因为已经嵌入区块链, 每个比特币客户端,都能独立地验证Alice这笔笔交易是有效且可消费的。
    全索引客户端:可以追钱款的来源,从第一次有比特币在区块里生成的那一刻开始,按交易与交易间的关系顺藤摸瓜,直到Bob的交易地址。
    轻量级客户端:通过确认一个交易在区块链中且在它后面有几个新区块来确认一个支付的合法性。这种方式叫做简易支付验证。
    Bob现在可以将此交易和其它交易的结果信息作为输入,创建新的所有权为其他人的交易。简单说,Bob可以花这0.015BTC啦。
    当Bob花费从Alice和其他顾客那里赚得的比特币时,他就扩展了比特币的交易链条。而这个链条会被加到整个区块链账簿,使所有人知晓并信任。我们假定Bob向在邦加罗尔的网站设计师Gopesh支付一个新网页的设计费用。那么区块交易链会如下图所示:

    爱莉莎的雪月花_btc3.png

    比特币交易生生不息,比特币区块链账簿也绵延下去。

    • 常用比特币的搜索引擎,可以搜索比特币的地址、交易和区块,以及资金流动。
      ▷ Blockchain info
      ▷ Bitcoin Block Explorer
      ▷ insight
      ▷ blockr Block Reader
    • 比特币的最小单位是:1聪: 一亿分之一比特币。
    • 钱包应用甚至可以在完全离线时建立交易。就像在家里写张支票,之后放到信封发给银行一样,比特币交易建立和签名时不用连接比特币网络。只有在执行交易时才需要将交易发送到网络。
    • 《精通比特币》英文名是《Mastering Bitcoin》, 开源版本在 https://github.com/bitcoinbook/bitcoinbook
      中文版《精通比特币》,多人翻译的第一版,在知笔墨上发布,网址:
      http://zhibimo.com/books/wang-miao/mastering-bitcoin

    更多《精通比特币》要点总结:
    《精通比特币》要点总结| 第一章介绍

    谢谢阅读,欢迎交流!

    参考阅读:
    爱莉莎学区块链投资系列
    如何在疯狂的区块链投资市场,冷静理性的投资?
    疯狂的ICO,你投了吗?【附ICO参投三步走】
    三招应对区块链投资风险
    《精通比特币》要点总结|第一章介绍
    《精通比特币》要点总结|第二章比特币的原理
    《精通比特币》要点总结|第三章比特币客户端
    《精通比特币》要点总结|第四章密钥、地址、钱包

    相关文章

      网友评论

        本文标题:《精通比特币》要点总结|第二章比特币的原理

        本文链接:https://www.haomeiwen.com/subject/zqckkxtx.html