美文网首页
读书笔记-《易懂的比特币工作机理详解》

读书笔记-《易懂的比特币工作机理详解》

作者: 牛秦勇的区块链自留地 | 来源:发表于2017-05-12 16:14 被阅读0次

1.比特币运行机理概述

账本(区块)

掌握核心概念是学习任何学科的关键。

区块,区块链,交易单,比特币,交易是比特币体系中的重要概念。

比特币区块链可以看做是全世界唯一的一个账本。

区块可看做是账本中的一页。

交易单就是一页当中一条交易记录。

只要账本收支记得清楚,不需要单独的货币也可以交易。就像现在的刷卡付款,或者支付宝,微信支付一样,不需要现金。

节点上的比特币系统会将10分钟里的交易先临时记录下来(存在内存中),然后再用这些交易创建一个区块

比特币的由来

比特币是货币,是账本上记录的钱,那初始的钱从哪来?商品货币时代,有多少黄金制造多少货币,信用货币时代,政府说开印钞机,那货币就有了。比特币世界中,初始的货币是“谁创建了账本(区块),就给谁钱”,一箭双雕,既能激励别人创建账本,又解决了比特币的发行问题。创建一个区块,奖励50个比特币,注意没有独立的钱,只有数字,“50”记录在交易单里。

旷工挖矿除了有新币奖励外,还有交易费,也称旷工费。

交易过程(Transaction)

假设张三转给李四10个币,张三用比特币交易软件给李四的地址转10个币,那么在区块中的交易单会是这样的:

张三资金的来源(比如王二给的)

王二对这笔资金的签名

李四的收款账号

金额10个币

张三的签名

每个用户在比特币世界中都用一串数字表示,可以查到任何一笔交易的来源与去向,但不知道对应现实中的谁

比特币世界里的钱根本上是创建区块奖励的钱。

每个人的钱的来源有3种:创建区块奖励的,旷工费,别人转给你的

2.安全机制

中心化机构发行的信用货币有诸多弊端,依靠银行等中介结构提供的金融服务也有诸多不便和高昂的成本,假如通货不再膨胀,假如可以像发送email一样直接交易,显示世界会变得更好一点。

去中心化交易的前提是安全,否则一切无从谈起。

想象一个场景,张三给李四转10元钱,要安全交易,需要达成下面的条件:钱确实是张三付的;张三有10元钱(类似生活中的钱是真的,不是假的);张三没有把这10元钱给了别人(生活中的纸币没有这个问题,因为给了一个人就不能给了另一个人,这是数字货币独有的问题)

SHA-256是一个散列函数,输入可以是任意长度的字符串,输出是固定的256位长度的字符串。2^256是一个非常大的数,比地球上所有的沙粒数还多。

256bit,32Byte,64个16进制数

数字签名

签名者有一个只有他自己知道密码的密钥(私钥),可以对任何信息进行签名,签名者向别人发布一个公开的密钥(公钥),用公钥可以解密用私钥加密的信息。如果加密的明文在解密之前是知道的,那么解密后的内容如果和明文一致,这能证明签名确实是私钥拥有者的,且私钥拥有者无法抵赖。

解决是否是某个人支付的问题

对交易单的签名和验证

签名:

A像B付款,构建交易单T;

交易单T上有B的“公钥”(这里加引号,表明实际并不是公钥,而是公钥的散列值),有A资金来源的交易单的数据;

用B的公钥和前一个交易单得出一个哈希值h

A用私钥对哈希值 h 进行签名,得到 s,签名信息保存在交易单上

验证:

B拿到交易单T后,从前一个交易单拿到A的公钥,对签名 s 解密,得到 x

B用自己的公钥和前一个交易数据进行哈希运算,得到哈希值 y

如果 x 等于 y ,就证明交易单确实是 A 签字的,且 A 无法抵赖,因为全世界只有 A 有能力进行这个签名,因为这个私钥别人是不会得到的。

解决是否有足够的钱支付

因为资金来源索引到之前的交易单,对资金来源的交易单进行回溯,直到证明这些钱来源于挖矿奖励

解决重复支付

禁止重复支付,是比特币技术要解决的核心问题。它的核心,就是在 P2P 网络体系下, 创 建一套全世界统一且唯一的 有前后次序的 交易记录。

3. P2P 中建立全世界统一交易记录的解决 方案

没有统一的交易记录的账本是没有意义的(账簿数据不一致),生活中这样的统一交易记录的账本由中央节点保证,那P2P网络中如何做到呢?

统一交易记录的核心数据包括每笔交易内容,和每笔交易的前后次序。

交易顺序确定,就可以解决双花问题(双重支付),已经已经支付出去的钱,不可能再支付出去一次。

决定账簿前后关系的机制,采用了 时间戳机制( TimeStamps),用某种算法把区块的顺序固定下来,且记录,并且可以验证。

比特币采用的是将前一个区块的hash值保存在后一个区块中。

比特币解决交易的时序问题,以及防止被作弊者破坏,其是基于算法安全,而不是基于信任,法律,集权,强迫,惩罚等手段。

对比特币的工作量证明算法的形象描述

