我是靠谱客的博主 个性唇彩,最近开发中收集的这篇文章主要介绍区块链怎么运用到项目上_聊聊那些不是“区块链”的区块链项目,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

6fad542e2ff819247d808e3f0d34f7b2.png

ZB创新智库

ZB Nexus

区块链Blockchain组合单词“Block+Chain”很形象地描绘了区块链底层的数据结构:由区块组成的链式结构,每一个区块记录一段时间内的交易信息,区块之间通过不可篡改的哈希值形成链接,也即所谓的“指针”,通过哈希指针可以从当前区块链追溯至创世区块形成一条有时间戳证明的交易链条。区块链的优点是不可篡改、快速验证和安全,缺点是性能、存储和效率。目前很多项目在区块链的基础上通过扩容、分片/分层、跨链等技术手段来提高性能和扩展性,也有一些项目则是从底层逻辑和共识上突破现有区块链的思维框架,致力于未来新一代分布式账本DLT技术的演讲提出超越“区块链”的思想。

图.区块链链式结构-哈希指针链接区块数据

0dea3daf181a537009a3be329233e3b3.png

所谓”Beyond Blockchain”,抛弃低效的链条式数据记录和冗余的多方存储,采用基于树或者图这类数据结构作为交易记录存储的物理逻辑,构建基于Merkle树的分布式哈希表DHT技术实现数据文件的快速查找和搜索,解决现有区块链项目并发性能低下以及区块存储空间低效的难题,这里面典型代表项目包括DAG类项目MIOTA、Byteball、Nano,哈希图项目Hashgraph,DHT技术的Holochain。

图.主要DAG项目

c17c09bdcb3e0e196317f706ab5a3736.png

1. MIOTA

6e43a197f74d52886a18dd32d9f2c8b2.png

IOTA是针对物联网领域的区块链项目,其应用的是DAG技术,IOTA的DAG技术称为 “缠结”(Tangle), Tangle中任何交易的发起者同时也是交易的验证者,要付出一些PoW证明,需要去验证最新的没有被确认的2笔交易。

图.Tangle缠结

88cfdf934e5c31b22772a82064e1c27f.png

DAG全称是“有向无环图”,没有区块概念,不是把所有数据打包成区块,再用区块链接区块,而是每个用户都可以提交一个数据单元,这个数据单元里可以有很多东西,比如交易、消息等等。数据单元间通过引用关系链接起来,从而形成DAG(有向无环图)。简单来说,DAG和链比起来就是前者先上车(出块)再买票(共识,获得一致性),后者是先买票再上车。DAG先通过并发出块再找最长主链达成共识。

DAG的特点是把数据单元的写入操作异步化,大量的钱包客户端可以自主异步地把交易数据写入DAG,从而可以支持极大的并发量和极高的速度。在IOTA的Tangle中还规定写入操作的同时要免费验证另外两笔交易,花2秒钟找出一个随机数,所以IOTA也没有交易手续费。

DAG技术也存在一些缺陷,比如IOTA项目团队就声称暂时并非一个去中心化的网络,还不够成熟,在网络中需要Coordinator服务器来充当见证人的角色,由coordinator来最终拍板交易是否合法,告诉节点哪些交易需要验证,而设置这些协调员的目的是为了防止交易冲突导致双花分叉。另外IOTA的curl哈希算法也被指出易碰撞,容易伪造签名导致攻击者可以用自己的私钥盗用财产。IOTA也不支持智能合约。

DAG还有一个问题就是说在共识机制保证账本安全程度不如区块链,DAG虽然有工作量证明但只是少量的验证工作,没有矿工交易手续费, 对矿工投入算力进行验证计算的激励是不足的。DAG这种服务于高并发吞吐的系统也容易引入大量的垃圾小额交易产生拒绝服务DDoS攻击等问题,这些问题其实也是包括IOTA在内的纯DAG项目由市场热捧到冷清的原因,高并发的故事讲了一遍又一遍,却实际上没有体现比区块链更明显的优势。

2. Byteball

Byteball是一种基于DAG技术的新型数字资产平台,它不仅支持P2P支付,还支持智能合约、预言机、隐私资产、ICO等功能。ByteBall网络中由12个见证人组成的全节点网络负责交易发布、交易引用和互相监督。在ByteBall中,交易共识顺序由主链确定,而主链由DAG中一系列交易组成,由见证人节点来确认。

图.Byteball中主链的确认

7a3fb4e3e6b638d207bbe18008197b67.png

