区块链本质上是什么,一个区块链至少可分为三层,有那三层

区块链本质上是什么,一个区块链至少可分为三层,有那三层

一、一个区块链至少可分为三层,有那三层

金窝窝网络科技分析区块链的分层要点有以下三层:

最底层是一些通用的基础模块,比如基础加密百算法,网络通讯库,流处理,线程封装,消息封装与解码,系统时间等度;

中间一层是区块链的核心模块,一般包含了区块链的主要逻辑,如P2P网络协议,共识模块,交易处理模块,交易池模块,简单合约内或者智能合约模块,嵌入式数据库处理模块,钱包模块等等;

最上面一层,往往都是基于容Json

Standard

RPC的交互模块,基于Json-RPC,我们还可以做出更好的UI界面,也可以是一个web-service。

二、区块链二层网络有什么用,区块链网络层主要包括哪些

区块链两大用途

第一,用于转账和支付,区块链技术可以用来去中心化,避开繁杂的系统,转变为付款人和收款人之间,另外不管是境内还是境外转账,我们都可以看到这低价迅速的特点,且中间的手续费低下。

第二,网络安全

使用区块链增加互联网的交易的安全性,虽然记录都是可见的,但是区块链采用的是非常高级的加密技术,这样极大地提升了交易安全。

区块链结构层是什么?

区块链总共有六个层级结构,这六个层级结构自下而上是:数据层、网络层、共识层、激励层、合约层、应用层。

数据层——数据层是区块链六个层级结构里面的最底层。数据层我们可以理解成数据库,只不过对于区块链来说,这个数据库是不可篡改的、分布式存储的数据库,也就是所谓的分布式账本。

合约层——合约层主要包括各种脚本、代码、算法机制、智能合约,是区块链可编程的基础。我们说的智能合约便属于合约层。如果说比特币系统不够智能,那么以太坊提出的智能合约则能够满足许多应用场景。合约层的原理主要是将代码嵌入到区块链系统上,用这种方式来实现能够自定义的智能合约。这样一来,在区块链系统上,一旦触发了智能合约的条款,系统就能够自动执行命令。

网络层——区块链的网络系统,本质上是一个P2P(点对点)网络,点对点意味着不需要一个中间环节或者中心化服务器来操控这个系统,网络中的所有资源和服务都是分配在各个节点手中的,信息的传输也是两个节点之间直接往来就可以了。不过,需要注意的是P2P(点对点)并不是中本聪发明的,区块链只是融合了这一技术而已。所以,区块链的网络层实际上就是一个特别强大的点对点网络系统。在这个系统上,每一个节点既可以生产信息,也可以接收信息,就好比发邮件,你既可以编写自己的邮件,也可以收到别人给你发送的邮件。

应用层——应用层就是区块链的各种应用场景和案例,我们现在说的区块链+就是所谓的应用层。目前已经落地的区块链应用主要是搭建在ETH、EOS等公链上的各类区块链应用,博彩、游戏类的应用比较多。真正实用的区块链落地应用,目前有由CoinBank投资的全球首条物联网落地应用。

共识层——在区块链的世界里,共识,简单来说就是全网要依据一个统一的、大家一致同意的规则来维护更新区块链系统这个总账本,类似于更新数据的规则。让高度分散的节点在去中心化的区块链网络中高效达成共识,是区块链的核心技术之一,也是区块链社区的治理机制。目前主流的共识机制算法有:比特币的工作量证明(POW)、以太坊的权益证明(POS)、EOS的委托权益证明(DPOS)等等。数据层、网络层、共识层这三层保证了区块链上有数据、有网络、有规则。

激励层——激励层就是所谓的挖矿机制,挖矿机制其实可以理解成激励机制:你为区块链系统做了多少贡献,你就可以得到多少奖励。用这种激励机制,能够鼓励全网节点参与区块链上的数据记录和维护工作。

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

Layer2是什么?

前些天不是埃及运河堵塞船过不去了嘛,然后还要涨价什么的。其实layer2就和这个一样的道理,你在区块链中发起交易运行应用太堵了就需要扩容。当下是主流的一个发展方向,你看波卡生态圈、闪电网络、SIPC,都是想着怎么提高效率而进行扩容的。