1,得到这个世界中已经创建好的账簿链中最后一个账簿,用这个账簿内容做数据,计算一 个 hash 值

2,不断接收这个世界被广播出来,且没有被放入账簿链的交易单。检验这些交易单(根据 交易单链信息和支付款项等信息),剔除掉不合理的(比如账户余额不足的支付)。

3,猜一个幸运随机数 n(比如从 0 一直到 999999.... )

4,把 1-3 步骤得到的数据都组织起来成为一个数据 buffer,送入 sha256,得到一个 256bit 的散列值 x

5,检查 x 这个整数,前面若干 bit(比如 96bit)是否都是 0?如果是,这个 x 符合“工作 量证明难度”么? 如果符合,那么“工作量证明”游戏结束!

6,如果不是,从步骤 2 开始不断重复。假如这个时候收到了一个其他节点发来的新的账簿 数据块。 还没有猜出满足要求的随机数,需要重新开始游戏。

得到幸运随机数 n ,工作量证明结束, 工作量证明 的目的是为了证明节点的诚实,为了获取记账权,将区块放到最长链的末尾。

获得记账权并不能保证打包的区块会被加入到最长链,如果你打包的交易单有问题呢,如果同时其他节点也得到幸运随机数呢。

区块的创建的过程:

1.通过工作量证明获得记账权

2.打包区块,全网广播

3.重复支付检测。其他节点对收到的区块中的交易单进行重复支持检测,根据已经创建的世界账簿链中交易单,逐一查找,以判断这个临时 账簿内所有的交易单,在世界中已经发生的所有交易中从来没有出现过。如果检测交易单都合法后,节点会把收到的这个账簿 , 临时挂接到本地备份的世界账簿链的最后

4.区块链分支判断。全网到处广播着被新创建出来的临时账簿。一个节点在收到多个区块后,会在本地自己维护的账本上建立分支,之后此节点在先收到的账本后面继续工作量证明工作。当节点收到最长的工作链账簿时,会抛弃掉比较短的分支。转为在最长的链条上工作。

创建账簿的过程,也就是检测交易单正确性和顺序的过程,也是保存交易单的过程。同时 它还是创建比特币的过程。创建账簿的机制是比特币的核心。

交易确认过程:

1.交易单全网广播

2.挖矿节点收集所有的新有效交易单,放到一个新区块

3.节点根据新区块数据和上一个区块的散列值,计算一个随机数(工作量证明)

4.工作量证明成功,打包区块,全网广播

5.其他节点验证新区块的有效性

6.验证成功,正式挂到区块链的末尾,在此区块继续创建新账本

交易单被打包到区块,挂到区块链的末尾后,其后再挂6个账本就能确认交易成功。因为要推翻6个区块,几乎不可能。这保证了比特币体系的不可逆,不可篡改。

读后感

这篇文章,用通俗易懂的的例子,讲解了比特币区块链的运行原理。看完后对比特币区块链的理解更深入了。

但对技术细节,这篇文章没有仔细交代,更多技术实现细节在《精通比特币》中有描述。

相关文章

  • 易懂的比特币工作机理详解

    如果你之前没有接触过区块链,那你可以先看《易懂的比特币工作机理详解》这篇文章,拿张纸记下你的问题,然后带着问题再去...

  • 读书笔记-《易懂的比特币工作机理详解》

    1.比特币运行机理概述 账本(区块) 掌握核心概念是学习任何学科的关键。 区块,区块链,交易单,比特币,交易是比特...

  • 【币圈基础】如何系统的介绍比特币?

    本文分为三部分介绍比特币:产生比特币的原因,比特币详解,比特币的影响。 一、为什么会出现比特币,比特币是什么? 在...

  • 比特币(6):挖矿

    比特币(1):从一个简单支付场景说起 比特币(2):私钥、公钥和地址 比特币(3):交易详解 比特币(4):网络架...

  • 币海详解比特币挖矿方法

    很多人会问,如何能挖到比特币呢?今天币海小编跟大家来详解下比特币挖矿经过。如需买卖比特币、以太币、艾达币、莱特币、...

  • aaa

    比特币地址生成算法详解 比特币钱包地址生成代码-go实现 区块链以太坊以及hyperledger总结区块链技术 默...

  • 越写越快乐之《精通比特币》读书笔记之交易上

    今天的越写越快乐系列为大家带来《精通比特币》读书笔记之交易章节的分享。 简介 比特币交易是比特币系统中最重要的部分...

  • 越写越快乐之《精通比特币》读书笔记之交易下

    今天的越写越快乐系列为大家带来《精通比特币》读书笔记之交易章节的下半部分的分享。 前情回顾 比特币交易是比特币系统...

  • bitcoinj整体架构

    看了各种各样的比特币介绍网站,虽然能知晓个大概,但也总觉得自己在听故事,想探索比特币运行更深层次的运行机理,只有一...

  • 比特币详解

    比特币是一种全新的东西。比特币和互联网一样,都有着全新的底层技术,运行原理和上层应用,历史上从未有过类似的东西。给...

网友评论

      本文标题:读书笔记-《易懂的比特币工作机理详解》

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