加粗的一系列交易构成主链。标有“W”的单位是由主要证人签发的交易。12名主要证人中至少有6名必须定期发布交易,主链才能扩展才能确认新的交易。协议同时规定必须至少有6个见证人引用最新交易否则无法确定主链。

在Byteball网络中,Hub节点是网络中的骨干节点,它们之间构成P2P网络,其它节点需要通过它们进行相互通信。全网中可以存在多个Hub,用户可以自由选择其想要接入的Hub。这里需要说明的是,Relay节点具有与Hub节点类似的功能,只是不提供端到端的信息加密服务。

图.Byteball P2P网络由Hub节点构成

880c2ad84e496c72ca8794fff6b6f72d.png

Hub节点在账本数据的有效性、可靠性及安全性方面起着十分重要的作用。然而,在Byteball目前的实现下,Hub节点是完全没有收益激励的,同时还要承担相应的服务器开支。Byteball的Hub节点主要为官方控制。

Byteball的性能测试tps 在15tps左右,并没有发挥出DAG的优势,Byteball网络的交易处理速度与代码执行速度、网络传输时延、硬件处理能力等都可能有关系,而创始人承认byteball代码实现中大量的SQL操作增加了处理时延。另外就是Byteball的手续费激励主要为见证人和用户子单元,负责数据转发的Hub节点没有任何收益激励而且主要为创始团队控制。

3. Nano

99d01ff31d2c3038c58ff595632896b3.png

Nano 来自RAIBLOCKS项目, 是一种零手续费、即时交易且具有极大可扩展性的加密货币。它通过有向无环图(DAG)数据结构而非传统的单线程区块链数据结构来实现其功能。NANO采用的独特的DAG,其团队称之为区块点阵(block-lattic)。

Block-Latice针对每个账户,按交易顺序分别记录仅属于该账户的交易事件,形成该账户对应的唯一的一条链。一个账户一条链的设计,使得每笔支付交易只会导致相关的两条链(或两个以上,若同一笔支付交易中可以包含多个接收账户)需要变更,而不影响其他链,不同链之间的更新是异步的,不需要同时进行,提高了系统的吞吐量。

f9303678e3a23096fdcf6444dd5630bd.png

当A支付给C时,A账户链中会生成只包含这笔交易信息的区块,A账户余额发生变化,C账户链感知到A账户链中的数据变化后,也会生成只包含这笔交易信息的区块,C账户余额也发生相应变化,A链与C链不可以出现资金发送(Send)与接收(Rreceive)数额不一致的现象。Nano通过数字签名和类似PoS的代理人投票机制确保账本一致性,对冲突区块(分叉、双花制造的多个冲突区块)选择与淘汰。Nano每个账户链的第一个区块(称为开户区块)中填写用户自愿选择的投票代表(Representative),并允许用户随时将其更换。投票代表R的权重由选择R作为代表的所有账户的余额总和所决定,与PoS共识机制类似。

NANO也存在一些问题,首先是未经安全证实的共识算法,对DDoS垃圾攻击比较脆弱,存在中心化问题以及缺乏智能合约支持。

fa1aa9b04c6b9eb6d5af3d2b80c02054.png

4. Hashgraph

4c8e780e039507b3eaf6da1b939f4f63.pngHashgraph目标是打造可信的且可以大规模应用的底层平台,突破区块链的局限。Hashgraph 采用不同于线性区块的“哈希图( Hashgraph )”结构和异步拜占庭容错共识ABFT,区别于工作量证明(PoW)和权益投票系统(PoS)系统, Hashgraph在公链和私有链领域都有潜在的使用价值。

概括一下Hashgraph主要技术:公链环境异步BFT共识、八卦协议gossip protocol 、DAG以及虚拟投票。

BFT共识存在的一大问题是消息传递占用网络带宽资源过高,Hashgraph使用Gossip protocol加上虚拟投票,在共识的时候不需要大规模消息传递。Gossip protocol是一种病毒式传播算法,算法运行原理和实际生活中办公室八卦传播类似,当一个人知道一个八卦后,经过有限时间传播后,最后整个办公室都会知道这一八卦。

fb1e42e82a7cfe94fd6d9dd2e86feaea.png

HashGraph通过核心通信协议gossip protocol进行共识流程,所有节点把自己的交易信息告诉左邻右舍,又把左邻右舍的交易消息传给其他节点, 就像裂变。哈希表的记账单位不是区块也不是DAG那样的交易单元,而是「事件」。事件将节点自己上一笔交易的哈希和要传递交易的哈希以及交易信息打包成「事件」,发给周边任意节点,由于事件包含上一笔交易和要传递的交易的哈希值,可以让全网节点都知道前后事件的关联,最终所有节点完成「虚拟投票」,这里「虚拟投票」是指没有投票箱或计票员,但节点默契达成共识,而且账本准确无误。