以太坊二层网络怎么转到一层上

将主链的部分数据处理转移到Layer2上。以太坊是一个开源的有智能合约功能的公共区块链平台,二层网络是平台内的设定,可以将主链的部分数据处理转移到Layer2上,即可转到一层。

区块链有什么用?能干什么?

简单粗暴告诉你什么是区块链,它能干什么?

区块链是什么?它是如何工作的?

比特币已经成为现代互联网的潮流-随之而来的是区块链。人们说区块链技术将导致互联网运作、企业运作以及其他一切的根本转变。

但什么是区块链?我们大部分人都是不太了解的,如果你想理解区块链,可以认真阅读这篇文章。

什么是区块链?小编来做一个简单的答案解释

用最简单的术语来说,区块链是一个分布式分类账。

要理解这意味着什么,我们首先要看一下它的对立面:一个集中的分类账。因为区块链技术是从金融开始的,下面我们也将使用银行作为例子进行介绍。

以下是我们使用银行借记卡交易的过程:

你可以在商店刷卡购买商品。

商家向你的银行发送账单,以获得商定的金额。

你的银行会验证你是否可能授权购买。

银行将钱汇给商家。

最后,银行在其分类账中记录了这些信息。

这里涉及很多技术,但基本上就是这样。最后一步很重要-银行记录了客户所做的所有交易。这个分类账一直回到银行做的第一笔交易。

该分类账由银行保管,维护和监管。你可以在自己的在线银行帐户中阅读,但无法对其进行更改。银行完全控制。如果它决定做出改变,那么你无能为力。

至关重要的是,如果黑客能够访问银行的分类账,那就可能导致很多问题。他们可以更改帐户余额,使其看起来像某些交易从未发生过,等等。

这就是分布式账本如此酷的原因。

区块链网络可视化

如果银行在分布式分类账上运作,银行的每个成员都会有一份分类账的副本,每当银行的任何成员进行购买时,他们都会告诉银行的其他所有成员。

每个成员都将验证事务并将其添加到分类帐(添加的记录称为“块”)。这有一些重要的好处,因为没有可以操纵记录的集中权限。黑客访问一个分类帐不会是一个大问题,因为其他分类帐可以轻松验证它。

另一方面,它需要大量的工作。简而言之,第二个系统是区块链(至少在财务方案中)。

如上所述,区块链是一个分散的交易清单。如果我发送小明2个比特币,我会向网络中的每个人发送一条消息,说“我正在发送小明2个比特币”,他们都会记录交易。

比特币与区块链

下面我们拿比特币进行举例子说明

比特币交易

但必须验证交易。这就是区块链技术变得有点复杂的地方。每个比特币钱包(我们将在一秒钟内完成)具有公钥和私钥。

你使用私钥向网络的其他成员发送交易请求,并确认你的帐户中有加密货币。如果这样做,他们允许事务在分类帐上注册。

公钥/私钥系统的机制很复杂,但归结为每个事务都是可验证的和安全的。

然而,整个系统的计算成本很高。更新分类帐的每个人都需要有很多权力来验证交易并修改分类帐。这就是采矿的用武之地。验证和修改的人使用他们自己的计算资源,每次他们都会获得小额交易费用。

而且他们正在使用大量电力来完成它。

通过这种方式,每个交易都会得到验证并添加到分类账中,进行验证和修改的人员将获得付款。这是一个合理的系统。

同时,它也非常安全。要更改单个块,你必须更改其后的每个块。在完成所有这些工作后,验证将失败,因为链的其他副本将显示有人篡改了一个。

如何定义区块链这是一个困难的问题

虽然区块链技术背后的机制并不总是直观的,但似乎解释区块链是什么并不太难。但我们在这里描述的只是传统的定义。

我们可以将这种特殊类型的区块链用于广泛的应用;,例如加密货币、共享医疗信息、发送安全消息等。但更多类似区块链的技术正在被开发用于其他用途。

例如,公司可能使用内部区块链来管理软件中的问题跟踪。链上的每个块都可能代表一个问题,用户可以将更新发布到网络。但这是区块链吗?在这种情况下,分类帐不公开,它只在公司内部可见。

