区块链技术对比和实战项目选型

简介:

讲到区块链技术对比和实战项目选型这个话题,我把这个内容分为三个部分。第一个部分:四大区块链项目的介绍,第二个部分:区块链技术对比,第三个部分:实战项目解析即选择用什么区块链技术。

第一部分讲到比特币,以太坊,EOS,和Linux下面的HyperLedger fabric联盟链

第一个区块链技术是1.0,区块链技术的第一个应用。

以太坊被誉为区块链2.0,是因为它在比特币的基础上引入智能合约,让我们能够更自由的在区块链上进行编程。

第三个是被誉为区块链3.0的EOS,因为比特币和以太坊的TPS都比较低,EOS让链可以承受企业级并发。

第四个Fabric主要是联盟链类型的。

e04d28a455bc02585601a89ddcd4b0e6db17b052

我们从比特币出发,首先为大家介绍一下,现在区块链典型链为形状的数据结构。

48018733432662acc41781936639977faec0f5ee

1

第一层是数据层,是以区块为单位的链状数据块结构。

第二层网络层,包括P2P网络、传播机制、验证机制。

第三层是共识层,就是我们平常说的POW,POS,DPOS这样的共识算法。

这三个是区块链技术的核心,所有的区块链技术一定会包含这三层。

再上面一层是激励层,也就是我们如何给矿工发那些奖励,在公链里面这一层是一定会有的,但是在与一些私链里面它可能并不需要去对他的矿工做一些奖励,那么也是可能没有的。

再上面一层是合约层,因为比特币出现的比较早,所以它的这一层是没有的,在以太坊上面,这一个会做的比较好一点。

最上层是应用层,是我们什么转账啊,或者做一些区块链应用这样一层结构。

这是我们区块链整体的一个架构。

比特币是最早也是全球最广泛使用和真正意义的去中心化区块链技术,但是不可否认的是它的pow算法是比较低效的,并且也比较耗能耗电,所以它在整个技术上是不够成熟的,但是不可否认的是它也是现在最大的一个链,毕竟最贵,因此它的开源技术体系非常值得参考。

以太坊是可编程的区块链,也就是引入了我们所说的智能合约。

它第一个是有一个EVM虚拟机,第二个是指定Solidity这种编程语言。以太坊官方支持Solidity,LLL和Serpent三种语言,但是在我们平时的开发中,大家最喜欢也最常用的还是Solidity语言。

第二个以太坊是使用了内存需求较高的哈希函数。

第三个是引入了一个叔块(Uncle Block)的激励机制,简单介绍一下叔块就是我们在挖矿的时候有可能会出现分叉,上面的部分会变成孤儿区块,那这个矿机之前所做的努力全部白费了,他也不会得到任何奖励。

在以太坊中,如图,高度三的最后这一块,可以将这个黄色方块的数据包含进去,那在这个黄色区块对于它来说就是叫做叔块。这一块对这个叔块可以获得这样一个奖励。

652220075654624a514ec667d8fb85fbf165c2ba

以太坊之所以要引入这样一个机制,主要是因为它的块的生成时间比比特币要快很多,所以也更容易出现这种情况,为了让这个问题得到更好的解决,于是引入了叔块机制。

第四就是挖矿的难度也会有一定的调整。

第五个是以太坊里的gas在以太坊上面运用智能合约是需要消耗gas的,引入这个是而为了避免循环攻击。也就是说你写一些智能合约难免会出现死循环的情况,可是在区块链上又不像平时的应用直接重启就可以。所以需要使用gas避免这种循环的情况,当gas用完了这个程序就不能继续下去了,可以避免这种循环攻击。

第六个是记录当前状态的哈希树的根哈希值到区块来实现轻量级客户端。

下面还写了一个就是最新的区块率,现在以太坊上大概有20.9%的叔块,括号里是可以查看以太坊状态的网站(www.etherchain.org/)可以查到实时资料。

下面介绍一下EOS,现在EOS公链公网都还没有上线,但是即将上线了。

它第一个是引入了DPOS 共识算法和石墨烯底层工具组,能够满足每秒上万次,甚至每秒上百万次交易请求的企业级应用需求。因为以太坊的并发太小了,很多项目都不能跑起来。

