区块链技术概述:架构,共识和未来趋势
这是对论文“An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends”的翻译,如需查看原论文,请自行下载。
区块链,比特币的基础,最近受到了大量的关注。区块链作为允许交易以去中心化的方式存储于不可更改的账本进行服务。基于区块链的应用如雨后春笋般的涌现,覆盖了包括金融服务,信用系统和IoT等各种各样的领域。然而,关于区块链技术包括扩展性和安全性问题在内的很多挑战等待着被克服。本文展示了区块链技术的广泛的综述。我们首先提供了区块链架构的概述并且比较了用于不同区块链的一些典型的共识算法。更进一步,技术挑战和最新进展被简要地列出来。我们也展示了区块链的未来可能的趋势。
1. 介绍
现在加密货币已经在工业界和学术界变成了流行词。作为最成功的加密货币之一,比特币已经享受到了在2016年其市值达到100亿美元的巨大的成功【1】。基于一个特殊设计的数据存储结构,比特币网络中的交易可以不依赖于任何一个第三方实体而发生并且构建比特币的核心技术就是区块链,它在2008年被首次提出并且在2009年被实现【2】。区块链可以被当成是账本并且所有提交的交易都存储在区块列表中。这个链在新的区块不停地被加入的时候进行增长。非对称加密和分布式共识算法已经为了用户安全和账本一致性而实现。区块链技术通常有去中性化、持久化、匿名性和可审计的核心特性。基于这些特性,区块链可以及大地节省成本和提升效率。
因为它允许付款不依赖于任何银行或者中介而完成,区块链可以被应用于像数字资产、汇款和在线支付等各种各样的金融服务领域【3】【4】。除此之外,它也可以应用于包括智能合约【5】、公共服务【6】、IoT【7】、信用系统【8】和安全服务【9】等其它领域。这些领域在多个方面偏好于区块链。首先,区块链是不可修改的。交易记录一旦被加入到区块链中就不能被篡改。需要高可靠性和诚信的商务应用可以使用区块链吸引客户。除此之外,区块链是分布式的并且可以避免单点失效的情形。关于智能合约,合约一旦被部署到区块链中就能够自动地被矿工执行。
虽然区块链技术有很大的潜力来建设未来的互联网系统,但是它正面临着一系列的技术挑战。首先,扩展性是一个巨大的担忧。比特币区块大小现在被限制在1M字节,而一个区块以每10分钟时间间隔被挖掘出来。随后,比特币网络被限制成每秒7个交易的频率,这是没有能力出来高频交易的。然而,网络中的更大的区块意味着更大的存储空间和更慢的传播速度。这将逐步地导致中心化因为更少的用户愿意维护如此大的区块链。因此区块大小和安全之间的权衡已经成为艰巨的挑战。第二,已经证明了矿工通过自私的挖矿策略可以获取比公平分享更多的收益【10】。矿工在将来为了更多的收益而隐藏他们已经挖掘的区块。在这样情况下,分支可以频繁地发生,这妨碍了区块链的发展。因此一些解决方案需要被用来解决这个问题。而且,已经表明即使用户仅仅使用他们的公钥和私钥进行交易,隐私泄露也可能在区块链中发生【11】。此外,像工作量证明和权益证明的现有的共识机制正面临着一些严重的问题。例如,工作量证明浪费太多的电能,而富者更富的现象可能出现在权益证明共识过程中。
有很多像博客、wiki、论坛、代码、会议期刊等各种各样来源的关于区块链的课程。Tschorsch【12】对包括比特币在内的去中心化数字货币做了一项技术调查。和【12】相比,我们的文章集中在区块链技术而不是数字货币。Normura研究机构做了一项关于区块链的技术报告【13】。和【13】相比,我们的文章集中在区块链工艺水平的研究,包括目前的进展和未来的趋势。
本文余下的部分按照下面的说明来组织。第二节介绍了区块链架构。第三节展示了应用在区块链中的典型的共识机制。第四节总结了这个领域的技术挑战和近期进展。第五节讨论了一些可能的未来发展的方向并且第六届对全文进行了总结。
2. 区块链架构
图1:一个由连续的区块组成的区块链的例子
图2:区块结构
区块链是一组区块,它像常见的公共账本一样保留着完整的交易记录列表【14】。图1展示了一个关于区块链的例子。前一个区块的哈希被包含在当前区块头中,所以一个区块仅仅有一个父级区块。值得说明的是“叔叔”区块(区块祖先的孩子)哈希也将被保存在以太坊区块链中【15】。区块链的第一个区块被称为创世块,它没有任何的父区块。我们将详细地解释区块链的内部结构。
A.区块
一个区块包括在图2展示的区块头和区块体。特别地,区块头包括:
(1) 区块版本:表明了跟随哪一组区块验证规则
(2) Merkel树根哈希值:在区块中的所有的交易的哈希值
(3) 时间戳:从1970年1月1日开始到现在的以世界标准时间表示的秒数
(4) nBits:一个有效区块哈希值的目标临界值
(5) 目前值:一个4字节的字段,通常以0开始并且随着每一个哈希计算而增长(将在第三节中详细解释)
(6) 父区块哈希值:一个指向前一个区块的256比特的哈希值
区块体由一个交易计数器和许多交易组成。一个区块能够包含的交易的最大值依赖于区块大小和每一个交易的大小。区块链使用非对称加密机制验证交易【13】。基于非对称加密的数字签名用于非授信环境。我们下一步简要地阐述数字签名。
B. 数字签名
每个用户拥有一对私钥和公钥。需要被秘密保存的私钥用来对交易签名。数字签名的交易被广播到整个网络。典型的数字签名涉及两个阶段:签名阶段和验证阶段。举个例子,用户Alice想要给另一个用户Bob发一条信息。
(1) 在签名阶段,Alice使用她的私钥对数据加密并且把加密的结果以及原始数据发送给Bob。
(2) 在验证阶段,Bob使用Alice的公钥验证数值。在这种情况下,Bob可以轻而易举地检查数据是不是已经被篡改了。区块链中使用的典型的数字签名算法是椭圆曲线数字签名算法(ECDSA)【16】。
C. 区块链的核心特性
概括起来,区块链有以下的核心特性。
-
去中心化:在传统的中心化交易系统中,每一笔交易需要通过中心信任机构(例如中央银行)进行验证,不可避免地导致了中央服务器的开销和性能瓶颈。和中心化的模式相比,在区块链中不再需要第三方机构。区块链中共识算法被用来维护分布式网络中数据的一致性。
-
持久化:交易可以被迅速地验证并且无效的交易将不能被诚实节点承认。一旦交易被包含到区块链中后,几乎是不可能删除或者回滚它们的。包含无效交易的区块可以被立即发现。
-
匿名性:每个用户可以通过一个产生的地址与区块链交互,这个地址不暴露用户的真实身份。需要说明的是区块链因其内在的限制不能保证完成的隐私保护(细节将在第四节讨论)。
-
可审计性:比特币区块链基于未花费交易输出模型(UTXO)来存储用户收支平衡数据【2】:任何一笔交易不得不指向前面的为花费的交易。一旦当前的交易被记录到区块链中,那些指向未花费交易记录的状态就从未花费切换成花费。因此交易可以被轻松地验证和追踪。
D.区块链系统的分类
现有的区块链系统大致划分成三种类型:公有链,私有链和联盟链【17】。在公有链中,所有的记录对所有人可见并且每一个人可以参与共识过程。不同的是,仅仅一组提前选择的节点将参与联盟链的共识过程。至于私有链,仅仅来自于一个特定的组织的那些节点被允许加入共识过程。
一个私有链被看成一个中心化的网络,因为它被一个组织完全地控制。几个组织构建的联盟链是部分去中心化的,因为仅仅一部分节点将被选择用来决定共识。这三种类型区块链的比较结果列在表1中。
表1:公有链、联盟链和私有链的比较
-
共识决定:在公有链中,每个节点都能参与共识过程。在联盟链中仅仅一组选择的节点负责验证区块。至于私有链,它完全地被一个组织控制并且组织决定最后的共识。
-
读权限:在公有链中的交易对于全部人都是可见的,然而当变成私有链或者联盟链的时候,可见性就需要看情况了。
-
不可修改性:因为记录被存储在大量的参与者中,在公有链中篡改交易几乎是不可能的。不同的是,在私有链或者联盟链中的交易可以被轻松地篡改,因为参与者有限。
-
效率:它花费充足的时间来繁殖交易和区块,因为在公共链网络中存在大量的节点。结果就是交易频率受到限制并且延迟很高。基于更少的验证者,联盟链和私有链可能是更高效的。
-
中心化:三种区块链的主要区别是公有链是区中心化的,联盟链是部分中心化的并且私有链因为被一个单一的组控制而是完全中心化的。
-
共识过程:世界中的每一个人都可以加入公有链的共识过程。和公有链不同的是,联盟链和私有链都是私有的。
因为公有链是对世界公开的,它可以吸引很多的用户并且社团是活跃的。许多的公有链一天一天地兴起。至于联盟链,它可以被应用于许多的商业应用。目前超级账本【18】正在开发商业联盟链框架。以太坊也已经为建立联盟链提供了工具【19】。
3. 共识算法
在区块链中,如何在非授信节点中达成共识是拜占庭通用问题的一个变形,这个在【20】中提出的。在BG问题中,拥有一部分拜占庭军队的一组将军围绕着城市。一些将军主张攻击然而其他的将军主张撤退。然而,当一部分将军攻击城市的时候,进攻将会失败。因此,他们需要就攻击还是撤退达成一个共识。如何在分布式环境中达成共识是一个挑战。对于区块链来说也同样是一个挑战因为区块链网络是分布式的。在区块链中,没有一个中心节点保证分布式节点上的账本都是一致的。一些协议是需要的来保证不同节点上的账本是一致的。我们下面说明在区块链中达成共识的几种常见的方法。
A.达成共识的方法
PoW:工作量证明是用在比特币网络中的一种共识策略。在去中心化网络中,某个人被选择来记录交易。最简单的方式是随机选择。然而,随机选择是容易受到攻击的。因此如果一个节点想要发布一个交易的区块,那么大量的工作需要被完成来证明节点不是来攻击网络的。一般地,工作意味着计算机的计算。在PoW中,网络中的每个节点都计算区块头的哈希值。区块头包含一个现值并且旷工可能频繁地改变现值来获取不同的哈希值。共识需要计算的值必须等于或者小于一个给定的特定的值。当一个节点获得了目标值,它将区块广播到其它的节点并且全部其它的节点必须手动地去人哈希值的正确性。如果区块被验证了,其它的矿工将把这个新的区块加到他们自己区块链的末尾。计算哈希值的节点叫做矿工并且在比特币中PoW的过程叫做挖矿。
在去中心化网络中,有效的区块可能同时产生,当多个节点几乎在相同的时间找到合适的现值的时候。结果,两个竞争的分支同时产生下一个节点是不可能的。在PoW协议中,变得更长的一个链此后被认为是可信的。考虑同时被创建的并且被U4和B4区块验证的两个分支。矿工在一个更长的分支被发现之前一直保持挖矿。B4,B5形成了一个更长的链,一次在U4上工作的矿工将切换到更长的分支上来。矿工不得不在PoW中做大量的计算,即使这些工作浪费太多的资源。
PoS:权益证明是一种节省能源的PoW的替代方案。在PoS中的矿工不得不证明一定货币的所有权。拥有更多货币的人更将不可能攻击网络是确信的。基于账户平衡的选择是相当不公平的,因为单一最富有的人必然成为网络中的统治者。结果,许多基于权益大小组合的方案被推出来决定哪一个推进下一个区块。特别地,Blackcoin【26】使用随机方式预测下一个产生者。它使用了一个在权益大小组合中寻找最小哈希值的公式。Peercoin【21】钟爱基于币龄的选择。在Peercoin中,更老更大的一组币有更大的挖到下一个区块的可能性。和PoW相比,PoS节省了更多的能源并且是更高效的。不幸的是,因为挖矿消耗几乎为零,结果攻击可能到来。许多区块链在喀什使用PoW并且逐步地转到PoS。举个例子,以太坊正计划从Ethash(一种PoW)【27】转向Casper(一种PoS)【28】。
PBFT(可实践的容错拜占庭):是一种复制算法来容忍拜占庭错误【29】。Hyperledger Fabric【18】使用PBFT作为它的工时算法,因为PBFT可以处理最大至三分之一的恶意拜占庭复制。一个新的区块通过一个圈被确定。在每一个圈中,一个主要的节点将会根据一些规则被选择出来。并且它负责对交易排序。整个过程将被划分非三个阶段:提前准备,准备和提交。在每一个阶段,当一个节点已经接受到了超过三分之二的全网节点的投票,那么这个节点将步入下一个阶段。因此PBFT需要每一个节点对于全网都是可知的。和PBFT一样,Stellar Consensus Protocal(SCP)【30】也是一种拜占庭共识协议。在PBFT中,每个节点不得不轮询其他的节点,然而SCP给参与者权利来选择信任哪一组其它的参与者。基于PBFT,Antshares【31】已经实现了他们的dBFT(委托拜占庭容错)。在dBFT中,一些专业的节点被选举来记录交易。
DPOS(Delegated proof of stake)。PoS和DPOS的主要区别是PoS是直接民主的然而DPOS是民主代表制的。干系人选择他们的代理节点来产生和验证区块。在明显更少的节点来验证区块的情况下,区块可以被更快地确认,导致了交易的快速确认。同时,网络的像区块大小和区块间隔等参数可以被委托节点优化。此外,用户不需要担心不诚实的委托节点因为它们可能被轻松地投票出局。DPOS是Bitshares的支柱【22】。
Ripple【23】是一种在更大的网络使用共同信任子网络的共识算法。在网络中,节点被划分成两种类型:参与共识过程的服务器和仅仅转移基金的客户端。每一个服务器有一个唯一节点列表(UNL)。UNL对服务器来说是重要的。当决定是否把一笔交易放到账本中,服务器可能查询UNL中的节点并且是否收到的同意应答已经达到了80%,交易可能被加入到账本中。对于一个节点,账本将仍然保持正确只要UNL中节点错误的百分比小于百分之二十。
Tendermint【24】是一种拜占庭共识算法。一个新的区块通过一个圈来确定。一个建议者可以被选择在圈中广播一个未确认的区块。可以分成三步:1) 预投票步骤。验证者选择是否为一个建议区块的预投票进行广播。2)预提交步骤。如果一个节点已经收到了关于建议区块的超过三分之二的预投票,它为这个区块广播一个预提交。如果节点已经收到了超过三分之二的预提交,那么将进入提交阶段。3)提交步骤。节点验证区块并且为这个区块广播一个提交。如果节点已经收到了三分之二的提交,它接受这个区块。和PBFT对比,节点可以锁住他们的币来变成验证者。一旦一个验证者被发现是不诚实的节点,他将会受到惩罚。
A.共识算法比较
不同的共识算法有不同的优势和劣势。表2给出了不同共识算法和我们基于【32】使用的特性之间的对比。
-
节点唯一性管理。为了在每一轮中选择一个主要的节点,PBFT需要知道每一个矿工的唯一标识,然而为了在每一轮中选择一个建议节点,Terdermint需要知道验证者。至于PoW,PoS,DPOS和Ripple,节点可以自由地加入到网络中。
-
能源节省。在PoW中,矿工持续不断地对区块头求哈希来满足目标值。结果,为了达到这种处理能力所需要的电量就变得巨大无比。至于PoS和DPOS,矿工扔烟不得不对区块头求哈希来搜索目标值,但是工作已经被大量地减少,因为搜索空间被设计成有限的。至于PBFT,Ripple和Tendermint,在共识过程中没有挖矿。所以它们极大地节省了能源。
-
容忍对手的能力。一般来讲,哈希能力的百分之五十一被看成是一个人获取网络控制权的阈值。但是在PoW系统中自私的挖矿策略可以帮助狂战仅仅通过百分之二十五的哈希能力就能过去更多的收益。PBFT和Tendermint被设计成处理至多三分之一的错误的节点。Ripple被证明了当UNL中错误节点比例小于百分之二十的时候可以维持正确性。
-
例子。比特币是基于PoW中然而Peercoin是一种新的点对点的PoS的加密货币。进一步来说,Hyperledger Fabric使用了PBFT来达成共识。Bitshares,一个智能合约平台,把DPOS作为他们的共识算法。Ripple实现了Ripple协议,同时Tendermint发明了Tendermint协议。
PBFT和Tendermint是私有协议。节点表示需要被整个网络知道,因此他们可能使用在商业模式下而不是公共网络中。PoW和PoS适合公共区块链。联盟链和私有链可能偏爱PBFT,Tendermint,DPOS和Ripple。
B. 共识算法的发展
一个好的共识算法意味着效率,安全和便捷性。最近,一系列的努力已经被做出来提升区块链的共识算法。新的共识算法为了解决区块链的特定问题而被设计了出来。PeerCensus【33】的主要想法是解耦区块创造过程和交易确认过程,以便共识速度可以被显著地提升。除此之外,Kraft【34】提出了一个新的共识方法来保证一个区块以一种相对稳定的速度被产生。众所周知,高的区块产生频率危害比特币的安全性。因此GHOST(Greedy Heaviest-Obsered Sub-Tree)链选择规则【35】被提出来解决这个问题。和最长的分支模式相反,GHOST对分支进行加权并且矿工可以选择跟随较优的分支。Chepurnoy【36】为点对点区块链系统提出了一种新的共识算法,在算法中,允许可以为过去状态快照提供非交互性的可回收证明的任何人来产生区块。在这样一个协议中,矿工仅仅需要存储老的区块头而不是全部的区块。
4. 挑战和最新进展
尽管区块链有非常大的潜力,它仍然面临着很多的挑战,这限制了区块链的广泛使用。我们在下面枚举一些主要的挑战和最新的进展。
-
扩展性
随着交易数量的日渐增长,区块链变得庞大了。每个节点必须存储区块链上的全部交易用于验证,因为他们需要检查现在交易的来源是未消费的还是消费的。除此之外,由于区块大小和用于申城新区块的时间间隔的原始显示,比特币区块链每秒仅仅能处理接近7笔交易,这不能满足实时地处理百万级交易的需求。同时,因为区块的容量非常小,许多小型交易可能由于矿工偏向于具有高交易费用的那些交易而被延迟。
一系列的努力被做出来定位区块链的扩展性问题,可以将他们分成两类:
-
区块链存储优化。因为对节点来说操作账本的全部副本是困难的,Bruce提出了一种新奇的加密货币模式,在这个模式中老的交易记录被网络移除或者忘记【37】。一个称作账户树的数据库被用来保持全部非空地址的平衡。除此之外,轻量级客户端也同样可以帮助修复这个问题。一个叫做VerSum的新奇的模式被提出来提供另一种方式来允许轻量级客户端存在。VerSum允许轻量级客户端通过大的输入外包昂贵的计算。它通过比较多个服务器的结果来保证计算是正确的。
-
重新设计区块链。在【39】中,下一代比特币被提出了。下一代比特币的主要想法是解耦传统区块成两部分:用来领导选举的核心区块和用来存储交易的微区块。协议划分时间成时代。在每一个时代,矿工需要用哈希来生成核心区块。一旦核心区块生成了,节点就变成了负责生成微区块的领导。下一代比特币也拓展了最长链策略,在这个策略中微区块不承载任何的圈中。在这种方式下,区块链被重新设计了并且区块大小和网络安全之间的平衡也被定位了。
-
隐私泄露
区块链能通过公钥和私钥来保护一定的安全。用户在没有任何实体信息暴露的情况下使用他们的私钥和公钥进行交易。然而,研究表明【40】【5】,区块链不能保护交易隐私,因为每一个公钥的全部交易和收支值是公开可见的。除此之外,最新研究【41】表明一个用户的比特币交易可以被链接来揭示用户的信息。更进一步,Bityukov【11】提出了一种方法来链接用户的假名到IP地址,即使当用户在NAT或者防火墙的后面。在【11】中,每一个客户端可以通过它链接的一组节点而被唯一地识别出来。然而,这组节点可以被学习并且用来找到交易的源。许多的方法已经被提出来提升区块链的匿名性,这可以被大致分成两类:
-
混合的。在区块链中,用户地址是假的。但是仍然可能链接地址到用户的真实地址,因为用户经常使用相同的地址进行交易。混合服务是一种用匿名方式从多输入地址到多输出地址进行交易基金的服务。例如,基于A地址的用户Alice想发送一些基金给使用地址B的Bob。如果Alice直接用输入地址A和输出地址B进行交易,Alice和Bob的关系可能被发现。因此Alice可以发送基金到一个信任的中介Carol。然后Carol使用多输入c1,c2,c3,等等和多输出d1,d2,B,d3,等等,传输基金给Bob。Bob的地址B也被包含在输出地址中。因此发现Alice和Bob之间的关系变得更加困难了。然而,中介可能是不诚实的并且有目的地揭示Alice和Bob的私有信息。也有可能Carol把Alice的基金转移到它自己的地址而不是Bob的地址。Mixcoin【43】提供简单的方法来避免不诚实的行为。中介基于他们的私钥加密包括基金数量和转移日期在内的用户的信息。然后如果中介没有转移钱,任何人可以验证中介在撒谎。然而,偷盗能被检测到但是不能被阻止。Coinjoin【44】依赖于一个中心的混合服务器来随机生成输出地址来防止偷盗。并且受到Coinjoin启发,CoinShuffle【45】使用mixnets解密来进行地址随机生成过程。
-
匿名。在Zerocoin【46】中,使用了零知识证明。矿工不必要使用数字签名验证交易,而是验证属于一组有效货币的货币。付款源没有从交易中链接出来以防止交易图分析。但是它仍然揭示了付款的目标和数量。Zerocash【47】被提出来解决这个问题。在Zerocash中,使用了零知识简明的非交互的知识参数(zk-SNARKs)。用户持有的币的交易数量和值被隐藏了。
-
自私挖矿
区块链是易受到共谋的自私的矿工的攻击的影响的。特别地,Eyal和Sirer【10】表明了即使仅有一小部分哈希算力用于欺骗的情况下,网络也是易受攻击的。在自私挖矿策略中,自私的矿工保持他们挖到的区块而不去广播并且仅当满足一些条件的时候,私有分支才会被公众发现。因为私有分支比当前的公共分支更长,它将被所有的矿工接受。在私有区块发布之前,诚实的节点在一个无用的分支上面浪费算力然而自私的矿工在没有任何竞争者的情况下在他们的私有脸上挖矿。因此自私的矿工想要获取更多的收入。
基于自私挖矿,很多其他的攻击方式也被提出了来说明区块链不是如此的安全。在顽固的挖矿【48】中,矿工可以通过基于网络层面的椭圆攻击组成的非正常的挖矿攻击来放大收益。顽强拖延是一种顽固策略的一种,即使私有链已经被落在后面了,矿工仍然基于这个链挖矿。但是在一些情况下,和非顽强拖延参照物相比,它有可能导致百分之十三的收益。【49】表明了存在获取更过钱的自私挖矿策略并且和简单的自私挖矿相比,更小的矿工是有利可图的。但是收益相对较小。进一步,它表明了少于百分之二十五计算资源的攻击者也能从自私挖矿中受益。为了帮助解决自私挖矿问题,Heilman【50】提出了一种创新性的方法来告诉诚实的矿工选择跟随哪个分支。基于随机的信号和时间戳,诚实节点可以选择更加新鲜的区块。然而,【50】是易于收到可遗忘的时间戳的攻击的。ZeroBlock【51】建立在简单的模式之上:每一个区块必须在一个最大的时间间隔内被网络生成和接受。在ZeroBlock中,自私的挖矿者不能达到比他们预期的奖励更多的收益。
5. 未来可能的方向
区块链已经在工业界和学术界表明了他们的潜力。我们基于四个方面讨论未来可能的方向:区块链测试,停止中心化的趋势,大数据分析和区块链应用。
-
区块链测试
最近不同种类的区块链出现了并且到目前为止的超过700种加密货币被列在了【52】。然而,一些开发人员可能受到巨大利益的驱动而伪造他们区块链的性能来吸引投资者。除此之外,当用户想要合并区块链到商业中时,他们必须知道哪一个区块链适合他们的需求。因此区块链测试机制需要占有一席之地来测试不同的区块链。
区块链测试可以被拆分成两个阶段:标准化阶段和测试阶段。在标准化阶段,所有的标准需要被制定并达成一致。当一个区块链诞生的时候,它将被这些标准来验证是否区块链想开发者声明的那样工作。至于测试阶段,区块链测试需要基于不同的标准来执行。举个例子,一个掌管在线零售生意的用户关心区块链的生产能力,因此验证需要测试从用户发出一笔交易到这笔交易被打包到区块链中的平均时间,一个区块链的区块的容量,等等。
-
停止中心化的趋势
区块链作为一种去中心化的系统而被设计。然而,有一种趋势表明矿池的矿工是中心化的。到目前为止,在比特币网络中排名前五的矿池的总算力占比总算力的百分之五十一还多【53】。除此之外,自私挖矿策略【10】表明拥有超过百分之二十五总算力的矿池将获得比公平挖矿更多的收益。理性的矿工将被吸引到自私矿池中并且这个矿池可以轻松地超过总算力的百分之五十一。因为区块链不倾向于为几个组织服务,所以一些方法需要被提出来解决这个问题。
-
大数据分析
区块链可以很好地和大数据结合。这里我们把结合大致划分成两种类型:数据管理和数据分析。对于数据管理,区块链可以被用来存储重要的数据,因为他是分布式的并且安全的。区块链也能够确保数据是原始的数据。举个例子,如果区块链被用来存储医患健康信息,那么信息是不可能被修改的并且窃取他们的隐私信息是困难的。当来到数据分析时,区块链上的交易可以被用来做大数据分析。举个例子,用户交易模式可以被抽取出来。用户可以分析结果来预测他们潜在合作伙伴的交易行为。
-
区块链应用
目前大多数的区块链被用于金融领域,越来越多的其他领域的应用正在出现。传统工业可能把区块链纳入考量范围并且应用区块链到他们的领域来加强系统。例如,用户名誉可以被存储在区块链中。同时,新兴工业可能使用区块链提升性能。例如,Arcade City【51】,一个单车共享初创公司提供了一个使用区块链技术直接连接用户和司机的,开放的市场空间。
智能合约是一种执行合约条款的、计算机化的交易协议【54】。它已经被提出很长时间了并且现在这个概念在区块链中被实现了。在区块链中,智能合约是可以被矿工自动执行的一个代码片段。智能合约在像金融服务和IoT等各种各样的领域中有变革型的潜力。
6. 结论
区块链已经表明了基于它的去中心化、持久化、匿名性和可审计性等核心特性来变革传统行业的潜力。在本文中,我们阐述了区块链的概述。我们首先给出了包括区块链架构和区块链核心特性在内的区块链技术的概览。然后我们讨论了区块链使用的典型的共识算法。我们从不同的方面分析和比较了这些协议。进一步,我们列举了一些可能妨碍区块链发展的挑战和问题并且总了了解决这些问题的现有的方案。也提出了一些可能的未来的发展方向。现在基于区块链的应用正在兴起并且我们计划将来能对基于区块链的应用进行更深一步的分析。
时间:2018-08-25 02:31 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
相关推荐:
网友评论: