美文网首页
浅出区块链

浅出区块链

作者: 安福院长 | 来源:发表于2018-03-27 07:53 被阅读0次

    缘起

    谈起区块链不得不提到比特币,2008年中本聪在 比特币: 一个点对点的电子现金系统 一文中首先提出比特币,初衷很明确:希望这套系统不依赖任何一个中心,因此它是一个分布式系统,区块链的概念正是在中本聪设计比特币系统的时候第一次提出,比特币项目也是区块链技术目前为止落地应用最成功的一次。

    本质

    本质上来说,区块链是一个分布式的数据库,这个数据库维护了一个不断增长的数据记录列表。区块链这个词拆开来看,一个区块,一个链,区块里存放的是数据,链是用来将区块串联起来。如下图所示:

    1. 区块链本质

    区块

    区块里存放的是数据,每个区块包括两部分

    区块头:记录当前区块的特征值

    区块体:记录实际的交易数据

    区块头主要包括的特征值如下:

    Version:版本号

    Previous Block: 前一个区块头的hash值

    Number Of Transactions:交易数

    Timestamp:时间戳

    Nonce:随机数

    Merkle Root:区块体根节点hash值

    交易的记录存储在区块体中,区块体的存储结构是一颗二叉树,称为默克尔树,在这棵树中叶子节点存放的是交易数据及数据的hash值,两个叶子节点的hash值生成父节点;直至生成根节点,就是默克尔树根节点(Merkle Root)

    2. 默克尔树

    可以打开此链接查看一个比特币区块完整的详细信息

    区块头里存放着上一个区块的hash值顺序成为一个链条,区块链的概念就是这一样来的。

    3. 区块链

    工作流程

    理解了交易记录,区块,链等概念,我们来看下底层区块链的工作流程

    1. 交易发生

    2. 节点监听交易记录

    3. 验证记录并将合法记录加入到节点内存区

    4. 计算出区块并广播全网形成共识

    5. 产生的新的区块加入到区块链中

    6. 重复2-5

    共识算法

    区块链技术是基于分布式系统,为了保证各个节点数据的同步,我们需要一个算法来保证数据一致性,这类算法被称为共识算法。比特币的共识算法为工作量证明(PoW),其他共识算法还有 权益证明(PoS)、授权股权证明机制(DPoS)、瑞波共识协议(RCP)、拜占庭共识算法(PBFT)等

    挖矿

    回想我们在上面所提到的区块链工作流程第四步

    4. 计算出区块并广播全网形成共识

    如何计算出区块?这 就需要寻找一个随机数(Nonce)和区块头的其他特征值一起计算出来一个hash值,一旦找到一个随机数使得计算出来的hash值满足难度要求,即可全网广播告诉其他节点,这个区块已经被找到了,而找到区块的节点会有相应的比特币的奖励。这个过程被形象的称为挖矿。计算hash的机器被称为矿机,操作矿机 的人被称为矿工

    区块链分叉

    区块链是一个去中心化的数据结构,各个节点在任意时刻不会 保持实时一致性,会存在某一时刻不同的节点形成了多个区块,这就形成了分叉,这时应该采用哪一个区块?

    目前的规则是新节点总是采用最长的那条区块链。如果区块链有分叉,将看哪个分支在分叉点后面,先达到6个新区块(称为"六次确认")。按照10分钟一个区块计算,一小时就可以确认。

    区块链分类

    根据参与者的不同可以分为公开链,私有链,联盟链

    公开链顾名思义,任何人都可以参与使用和维护,典型的如比特币区块链,信息完全公开

    私有链,集中管理者进行限制,内部少数人可以使用,信息不公开

    联盟链介于两者中间,若干组织维护一条区块链,区块链的使用有权限管理,相关信息能够得到保护。

    总结

    区块链不是一个凭空产生的一个新技术,它是技术演化到一定程度后的产物,其应用场景也跟环境息息相关,能否最终带来成本的降低和效率的提升,是这项技术深入应用的关键,它也面临着很多有待改进的关键技术点:

    密码学技术

    共识机制

    处理性能

    系统安全

    相应的数据和存储系统

    和现有系统的融合

    参考链接

    How does blockchain really work?, by Sean Han

    Bitcoin mining the hard way: the algorithms, protocols, and bytes, by Ken Shirriff

    区块链技术指南,by 杨保华 陈昌

    相关文章

      网友评论

          本文标题:浅出区块链

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