有些人会说这不是区块链。

其他类似区块链的技术未加密。他们还是区块链吗?如果它是集中管理的,但使用其他区块链特征怎么办?什么定义了最低级别的区块链技术?对这些问题目前还没有达成一致意见。

什么是区块链钱包?

我们通常会听到人们谈论比特币钱包、以太币钱包以及其他特定于加密货币的钱包。但钱包技术可用于任何使用区块链的系统。

钱包是一种“保存”你的加密货币的软件或硬件。但它实际上并没有任何东西,它只是存储公钥和私钥的地方。该信息允许你访问公共分类帐所示的货币。

钱包是钥匙的唯一记录。因此,如果你失去它,你将无法再访问你的加密货币。

区块链的未来,它将如何改变我们的生活?

关于区块链,有一点很重要,它是公共资源,没有人真正拥有它,因为每个人都拥有它。

区块链不仅仅是科幻小说。我们不需要理解这项技术背后的机制,但你需要明白,它在未来20年里可能会彻底改变我们的生活。

这听起来很大胆,但请记住,20年前,我们还在Netscape上浏览互联网,使用最先进的摩托罗拉翻盖手机,购买我们的第一台DVD播放机。当时,如果我们幻想电脑可以拿在手里,在上面还可以买车、付款、看电影,那一定会被认为是天方夜谭。

虽然区块链的影响可能不像互联网那样明显,也不如手机那么有形,但区块链将切实解决日常生活中的诸多烦恼。比如中介坑人、交易拖延等。在我们现在的生活中,中间商随处可见,我们理所当然地认为他们是生活的一部分。如果有一天,这些中介不复存在,你会发现这个世界将会变成另外一个样子。

幻想一下,到2040年,区块链或将成为一种成熟的、应用广泛的技术。当某一天,你离不开区块链就像现在离不开互联网一样,你就会惊觉这种去中心化的记账技术已化繁就简,成为你生活方式的一部分。

首赞

+1

三、区块链用了哪些技术,区块链使用的技术

区块链技术是什么

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库。

同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

区块链是一个公开的数据列表,其中的每一份记录被称作一个区块。这些区块像链条一样连成一串,形成了区块链。就像成语接龙一样,相邻的词语之间必然存在某种联系才能形成词语链条。区块链也是如此,只不过区块与区块之间的联系要复杂得多。

/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13eb25e778d254564e92584b09″target=”_blank”title=”点击查看大图”class=”ikqb_img_alink”/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13eb25e778d254564e92584b09?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto”esrc=””/

扩展资料

区块链技术创新不等于炒作虚拟货币,应防止那种利用区块链发行虚拟货币、炒作空气币等行为。同时还要看到,区块链目前尚处于早期发展阶段,在安全、标准、监管等方面都需要进一步发展完善。

大方向没有错,但是要避免一哄而上、重复建设,能够在有序竞争中打开区块链的想象空间。中国在区块链领域拥有良好基础,一些大型互联网公司早有布局,人才储备相对充足,应用场景比较丰富,完全有条件在这个新赛道取得领先地位。

从更大的视野来看,人类能够发展出文明,是因为实现了大规模人群之间的有效合作。亚当·斯密所阐释的“看不见的手”,也是通过市场机制实现了人类社会的分工协作。

由此观之,区块链极大拓展了人类信任协作的广度和深度。也许,区块链不只是下一代互联网技术,更是下一代合作机制和组织形式。

参考资料来源:/baike.baidu.com/item/%E5%8C%BA%E5%9D%97%E9%93%BE/13465666?fr=aladdin”target=”_blank”title=”百度百科-区块链”百度百科-区块链

区块链的核心技术是什么?

简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。

或许以上概念过于抽象,我来举个例子,你就好理解了。

你可以想象有100台计算机分布在世界各地,这100台机器之间的网络是广域网,并且,这100台机器的拥有者互相不信任。

那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:

节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;

每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;

基于少数服从多数的原则,整体节点维护的数据可以客观反映交换历史。

区块链就是为了解决上述问题而产生的技术方案。

二、区块链的核心技术组成

无论是公链还是联盟链,至少需要四个模块组成:P2P网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。

1、P2P网络协议