第二个EOS上转账交易与运行智能合约并不需要消耗系统代币,这个是和以太坊不太相同的一点,那么EOS上的代币是用来干什么的呢?就是用来获取系统资源的,就是我占有所少的代币,那么我就可以获取多少的系统资源。这样我们的系统资源在别的项目出现比如泵块的情况就不会影响到我,比如以太坊上面并发过大会导致全网瘫痪之类的。

第三个是EOS上面提出了“宪/法”这个概念,主要就是制定了一些大家需要共同遵守的一些约定还有就是出现一些错误的时候用于区分此错误是否确实为 bug,并判断社区的修复举措是否得当。

第四个是EOS 上也算是有设置以太虚拟机(EVM),能够支持现有在以太坊运行的智能合约。现存在于以太坊的区块链应用,通过添加少量适配,就能够在 EOS 系统上运行。但是因为效率问题,官方还是推荐C++进行智能合约的编写,他们认为C++是效率最高的。

第五点是 EOS 新增了官方的 WebAssembly 解释器,用来解释执行 WebAssembly 智能合约,加上之前的编译执行,EOS 智能合约有了两种执行方式。

前面公链项目介绍完之后我们来介绍一下HyperLedger fabric这个项目。fabric是一个带有可插入各种功能模块架构的区块链实施方案,他的目标是打造成一个由全社会来共同维护的一个超级账本。

主要核心逻辑分为三个部分。

1.Membership Services:就是权限控制啊之类的用来管理节点身份、隐私、保密性、可审计性。在fabric升级到1.0之后Membership Services也改名为Fabric-ca,现在也作为了一个单独的项目,大家也可以在网上看到。

2.Blockchain services:也就是平时说的区块链的那一部分,采取可插拔的方式来根据具体需求来设置共识协议选择共识算法,比如PBFT,Raft,PoW和PoS等等,IBM首选PBFT算法。

3.Chaincode services:提供一种安全且轻量级的沙盒运行模式,来在VP节点上执行chaincode逻辑,类似以太坊的EVM虚拟机及其他上面运行的智能合约。

b1e46fffb317bc44271d5a0445004ca3a22883a6

Fabric是支持java,go和Nodejs语言的一个Chaincode。

介绍完四个项目后还要给大家介绍两个重要的技术。

一个是闪电网络&雷电网络。其实这个就是为了解决比特币区块链的瓶颈处理能力而生的。

好像就是说我给你转一笔钱,但是之前我们都需要去银行排半天队,还要花很多的手续费,我们才能进行这样一个转账的操作,那么当我的转账金额比较小或者是频率较高的时候非常不划算,这样我排队的时间也非常长,我交的手续费也非常的多,那么在这个时候就出现了一个闪电网络,我们也可以把它理解长支付宝。相当于我先花了一部分钱放到支付宝里,那么我就可以用这一笔钱在支付宝内和你进行很多次的交易很多次操作。最后只有我在需要把这一笔钱提出来的时候我才需要再去银行也就是比特币上面排一次队,做一次记录操作。

我们可以简单地这样来理解这两个网络的作用。其中的两个核心概念一个是RSMC(Recoverable Sequence Maturity Contract)相当于一个保证金和 HTLC(Hashed Timelock Contract)。

前者解决了链下交易的确认问题,后者解决了支付通道的问题。这就是闪电网络。

雷电网络就可以理解为一种脱机缩放解决方案,用于在Ethereum块链中执行符合ERC20标准的令牌传输。 它是Ethereum的Bitcoin闪电网络版本,可实现近即时,低费用,可扩展和隐私保护的付款。

不同点是雷电网络除了可以支持以太币以外也可以支持所有ERC20标准的令牌传输。

43f7b0128d48fa9732a882727737cdda688e95f5

下面一个是0x协议。

0x协议,全称OxProject。0x是一个点对点交易的开源协议,以促进以太坊区块链中ERC20代币的交易。

该协议旨在作为开放标准和通用构建模块,推动包括交易所功能的去中心化应用(DApps)之间的互操作性。

0x是基于以太坊区块链的去中心化交易所开源协议。这个协议是通过以太坊的智能合约来创建的,它可以让任何人都能开设和运行去中心化交易所。

