违规提示

请您遵循相关法律法规,避免再次出现类似问题

如有任何疑问,请联系support@tmtpost.com

关闭
第四课:公链、联盟链、私链
趣谈区块链 / 迅雷团队实战落地经验分享
第四课:公链、联盟链、私链

第四课:公链、联盟链、私链

导语:现在,我们知道了区块链的价值主要体现在信任工具、激励工具两大作用之上。那么,近年来区块链技术是如何得到开发的呢?下面,我们就来一起聊聊三种区块链形态,即公有链、私有链与联盟链。

公有链

去中心化程度最高的是公有链,典型的案例就是比特币。最初的定义,它不受第三方机构控制,是完全去中心化的区块链,世界上所有的人都可以参与进来,用户不用注册就能匿名参与,无需授权就能访问区块链,包括读取链上的数据记录、参与交易以及竞争新区块的记账权等等。甚至连程序开发者都无权干涉用户,各参与者可自由加入以及退出网络,并按照意愿进行相关操作。

传统的公有链的优势是完全去中心化。它的劣势也同样明显,就是效率堪忧,比特币的区块出块时间间隔是 10 分钟,以太坊的区块时间间隔大约是 14 秒,如果发一条微信要等十几秒,对于习惯了即时通信的我们来说,简直要抓狂。这也直接导致区块链发展的前10年,都没能在应用层面取得较大突破。

公有链性能低的原因,是由于公有链节点数量庞大、网络环境复杂、并且要满足拜占庭容错(BFT, Byzantine Fault Tolerance),因此像比特币和以太坊这样的公有链系统都采用PoW(Proof-of-Work,工作量证明)算法作为共识算法,其实是在更快速的交易确认和更低的分叉概率间作出的妥协。

PoW要求工作端进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。

工作量证明最常用的技术原理是哈希散列函数。由于输入哈希函数h()的任意值n,会对应到一个h(n)结果,而n只要变动一个比特,得到的结果就完全不同,所以几乎无法从h(n)反推回n,因此借由指定查找h(n)的特征(例如要求小于某个数值,即哈希值前缀要求一定数量的0,增加难度即增加前缀0的数量),让用户进行大量的穷举运算,就可以达成工作量证明。

比特币系统在挖矿的过程中每10分钟生成一个区块。为了保证比特币系统能稳定地发展并不断产生区块,比特币的协议中人为地设置了这个10分钟规律,这使得系统中的所有节点可以利用这10分钟的时间,来完成接收,打包,见证的工作,同时将产生的交易在整个网络里进行广播。尽管如此,分叉也不可避免,例如当有两名矿工A和B在几乎在相同的时间内,各自都算得了工作量证明解,便立即传播自己的区块到网络中,这样导致网络中一部分节点跟随A的区块,另一部分节点会跟随B的区块,两部分网络数据产生了不一致,即分叉。

由于分叉问题的存在,为防止出现双重支付问题,比特币规定每个交易需要至少有5个验证过的区块在其后面得到验证才能算作确认,也就是说比特币的共识机制认为等待6个确认的情况下,分叉切换的概率就足够低了(例如按一个节点1%的算力来计算,6个区块后被长度被赶超的概率是100的6次方分之1)。

PoW共识算法思路,其实是放宽对最终一致性确认的需求,约定好大家都选择已知最长的链进行确认,PoW系统的最终确认是概率意义上的,是被强制推迟的。这样的好处是,即便有人试图恶意破坏,也会付出很大的经济代价(付出超过系统一半的算力)。