P2P网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。

通常我们所用的都是比特币P2P网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求Peer节点的地址数据以及区块数据。

这套P2P交互协议也具有自己的指令集合,指令体现在在消息头(MessageHeader)的命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能,这些功能都是非常底层、非常基础的功能。如果你想要深入了解,可以参考比特币开发者指南中的PeerDiscovery的章节。

2、分布式一致性算法

在经典分布式计算领域,我们有Raft和Paxos算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的PBFT共识算法。

如果从技术演化的角度来看,我们可以得出一个图,其中,区块链技术把原来的分布式算法进行了经济学上的拓展。

在图中我们可以看到,计算机应用在最开始多为单点应用,高可用方便采用的是冷灾备,后来发展到异地多活,这些异地多活可能采用的是负载均衡和路由技术,随着分布式系统技术的发展,我们过渡到了Paxos和Raft为主的分布式系统。

而在区块链领域,多采用PoW工作量证明算法、PoS权益证明算法,以及DPoS代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是,它们融入了经济学博弈的概念,下面我分别简单介绍这三种共识算法。

PoW:通常是指在给定的约束下,求解一个特定难度的数学问题,谁解的速度快,谁就能获得记账权(出块)权利。这个求解过程往往会转换成计算问题,所以在比拼速度的情况下,也就变成了谁的计算方法更优,以及谁的设备性能更好。

PoS:这是一种股权证明机制,它的基本概念是你产生区块的难度应该与你在网络里所占的股权(所有权占比)成比例,它实现的核心思路是:使用你所锁定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。

DPoS:简单来理解就是将PoS共识算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都可以参与记账。这个圈子可能是21个节点,也有可能是101个节点,这一点取决于设计,只有这个圈子中的节点才能获得记账权。这将会极大地提高系统的吞吐量,因为更少的节点也就意味着网络和节点的可控。

3、加密签名算法

在区块链领域,应用得最多的是哈希算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。

其中,难题友好性正是众多PoW币种赖以存在的基础,在比特币中,SHA256算法被用作工作量证明的计算方法,也就是我们所说的挖矿算法。

而在莱特币身上,我们也会看到Scrypt算法,该算法与SHA256不同的是,需要大内存支持。而在其他一些币种身上,我们也能看到基于SHA3算法的挖矿算法。以太坊使用了Dagger-Hashimoto算法的改良版本,并命名为Ethash,这是一个IO难解性的算法。

当然,除了挖矿算法,我们还会使用到RIPEMD160算法,主要用于生成地址,众多的比特币衍生代码中,绝大部分都采用了比特币的地址设计。

除了地址,我们还会使用到最核心的,也是区块链Token系统的基石:公私钥密码算法。

在比特币大类的代码中,基本上使用的都是ECDSA。ECDSA是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC(椭圆曲线函数)。

从技术上看,我们先从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。

4、账户与交易模型

从一开始的定义我们知道,仅从技术角度可以认为区块链是一种分布式数据库,那么,多数区块链到底使用了什么类型的数据库呢?

我在设计元界区块链时,参考了多种数据库,有NoSQL的BerkelyDB、LevelDB,也有一些币种采用基于SQL的SQLite。这些作为底层的存储设施,多以轻量级嵌入式数据库为主,由于并不涉及区块链的账本特性,这些存储技术与其他场合下的使用并没有什么不同。

区块链的账本特性,通常分为UTXO结构以及基于Accout-Balance结构的账本结构,我们也称为账本模型。UTXO是“unspenttransactioninput/output”的缩写,翻译过来就是指“未花费的交易输入输出”。

这个区块链中Token转移的一种记账模式,每次转移均以输入输出的形式出现;而在Balance结构中,是没有这个模式的。

区块链的技术创新与应用有哪些?

一、区块链系统

作为比特币的底层技术,区块链系统一般由数据层、网络层、共识层、激励层、合约层和应用层组成。

1.数据层

数据层封装了底层数据区块及相关的数据加密和时间戳等基础数据和基本算法,主要描述区块链的物理形式,是区块链上从创世区块起始的链式结构。它包含了区块链的区块数据、链式结构,以及区块上的随机数、时间戳、公私钥数据等,是整个区块链技术中底层的数据结构。