0x是基于以太坊区块链的p2p的ERC20代币交易所协议。它有标准的开源协议、通用的创建区块,在分布式应用中实现交易功能的互操作性。基于0x协议的去中心化应用可以进入公开的流动池,或创建自己的流动池,并收取一定的手续费。

介绍完这些项目和技术的基本情况,下面这个图就是一整个的对比。

913f2a0d97fc4a5ff08e87750ab7a32f76259d86

第一个是账户设计,比特币的账户设计是UTXO,是以余额,就像是我的钱包里有120块钱,你这个东西10块钱,那么我就拿10块钱出来买就好了。其他的基于账户的就像微信支付这样的,要支付首先我要看是否有这个账户,并且这个账户是否有足够的余额,在这两者都满足的情况下,我才能完成这一笔交易。

下面很大一个区别就是他们每一个的共识算法都是不一样的,比特币是工作量证明机制,我只要满足了我的工作量,谁第一个算出来谁就获得这个计量群。

以太坊现在还是用的工作量证明机制,在未来的话他会用到POS,也就是说我的账户上如果有以太坊的币的话,是根据我的币的数量和和我存放币的时间,那么我可以获得一个相应比例的降低难度。如果我的币多,拥有的时间长,那么我这一次算的难度就会减小,就可以更快的算出这个东西,就可以更快的获得我的区块。

EOS的DPOS就是委托权益证明机制,就是我可能会先投出21个节点,后面所有的记账的任务都由这21个节点来做,那么他们之间就是一个合作的关系,而不像前面两个都是竞争的关系。

最后一个PBFT是一个拜占庭容错算法,这个的问题是它需要两两之间都可以互相通信,所以不适合在公网上使用,因为会增加网络成本。

最后面的智能合约C++/JAVA等语言对于程序员会更加友好,因为他们的功能更加完善,而Solidity则是需要自己完善很多的功能。

那在介绍完前面的内容之后,我们以两个例子为例,来分析洗一下如何在实际的开发过程中,怎么去选择我们的区块链。

第一个例子是:

b37b435efb6ce0c63f87bafc712162520daf743d

我们可能在保险公司买了保险,那么在面对保险公司的怀疑时,因为我们把数据放在了区块链上,保证了数据的真实性,很多的问题因为这个被实时共享的信息而被解决,也不用担心数据的有效性问题和安全性问题。这个时候很重要的一点是数据上链时候的真实性,就是我们要保证这个数据是真实的,此时每一个上链节点的身份是都是需要保证是真实的我们知道的。所以在这种情况下我们需要知道网络成员和上链人员的身份。同时我作为病人,数据的选择公开性也是需要考虑的,这个时候更适合的是选用联盟链即Fabric里面的Membership Services可以帮助我们解决很多在身份认证上面的一些问题。

2459ec42e81e3315f948a8b72963ff1c562e2e14

第二个例子是:

5028830a12ac8456ad08e8ddd0dd7ce1e2edb287

我们经常会看到很多筹集资金的项目,那么在这些项目中,资金的去向,我们资金总数的真实性也是很重要的,把数据放在区块链上,可以保证我们的资金的去向,可以保证公益项目的成功开展。

e69677b2c362c4d0888177a94074ba85e7f4d38a

这样的话可能就会选择以太坊,一是因为有智能合约,可以保证我们的一开始输入的金额的锁定,以及后续的一些功能,我们都可以用智能合约的编写来实现。第二个是以太坊的价值是被公众普遍认可的,最后是所有数据公开透明,所有的交易都可以在以太坊上面查到。所以在这样的情况下,我们更倾向于使用以太坊的官网来事先这样一个公益众筹平台项目。


原文发布时间为:2018-04-23

本文来自云栖社区合作伙伴“中生代技术”,了解相关信息可以关注“中生代技术”。