经过10年的实践情况证明,PoW共识算法存在以下问题:

  • 算力竞争的设计导致了集中化的矿池:尽管PoW的目的是为了保证系统可以去中心化的运行,然而系统运行到现在,却事实上形成中心化程度很高的五大矿池。五大矿池垄断了世界上90%以上的算力,这可能导致大矿池破坏整个网络的行为。
  • 算力竞争的设计导致了大量的能源消耗,对环境不好: 另外,PoW系统需要产生大量的能源消耗:比特币挖矿比159个国家消耗的能源还多;目前7%的全球比特币网络算力仍在中国境内;受益于内蒙古和四川两地充沛的电力资源,中国拥有世界上最多的比特币矿场;到2019年7月,比特币网络将需要比美国目前的用电量更多的电力;到2020年2月,它将使用和今天全世界一样多的电力。
  • 业务处理性能低下:尽管投入了大量的能源支持系统的运行,但这些能源消耗绝大部份是用于工作量证明中的hash运算,处理交易业务的性能则非常低,例如比特币每秒只能进行大约7笔交易;以太坊每秒10-20笔。
  • 交易确认时间长:由于PoW是概率一致性算法,而非绝对一致性算法。在产生分叉后,两个分叉的网络各自继续挖矿,经过一段时间后选择包含最多区块的那个链(最长链)为主链,例如比特币中的一个交易等待6个区块才能确认,按出块间隔10分钟来算,交易确认时间在1小时以上。

私有链

相对的,去中心化程度最低的是私有链。它大多适用于特定的企业、机构、组织内部,需要授权才能加入节点,所以链上只有少量节点,只需要单个或部分节点来验证交易,且具备一定的写入权限,更为灵活。例如金融领域中,个体银行会应用区块链技术监控海外银行往来账户,同时确保往来账户所有的相关信息都能受保护,仅账户所有者和其银行合作伙伴可见。

私有链的特点与公有链几乎是完全相反的,仅应用在企业内部系统,优点是交易速度快、隐私性更好。

私有链之所以能做到性能更好,是由于私有链的节点的机器硬件配置和网络都是完全可控的,可采用更高性能的机器、采用更好的网络环境,更重要的是,可以采用更高效的共识算法。私有链节点由于都是经过授权的,不会有作恶节点的存在,因此不是必须采用拜占庭容错(BFT)的共识算法,而可以采用传统的中心化的共识算法如Paxos 算法及其衍生出的 Raft 算法等,以得到更好的性能。

联盟链

联盟链则是介于公有链以及私有链之间的区块链,可理解为“部分去中心化”。例如在银行间进行支付、结算、清算的系统就会采用联盟链的形式,将各家银行的网关节点作为记账节点,当网络上有超过一定数量的节点确认一个区块,该区块记录的交易将得到全网确认。

联盟链的节点硬件配置和网络相对可控,节点数量也相对较少,但又需要防止作恶节点,因此通常采用性能更高的BFT类共识算法,如DPoS或PBFT算法。

DPoS(Delegated Proof of Stake):授权权益证明是通过拥有token的人投票选出代理节点行使记账的权利,是在可用性和去中心化这两个维度上做出的平衡。

PBFT(Practical Byzantine Fault Tolerance): 实用拜占庭容错共识是一种经过严格数学证明的强一致性算法,经过多阶段的信息交互最终达成共识,只要系统中有三分之二以上的诚实节点,就能保证最终达成共识。PBFT的问题是通信量大: PBFT共识需要大量信息交互,并且数量会随着节点数的增加而急剧上升,因此多用于节点数量较少的联盟链项目中。

三个类型的区块链各有所长,其应用完全取决于场景需求。相对而言,私有链、联盟链发展更为成熟,最先获得落地。公有链技术难度最高,落地价值最高,也成为了全球竞争的焦点,除了比特币、以太坊这样传统公链外,市场上也出现了一些后起之秀。例如EOS、迅雷链等高性能主链,他们的出现解锁了公有链的新形态。

【版权归钛媒体所有,未经许可不得转载】

分享课程:
大家都在学
72问 有声书系列 / 中国经济2021
精品小课 揭秘黄金投资:2022年以来上涨表现最好的资产之一
精品小课 阿里人力资源体系课

Oh! no

您是否确认要删除该条评论吗?

全部课程 ( 8 )
倒序播放

00:00
/
00:00
X1.0

注册邮箱未验证

我们已向下方邮箱发送了验证邮件,请查收并按提示验证您的邮箱。

如果您没有收到邮件,请留意垃圾邮件箱。

更换邮箱

您当前使用的邮箱可能无法接收验证邮件,建议您更换邮箱

账号合并

经检测,你是“钛媒体”和“商业价值”的注册用户。现在,我们对两个产品因进行整合,需要您选择一个账号用来登录。无论您选择哪个账号,两个账号的原有信息都会合并在一起。对于给您造成的不便,我们深感歉意。