2.网络层

网络层主要通过P2P技术实现分布式网络机制,包括P2P组网机制、数据传播机制和数据验证机制。因此,从本质上来说,区块链是一个P2P网络,具备自动组网的机制,节点之间通过维护一个共同区块链结构来保持通信。

3.共识层

共识层包括共识算法、共识机制。共识层能让高度分散的节点在去中心化的区块链网络中高效地针对区块数据的有效性达成共识,是区块链的核心技术之一,也是区块链社群的治理机制。目前共识机制算法有数十种,包括工作量证明、权益证明、权益授权证明、燃烧证明、重要性证明等。

4.激励层

激励层主要包括经济激励的发行制度和分配制度,其功能是提供一定的激励措施,鼓励节点参与区块链中安全验证工作,并将经济因素纳入区块链技术体系中,激励遵守规则参与记账的节点,惩罚不遵守规则的节点。

5.合约层

合约层主要包括脚本、代码、算法机制和智能合约,是区块链可编程的基础。它将代码嵌入区块链或令牌中,可以实现自定义的智能合约,在达到某个确定的约束条件的情况下,不用经由第三方就能自动执行,是区块链去信任的基础。

6.应用层

应用层封装了各种应用场景和案例,类似于计算机操作系统上的应用程序、互联网浏览器上的门户网站、搜索引擎、电子商城或是手机端上的APP。它将区块链技术应用部署在以太坊、EOS、QTUM等上,并在现实生活场景中落地。未来,可编程金融和可编程社会会搭建在应用层上。

数据层、网络层、共识层是构建区块链技术的必要元素,缺少任何一层都不能称之为真正意义上的区块链技术;激励层、合约层和应用层不是每个区块链应用的必要因素,一些区块链应用并不完整地包含此三层结构。

从商业的角度来讲,区块链技术有它自身的一个特点,就是足够数字化,它是跨境的,是跨时空的,是跨组织的。数据的流动是没有边界的,所以区块链同时是分布式的,它是自组织的和去中心化的。

所以区块链的由来,任何新的颠覆式技术的应用,历来就有两条路线,或者说两种方法。一种方法,是把它视为一种工具,用它来改善传统的商业模式,得到一种边际效益上的提升。另外一种是把它当作一套制度,用来重构商业的底层逻辑。

这两种应用方法,在过去几年就有一个很好的案例。当互联网公司在推广“互联网+”的时候,我们也看到很多传统的商业机构说,不是“互联网+”,而是“+互联网”。那么现在那些喊“+互联网”的人到哪去了?有人认为,互联网只是用来改善的一项技术,传统的东西可以加上一些互联网技术,好比把互联网当电子邮件使用,你弄了一套电子邮件系统,就以为是互联网了。但是有人却把互联网当作制度,从底层重构了商业,最后你会发现你失业了。

第二是去中心化的。为什么要去中心?商业上的区域中心技术带来了商业的去中心化,这个是历史的必然趋势。这个趋势在哪里?我觉得是两点,一个是经济全球化,进入2.0版本。现在通过互联网,已经不是公司在全球化,不是公司把自己变成跨国公司,而是任何一个个人互联网都赋能给它,让它可以在一个中国的小县城,通过互联网把它的产品卖给全世界。经济全球化发展到个人全球化的时候,解决点对点的交易,点对点的服务,成为一个突出的问题。那么区块链技术所带来的实时清算结算,点对点交易交收这些特点,正好可以帮助个人商业活动的全球化。

第三是经济的数字化。当数据集合到一定程度之后,它的流通基本上是跨时空的,商业活动对金融支付的需求,是随时随地随身的,而做不到随时随地随身随需提供场景化、虚拟化的支付清算服务,终究会被技术和市场所淘汰。

#比特币[超话]##数字货币##欧易OKEx#

区块链的技术分类主要包括

1.公链,无官方机构,无管理机构,无中心服务器。参与节点按照系统的规则自由接入网络,没有控制,节点间基于共识机制工作。(颠覆性:绝对可信和公开)

典型案例:数字货币代表比特币。