相关文章
|
6天前
|
供应链 安全 分布式数据库
探索区块链技术在供应链管理中的应用
【10月更文挑战第21天】 本文深入探讨了区块链技术如何在供应链管理中发挥关键作用,通过具体案例分析,揭示了区块链提高透明度、降低成本和增强安全性的潜力。文章首先概述了区块链技术的基本原理及其对传统供应链模式的挑战,接着详细讨论了区块链如何在不同供应链环节中实施,并分析了其带来的变革。最后,文章提出了企业在采纳区块链技术时可能面临的挑战和应对策略,为供应链管理者提供了宝贵的参考。
|
17天前
|
存储 安全 物联网
未来已来:区块链技术在物联网与虚拟现实中的应用
随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐改变我们的生活和工作方式。本文将探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,为我们带来更便捷、安全和沉浸式的体验。
|
18天前
|
存储 供应链 算法
深入探索区块链技术:原理、应用与未来展望
本文将带你深入了解区块链技术的基本原理,探讨其在金融、供应链、医疗等多个领域的应用案例,并展望其未来的发展趋势。通过本文,你将对区块链技术有一个全面的认识,理解其背后的技术逻辑和应用场景。
|
24天前
|
供应链 安全 区块链
探索区块链技术在数据安全中的应用
本文深入探讨了区块链技术如何革新数据安全领域,特别是在保护个人隐私、增强数据完整性和透明度方面的作用。通过分析区块链的去中心化特性、加密技术以及智能合约的功能,文章阐述了这一技术如何有效防止数据篡改、确保交易记录的不可逆性,并促进跨组织间的信任建立。此外,还讨论了当前区块链技术面临的挑战及未来发展趋势,为理解其在数据安全领域的潜力提供了全面视角。
|
20天前
|
存储 供应链 监控
深入探索区块链技术在供应链管理中的应用####
本文旨在探讨区块链技术如何革新供应链管理,通过分析其核心特性与实际案例,揭示该技术如何增强透明度、提升效率并降低成本。我们将从区块链的基本原理入手,逐步剖析其在供应链各环节中的具体应用,最终展望其未来发展趋势。 ####
51 3
|
23天前
|
存储 供应链 分布式数据库
深入理解区块链技术:原理、应用与挑战
本文旨在探讨区块链技术的基本原理、主要应用及其面临的挑战。通过分析区块链的分布式账本技术、加密算法和共识机制,我们揭示了其如何在无需中心化权威的情况下确保数据的不可篡改性和透明性。此外,文章还讨论了区块链在金融、供应链管理、智能合约等领域的应用案例,并指出了当前区块链技术面临的可扩展性、隐私保护和法律监管等挑战。通过对这些内容的深入分析,我们希望为读者提供一个全面而深入的区块链技术概览。
49 6
|
22天前
|
供应链 物联网 区块链
未来技术的脉动:探索区块链、物联网与虚拟现实的融合趋势
本文深入探讨了区块链技术、物联网(IoT)和虚拟现实(VR)这三个领域的最新发展趋势,以及它们在现代科技生态中的交互作用。通过分析这些技术的独特优势和面临的挑战,我们揭示了它们如何共同塑造未来的技术景观,特别是在数据安全、智能设备管理和沉浸式体验方面。文章还讨论了这些技术融合后可能带来的社会和文化影响,以及它们如何推动创新和促进经济增长。
48 3
|
24天前
|
存储 供应链 安全
智能合约与区块链技术的融合:重塑数字信任###
本文深入探讨了智能合约与区块链技术融合的现状、挑战与未来趋势。不同于传统摘要,本文以高度概括的形式,聚焦于两大核心要点:一是智能合约作为区块链上的自执行协议,如何通过代码自动化地促进信任最小化的交易;二是这种融合如何推动数字经济向更加透明、高效、安全的方向发展。全文围绕智能合约的工作原理、区块链提供的底层支持、以及两者结合所面临的技术与非技术挑战展开讨论,旨在为读者提供一个关于这一前沿技术领域的全面而深入的视角。 ###
|
24天前
|
存储 供应链 区块链
探索区块链技术在供应链管理中的应用
本文旨在探讨区块链技术如何在供应链管理中提供透明性、安全性和效率,以及它如何帮助解决传统供应链所面临的挑战。通过分析区块链的工作原理及其在不同行业案例中的应用,本文揭示了这一技术革新对现代供应链管理可能产生的深远影响。
|
25天前
|
供应链 算法 安全
深度解析区块链技术的分布式共识机制
深度解析区块链技术的分布式共识机制
47 0