区块链研习社

践行哲的区块链阅读笔记

2018-06-14  本文已影响24人  践行哲

1.比特币的区块

比特币交易的过程就是不停的创造区块的过程。所有的交易都是被打包放入区块的,这么做主要是为了性能的优化,提高验证的效率。一个区块内的所有交易通过哈希值进行排列存储,形成树状数据结构,也叫梅克尔树。这样可以高效的将交易组织起来,通过树内路径搜索可以证明某笔交易在某个区块内。每个区块内还有一个有意思的交易叫做币基交易,它创造新的比特币作为旷工的挖矿收入,另一部分还包括所有交易的手续费。

另外,每个区块都包含一个区块头部,区块头部都有一个哈希指针指向上一个区块,这个数据结构是区块的哈希链。区块头部还包含挖矿谜题的相关信息、矿工可以修改的临时随机数、一个时间戳和一个点数(表示找到这个区块的难度)。区块头部是挖矿过程中唯一哈希值化的,所以要验证区块的链,验证区块头部即可。

2.比特币网络

比特币网络是点对点的网络,网络里所有的节点都是平等的,没有特殊节点或是主节点。每个节点和其他随机节点相连。节点加入比特币网络是为了维护区块链。表现之一是交易广播,当我们发起一笔交易我们想让整个网络都知道,节点会进行一系列核验,决定是否接受并转播这笔交易。如果核验通过,节点会将这笔交易信息传播给与其相连的其他节点。当节点接收到一个交易信息后,会把交易放进一个交易还未被打包进区块链的交易池里。

除了交易的传播,还有区块的传播。区块的传播是矿工将交易打包一个区块,并将区块加入区块链的过程。当然区块也需要核验,除了确认区块头部,确定里面的哈希值是可以接受的范围内,节点还必须确认区块里的每个交易。最后一个节点往外传播的区块必须是最长的一条区块链上新加入的区块。

3.比特币的共识问题

在比特币的世界里有三个问题需要达成共识,而这三个问题的共识达成也是比特币运行的基础。

第一个问题是关于规则的共识。这个规则都包含什么呢?一方面是确保交易有效、区块有效的机制,另一方面是比特币运行时涉及的核心协议和数据格式。这部分的共识基本有开发人员决定。

第二个问题是关于历史记录的共识。在区块链的创建过程,各个节点对区块链内容的理解要达成一致,比如哪些属于区块链的内容,哪些不是区块链的内容。这样人们才能就如何确认已发生的交易达成共识。这些共识的达成依赖于比特币的共识算法和奖励机制。矿工决定了对历史记录的共识。

第三个问题是关于比特币价值的共识。让多数人相信比特币是有价值的,人们可以接受比特币并用它进行交易在现在或未来可以换取其他有价值的东西,对于比特币来说是一个很难达成的共识。现实中比特币的投资者、购买者、使用者决定了对比特币的价值共识。

现实中使用的法币只需要“货币有价值”的一种共识,它有国家信用背书,法律保障。而比特币要达成“比特币有价值”的共识,还需要对规则和历史记录达成共识。有意思的是这三种共识具有循环性,相互关联:对规则的共识与对历史记录的共识是相互依赖的,没有对哪些区块有效的共识,就无法达成区块链的共识,也无法判交易是否有效,更无法判断是否有双重支付的企图。同时,历史记录的共识与对比特币价值的共识紧密相连,对历史记录的共识意味着我们承认谁拥有哪些比特币,而对比特币具有价值的共识,会激励矿工们维护区块链,这样又有助于对历史记录达成共识。

比特币系统的运行,取决于参与者在各方面的共识,这种共识交织着各种元素,从一定意义上说每个参与者都在影响或决定比特币未来的演化,只要这三方面的共识能够维持长久,就能够决定比特币的未来。

以上阅读笔记信息整理来源:

书名:《区块链技术驱动金融》

作者: [美] 阿尔文德·纳拉亚南 约什·贝努、

爱德华·菲尔顿 安德鲁·米勒 史蒂文·戈德费勒

出版社:中信出版集团

上一篇 下一篇

猜你喜欢

热点阅读