2.私链是在一个群体内部建立起来的。系统的运行规则根据小组的要求设定,在保留区块链的真实性和部分去中心化的同时,一定程度上限制了修改或读取权限。(相对可信和公开)

典型案例:R3

3.联盟链,由几个机构共同发起,介于公链和私链之间,具有部分去中心化的特点。该区域快速链上的读取权限可能是开放的,也可能是部分开放的,也就是说,通过内部指定多个预选节点为记账方,预选者争夺记账权限,其他访问节点可以参与交易,但不询问记账过程。预选者的能力不应参差不齐。?

(相对可信和公开)

现有案例:超级分类帐

例子:?贷款分流方面,当用户通过我们的链接跳转到对方网页注册时,对方可以选择欺骗,说没有收到用户的注册请求。但是,如果我们把用户注册行为放在区块上,对方在收到用户注册行为的同时,必须向我们付款。

什么是区块链,区块链技术有哪些

什么是区块链

区块链本质上是一个分布式账本技术。如果以数学函数来类比的话,我们可以将分布式网络、共识机制、去中心化、加密算祛、智能合约、权限许可、价值和资产等要素理解为函数中的变量或因子。这些变量和因子的有机组合形成了区块链有别于传统技术的些新的技术特征。在对区块链进行更加深入的技术解读前,我们需要先对区块链中的一些核心概念进行梳理。

更多解释:网页链接

主流区块链技术有哪些

