第一章——区块链的结构

  在《区块链底层原理与技术架构》一书中,把区块链框架划分为四层:数据层,网络通信层,共识验证层和业务应用层,如下图:

  

 

  1.数据层

  它主要实现了2个功能,一个是相关数据的存储,另一个是账户和交易的实现与安全。数据储存基于mercle树,通过区块的方式和链式结构实现。账户和交易基于数字签名,非对称加密技术,多重签名技术等多种密码学算法和技术,保证了交易能在去中心化的情况下安全的进行。

  2.网络通信层

  网络通信层主要实现网络节点的连接和通信。与有中心服务器的中央网络不同,对等网络的用户即是服务器,又是一个节点,用户群体通过交换信息组成一个互联网体系。

       3.共识验证层

  共识验证是区块链的核心。什么是共识呢?即全网的节点对交易和数据达成一致,可以防范51%攻击,女巫攻击,拜占庭攻击,保证交易和数据安全。因为其应用场合的不同,现在已经有很多种富有特色的共识机制。如下列几种:

  a.Pos(Proof of Stake)权益证明算法 原理是节点获得区块的奖励与该节点持有的代币数量和时间成正比,在获取奖励后,该节点的持有时间清零,重新计算。缺点:代币数量对收益影响太高,如果前期分配不均,很容易造成贫富差距。

  b.DPoS(Delegate Proof of Stake)股权授权证明,原理是所有节点投票选出100个节点(可是其他数量),区块完全有这100个节点按照一定算法生产,有点类似于美国的议会制。

  c.Casper 投注共识,原理是每个参与共识的节点要支付一定的押金,获取的奖励和押金成正比,如果有节点作恶押金会被扣掉。

  d.PBFT(Pratical Byzantine Fault Tolerance)拜占庭容错算法,原理是与一般的基于博弈论的机制不同,PBTF本质上是通过算法实现了共识,因此区块确认快,不想其他公有链一样在若干区块之后才安全,可以实现出块即确认。

  e.POW(Proof of work)工作证明 原理是节点利用自身计算机做数学计算进行交易确认和提供 安全性。也是多劳多得,如过一个节点提供的算力越高,他的效率也就越高,他获取的奖励就和他的算力成正比。

  f.RAFT 分布式状态下保持一致性的算法,不多做解释,看看这个动画,你应该就能理解了 http://thesecretlivesofdata.com/raft/

  为了让节点积极参与到共识确认中,主要依靠的是区块链资产的发行和分配制度。这种资产就是我们所熟知的虚拟币,比如以太坊就是整个平台运行的燃料,每挖出一个以太坊区块就奖励5个以太坊,同时运行只能合约和交易都要向矿工支付一定的以太坊作为手续费

  4.业务应用

  利用区块链技术可以构建种类及其丰富的应用,比如股权,网络购物支付,域名,商标等等。甚至可以构建以脚本为基础的智能合约,该合约赋予账本可编程的特性,通过虚拟机的方式运行代码,实现智能合约功能,比如以太坊的虚拟机(EVM)。同时,在智能合约的基础上添加能够与用户交互的前台页面,就能形成去中心化的应用

  总之,区块链具有去中心化,时序数据,集体维护,可编程,安全可信和匿名性等特点。

  下一遍文章我会讲讲区块链的工作流程。

posted @ 2017-11-16 23:39  一只会编程的猫  阅读(2330)  评论(0编辑  收藏  举报