5e61948900f99338a646a6b38d84ed50.png

哈希图的最简共识流程模型:

a46473a79a334ea84aefbfb515cf5d80.png

ABCDE分别代表五个计算机节点,A收到B 随机传来的事件,标记为红点。事件包括信息:B的交易时间戳、交易记录和两个事件的哈希值(A自己最新事件的哈希标记为深蓝 和 B传来事件的哈希标记为浅蓝),A对事件数字签名后把红色事件随机告诉其他人,其他节点也以同样的方式传播。红色事件扩散到所有节点就完成记账,因为每个节点最终能共享同样的哈希图。

c87d91d5e267a1eb19c949d4480df024.png

A 可以推知:BCDE 四节点都会认可顶部的黄色事件,因为各自起始时刻的事件(底部橙色)都至少有四条路可以通到顶部事件,这四条路又经过 4 个节点共识投票,而 4 个节点代表大多数,对于5个节点组成网络可以确定全网已达成一致。因为哈希图用的是完全异步的拜占庭容错 aBFT拜占庭容错算法, 不对信息传播速度的快慢作任何假设,属于拜占庭容错算法细分,容错率三分之一,即假设拜占庭节点不超过1/3。

Hashgraph的共识已经成功应用于不少2B私有链系统过程,有相当的安全理论证明,并且验证简单,Gossip protocol谣言算法大规模应用公链场景也在测试中。Hashgraph 集各家所长,在扩展性,安全性和共识达成成本上都有很大突破,当然技术风险也会相较成熟的其他共识机制也会更大。

d52c551d12498ea0e6acd7b71ea63311.png

5. Holochain

Holochain和IPFS星际文件系统使用的是同样一种技术——DHT,DHT是一种全网分布式账本存储和寻址技术,和区块链节点账本记录相同的信息造成冗余,DHT节点只存储一小部分和自己相关的内容,从接近的节点上复制备份冗余信息, 不同节点之间只需要在需要做数据网络同步分享时才需要共识的过程,其他时候运行在自己的应用节点群就好。

图.DHT——分布式哈希表

8a4d5a4cf2abab0df5e8954f5721daa6.png

Holochain的中心思想在于不是所有的dApp应用都需要和分布式网络交互,任何事务都需要通过共识写入到区块,而是通过分布式散列表DHT处理那些需要Holochain主网节点进行共识处理的应用,打个比方,dapp A在整个Holochain网络上运行,但dapp B决定它只想在特定的节点集群运行。dApp A和dApp B都可以做到这一点。dApp A需要与共享分布式哈希表交互,而dApp B则不用。

像BTC、ETH这种传统的区块链项目一般都是以工作量的长度或者代币数量来决定主链,而像DHT这种分布式存储技术是以内容为导向,允许多个分支工作,区块链通过共识算法选择最长的链并将副本更新到整个网络进行同步,而Holochain只需要节点信任分布式散列表,就可以从临近的节点获取信息源进行同步,因此无需说同步整个网络账本,提高了存储效率。

值得注意的是,Holochain项目专注dApp开发的轻量级架构,而不是安全可靠的价值传输储存网络为目标,安全性不如一般区块链,其愿景是在没有区块链的情况下如何提高分布式应用的开发效率。

The end

——————————

本文由ZB创新智库独家首发

未经授权不可转载

文章作者丨Charles

排版设计丨Cherry

·  相 ·    ·  阅  ·  读  · 

  1. ZB创新智库:致力于打造一体化区块链研究体系和顶级产业智库

  2. 企业业务如何与区块链结合?

  3. Tokenomics科普

  4. 区块链雇主前三甲:IBM、甲骨文、普华永道

  5. 加密经济到来—区块链商用原则

  6. 一文全面认识区块链

  7. 区块链数据隐私安全方案框架

  8. ZB 投研周报:Dapp.com 获融资,Bakkt 开始测试

  9. 企业区块链方案之平台选型

96a479abd20c095bd2bc9ac5d597f17e.png 006b20b73d837982b074da387ac8d1a5.gif

扫码关注最新前沿投资动态

全面 · 系统 · 客观

最后

以上就是个性唇彩为你收集整理的区块链怎么运用到项目上_聊聊那些不是“区块链”的区块链项目的全部内容,希望文章能够帮你解决区块链怎么运用到项目上_聊聊那些不是“区块链”的区块链项目所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部