本文试图对区块链有关技术流派和主流平台进行一个概览,作为学习区块链技术体系的导览,意在抛砖引玉,促进区块链开发社区的讨论与共识。区块链技术的流派未战先谋局,你想投入区块链开发这个领域,至少先要搞清楚现在有哪些玩家,各自的主张和实力如何。划分区块链技术流派并无一定之规,据我所见,或可有以下四种方式:第一是按照节点准入规则,划分为公有链、私有链和联盟链。公有链的代表自然是比特币和以太坊,私有链则以R3Corda声名最盛,联盟链的代表作品是Hyperledger名下的Fabric。公有链注重匿名性与去中心化,而私有链及联盟链注重高效率,而且还往往设置了准入门槛。公有链、私有链与联盟链之间的这些不同都在技术中有所体现,比如私有链和联盟链假设节点数目不大,可以采用PBFT算法来形成共识。而公有链假设有大量且不断动态变化的节点网络,用PBFT效率太低,只能采用类似抽彩票的算法来确定意见领袖。这就意味着,私有链与联盟链很难变成公有链,而用公有链来作联盟链或私有链虽然容易,却也并非即插即用。此种差异,学者不可不察。第二是按照共享目标,划分为共享账本和共享状态机两派。比特币是典型的共享账本,而Chain和BigchainDB也应属此类,这几个区块链系统在各个节点之间共享一本总账,因此对接金融应用比较方便。另一大类区块链系统中,各个节点所共享的是可完成图灵完备计算的状态机,如以太坊、Fabric,它们都通过执行智能合约而改变共享状态机状态,进而达成种种复杂功能。第三是按照梅兰妮·斯旺所描述的代际演进,将区块链系统分为1.0、2.0和3.0三代。其中1.0支撑去中心化交易和支付系统,2.0通过智能合约支撑行业应用,3.0支撑去中心化的社会体系。比特币和Chain应属于区块链1.0系统,而以太坊和Fabric是区块链2.0系统,目前尚无成功的区块链3.0系统出现,不成功的尝试倒是有那么一个,就是著名的TheDAO。第四是按照核心数据结构,分为区块链和分布式总账两派。区块链这一派在系统中真的实现了一个区块的链作为核心数据结构,而分布式总账这一派,只是吸取了区块链的精神,并没有真用一条区块链作为核心数据结构,或者虽然暂时用了,但声明说吾项庄舞区块链,意在分布式总账耳,若假以时日,因缘际会,未尝不可取而代之也。主流区块链技术平台了解流派划分,仍是只能用来指点江山,吹牛论道,要动手,总要有个切入点。区块链货币据说已经有上千个了,但值得关注的技术平台大概只有数十个,而如果要进入区块链开发领域,打下一个好基础,练出一身好功夫,捞到几个好offer,则值得深入研究学习的平台,屈指可数。首先当然是比特币。比特币作为区块链的第一个也是目前为止最成功、最重要的样板工程,已经上线运行了八年多,本身没有发生任何严重的安全和运维事故,其稳定与强悍堪称当代软件系统典范。比特币BitcoinCore是一个代码质量高、文档良好的开源软件,从学习区块链原理、掌握核心技术的角度来说,BitcoinCore是最佳切入点,能够学到原汁原味的区块链技术。当然,BitcoinCore是用C++写的,而且用了一些C++11和Boost库的机制,对学习者的C++水平提出了较高的要求。学习比特币平台开发还有一个优势,就是可以对接繁荣的比特币技术社区。目前围绕比特币进行改进和提升的人很多,人多力量就大,诸如隔离验证、闪电网络、侧链等比较新的想法和技术,都率先在比特币社区里落地。比如侧链技术的主要领导者Blockstream是由密码学货币元老AdamBack领衔的,而Blockstream是BitcoinCore最大的贡献者之一,所以一些有关侧链的技术在比特币社区里讨论最充分。但比特币作为一个典型的区块链1.0系统,是不是支撑其他类型区块链应用的最佳技术平台,存在很大的争议。另外,也不是所有人都有能力和必要精通区块链底层技术。所以对那些急于冲到区块链领域里做(quān)事(qián)的人来说,可能更直截了当的学习目标是以太坊和HyperledgerFabric。在以太坊上面用Solidity进行的智能合约开发是切入区块链开发最简单的方式,没有之一。以太坊的理想非常宏大,由于配备了强大的图灵完备的智能合约虚拟机,因此可以成为一切区块链项目的母平台,是驮住整个区块链世界的大乌龟。在以太坊上开发一个类似比特币的加密货币,是一个不折不扣的小目标。一般有经验的开发者在文档指导下,半天到一天即可入门。问题在于,入门以后又如何?靠写Solidity是否就可以包打天下?这是大大存疑的。我们也可以反过来说,如果以太坊+Solidity是区块链的终极解决方案,那么怎么还会出现那么多区块链技术门派呢?特别是,以太坊似乎并没有给现实世界中巨型的中心化组织们留下一条活路,这种彻底不妥协的革命态度有可能也成为以太坊推广的障碍。当前以太坊项目的开发进展并不顺利。一个比较突出的问题是项目过多,力量分散,导致项目质量参差不齐。但尽管如此,跟其他区块链2.0平台相比,以太坊提供的开发环境是最简单最完善的。初学区块链的人绝对有必要学习以太坊,从而对区块链和智能合约建立起一个最“正宗”的认识。主流区块链技术平台的第三支就是Fabric,它是Hyperledger的第一个也是最知名的孵化项目。Fabric最早来自IBM的OpenBlockchain项目,到2015年11月,IBM将当时已经开发完成的44,000行Go语言代码交给Linux基金会,并入Hyperledger项目之中。在2016年3月一次黑客马拉松中,Blockstream和DAH两家公司将各自的代码并入OpenBlockchain,随后改名为Fabric。到目前为止,Fabric与Intel提供的SawtoothLake并列为Hyperledger的一级孵化项目,但前者得到的关注远超后者。从技术角度来说,Fabric思路不错,重点是满足企业商用的需求,比如解决交易量问题。众所周知,比特币最大的短板是它每秒钟7个交易的上限,完全无法满足现实需要。而Fabric目标是实现每秒钟10万交易,这个量接近刚刚过去的双十一交易量瞬时峰值,完全可以满足正常条件下的行业级应用。Fabric用Go语言开发,也提供多种语言的API。特别值得一提的是,Fabric比较充分地运用了容器技术,比如其智能合约就运行在容器当中。这也是Go语言带给Fabric的一项福利,因为Go语言静态编译部署的特征很适合开发容器中的程序。Fabric还有一些特点,比如其membership服务可以设置节点准入审查,这是典型的联盟链特征。再比如其共识算法是可定制的。Fabric的短板是体系较为复杂,虽有文档,但缺少经验的开发者学习起来障碍比较大。然而由于其定位清楚,迎合了不少企业的心态,所以已经有多家机构在基于Fabric秘密研发行业内的联盟链项目。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享