区块链技术的发展现状

在较早的文章《 区块链演进:快速指南以及为什么开源是它的核心》中 ,我讨论了第一代区块链:公共比特币和加密货币区块链,然后是能够执行程序的以太坊区块链(“智能合约” ”),从而导致许可版本的代码执行区块链(例如Hyperledger Fabric,Quorum)。

让我们回到区块链丛林,看看生态系统的现状以及试图解决区块链技术的一些局限性的项目:速度和吞吐量,跨区块链信息和价值交换,治理以及身份和账户管理。

加快速度

当前区块链技术经常听到的一种困扰是它们的速度有限,通常由它们可以管理的每秒交易数(TPS)来衡量。 此问题严重限制了它们在需要处理大量事件的系统中的使用。 例如,人们经常(正确地)说过,比特币每秒不能处理七笔以上的交易,而以太坊不能做更多的事情。 定义下一代区块链的最简单方法可能是通过新颖的方法来尝试解决当前一代区块链不断奋战的可扩展性问题。 (特别是无许可的链。我将在下面返回分开无许可和许可链的内容。)

最明显的选择(也是比特币社区中争议最激烈的选择之一)是“简单地”使交易块更大,以使它们可以在每个块(每秒)上处理更多的交易。 反对比特币的利益使这种解决方案很难实施(我在上一篇文章中提到的“代码治理”模型存在明显问题,我将在以后的文章中再次提到),但它仍然是一个相对简单的选择一般用于区块链项目。 增加创建块的频率是另一种方法。

我在第一篇文章中还提到了另一种每秒处理更多事务的方法:更改问题的约束。 从无人允许的网络(任何人都可以加入和参与的网络)到许可的(需要加入才能获得许可的网络)改变了约束条件,并提供了重新考虑安全性要求的选项。 当您知道一个财团中的每个人并与他们有法律联系时,您可以选择使用共识机制,这种共识机制并不假设所有内容都应始终得到验证,从而可以加快工作进度。 此外,经过许可的区块链框架(例如Hyperledger Fabric)通常会提供选择块中包含的交易数量及其频率的选项。 无论是每个块的事务数还是生成的块数的增加,最终结果都是TPS的增加。

这样,许可系统可以达到数以千计的TPS,远远超出主要的非许可网络。 因此,Facebook最近宣布的天秤座加密货币计划也使用其许可的模型(尽管人们对其“区块链”进行了辩论)来处理大量交易,这符合其既定目标也就不足为奇了。

坚持达成共识

但是,私有的,许可的分类帐将不适合所有用例。 通常,需要改进无许可网络一次管理更多事件的能力。 这将我们引向最雄心勃勃的工作:共识机制。

使所有参与者就网络上发生的所有交易(即变更)及其顺序的“真相”达成共识是分布式系统的最大困难之一。 作为一种分布式系统,区块链也不可避免地与之抗衡。

比特币的解决方案是每10分钟组织一次比赛来解决计算难题,并让获胜者解决在上一个时间段发生的交易以及以什么顺序进行的交易,然后其他人就可以轻松地进行核实并达成协议。 根据所使用的智力玩具的种类,获胜者基本上是随机的,但是这种“中本聪风格的作品证明”存在的问题是,该比赛中使用的智力玩具也需要极高的计算资源来解决(通过设计),并且每轮比赛结束后,除获胜者外,所有人的工作都被扔掉。

虽然很安全,但工作量证明也很耗能量且速度很慢。

我们需要的是更好的共识机制,它将允许区块链网络的参与者更有效地达成协议,从而使整个系统每秒可以处理更多事件。

以太坊尤其是正在致力于众多创新以解决这些局限性。 首先,它计划放弃工作量证明,转而使用权益证明共识机制,通常称为Casper协议 。 它使用经济激励措施和抑制措施来使节点保护网络安全,并使作弊(非常)昂贵。

可以执行智能合约的区块链必须面对的另一个问题是如何确保代码的执行正确以及这对整个网络的处理能力有何影响。 当前,以太坊要求每个验证节点执行代码以验证其他节点提供的结果是否正确。 这带来了可伸缩性问题,因为以太坊“世界计算机”的成功越大,代码校验器就需要检查的越多:所有节点都需要就执行的每一行代码的顺序有效性达成共识,并且不可避免地会受到阻碍最慢的节点。

缓解此问题的一种方法是分片 ,这是一种解决方案,其中只有部分网络执行代码并返回结果,其余部分网络可以验证。

Zcash背后的一个团队ZEXE的一个项目进一步推动了这一想法,它可以通过提交代码执行结果以及该结果正确的密码证明来应对这种情况。 然后,其他节点可以获取此证明并非常快速地对其进行检查,而无需重做计算。 这与证明错误结果的奖励相结合,创建了一个系统,在该系统中,代码可以由单个节点执行并由许多节点检查,这为加快分布式应用程序(dapps)的执行提供了巧妙的方法。

分布式系统中的共识并不是一个新的研究领域,但是随着区块链的流行,人们对共识研究产生了新的兴趣。 我可以提到更多(Tendermint,Ouroboros和Algorand想到),但是我将提供一种关于共识的有趣方法:共识敏捷性。 例如,Hyperledger Sawtooth可以即时更改共识 ,“将所有区块链配置放在链本身上”。 这样就可以使用给定的共识机制启动网络,并在网络及其用户发生更改(例如从小规模部署变为大型联合体)时切换到另一个更适应的网络。

这开始揭示区块链发展的一个重要方面:模块化。 尽管最初的项目已经非常紧密地集成在一起,但是随着时间的流逝,人们已经在努力分离不同的层:网络,共识,应用甚至信息存储。

第2层解决方案:2.5代?

直接烘焙到区块链中的解决方案(例如上述解决方案)被视为第1层。建立在区块链之上的解决方案称为第2层解决方案。

这些第2层解决方案,例如用于比特币的闪电网络或用于以太坊的Raiden ,旨在通过将事务卸载到辅助网络来加快整个系统的速度。 它旨在实现更高的吞吐量,同时仍连接到主区块链并保持其重要特征:分布式,无许可和最小化信任。 虽然在某种程度上类似于侧链(将另一个系统连接到主链,但我将在下一篇文章中再次提及),但它们并未使用次级链的想法。 取而代之的是,它们构建了依赖于底层链的安全性和问责制的覆盖网络,但是可以以对等方式更快,更快速地交换信息。

第2层解决方案本质上是为加密货币构建的,并创建了锚定到基础加密货币的区块链的支付隧道,最终在两方之间交换的金额得以结算。 通过将大多数事务从链上脱手并减轻主链上发生的需求量,并将大多数事务卸载到第二层,它们有助于加速整个系统。

结论

速度是无权限区块链潜力的巨大限制。 在保持链的完整性的同时,正在进行大量工作来探索解决此挑战的方法。 最近关于共识的研究正在导致新的方法,这些方法为环境提供了较少的对环境不利的保证。

开源软件不断发展,作为开源生态系统,区块链就是这种现实的一个典型例子:许多项目正在尝试各种解决共同问题的解决方案,而其余解决方案正在被研究,完善和改进。社区。

本系列的下一部分将探讨当前一代的区块链技术如何不仅试图提高单个区块链的效率,而且还能够协同工作。

翻译自: https://opensource.com/article/19/12/blockchain-evolution

区块链技术的发展现状

区块链技术的发展现状_区块链的现状及其发展趋势相关推荐

  1. Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来

    Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -*- ''' Created ...

  2. 深度分析:区块链技术未来发展的 8 个趋势

    来源:36氪 CB Insigh日前发表了一份关于区块链技术的研究报告,结合区块链目前的发展现状,提出了区块链技术未来发展的8个趋势.虽然加密货币和加密资产的价格已从2017年的峰值回落,但区块链创业 ...

  3. 零伽壹|多地印发涵盖区块链技术的发展实施意见

    近日,武汉.河北.北京.广州等多省市发布推动区块链产业发展和场景应用.专家表示,疫情催生了数字化的社会治理创新和软硬基础设施建设需求,未来区块链将在产业链和政务治理的技术性改造上有所布局. ◇政策 ▌ ...

  4. 随着区块链技术的发展,分布式金融体系或成为金融新业态

    金融业的数字化转型引发持续关注.数字金融.智能金融.区块链等关键词都得到了热烈讨论.数据,作为一种新型生产要素,早已成为推动国经济质量发展的重要动能.数据智能驱动金融业蝶变,"一切业务数据化 ...

  5. 区块链技术的发展方向

    区块链技术的发展方向包括以下几个方面: 扩容技术:当前主流的区块链网络,如比特币和以太坊,仍然存在着吞吐量不足的问题,这限制了它们的实际应用场景.因此,扩容技术是当前区块链技术的重要方向之一,以提高区 ...

  6. 「NFT」区块链技术的发展,让元宇宙爆发了

    ​如果你才刚了解NFT,不知道它跟你究竟有何关系,那么这篇文章会给你一些答案:如果你从事传统消费品行业,那么看完这篇文章可能给你带来全新的销售增长玩法:如果你从事艺术品.古玩.潮玩--等行业,那么恭喜 ...

  7. 陀螺解读 | 一文读懂《泉州市人民政府办公室关于印发加快区块链技术应用发展的若干措施的通知》...

    作者:郭欣晨 本文将该政策解剖为四大部分,分别为区块链产业园区.区块链落地探索.区块链扶持.区块链监管. 本次政策最特别的是不仅仅补贴了技术提供方,而且还补贴了技术使用方. 个人认为,产业区块链的问题 ...

  8. 区块链是什么通俗解释_区块链技术是什么?区块链的通俗解释原来是这样!

    原标题:区块链技术是什么?区块链的通俗解释原来是这样! 区块链概念诞生已有一段时间,但一直都是少数人知道它是什么,有什么样的价值,同时伴随着区块链的有数字货币,公链,智能合约等新兴概念的产出,我们该怎 ...

  9. 比特币最主流,以太坊大跌,区块链技术“万金油”红利已结束 | 区块链开发者年度报告...

    整理 | 唐小引 出品 | CSDN(ID:CSDNnews) 已经成为中国工程院院士的王坚博士在自己的著作<在线>中曾谈到了区块链对未来互联网.数据及计算的影响 -- 「如果说网页排名( ...

最新文章

  1. 使用MS VS的命令来编译C++程序
  2. GARFIELD@12-29-2004
  3. 程序的内存模型—内存四区—堆区
  4. 【软考-软件设计师】计算机系统硬件基本组成
  5. alfresco mysql搭建_Alfresco Community 4.0.d 安装图解
  6. Ice-E(Embedded Internet Communications Engine)移植到s3c2440A(arm9)linux(2.6.12)上的 -转
  7. UC大裁员:全体带薪休假至3月31日,补偿措施羡煞网友!
  8. Ubuntu环境下下载Android-SDK-Linux之后使用adb连接设备报错
  9. android支付宝sdk流程,支付宝SDK
  10. Openstack rocky 部署四: neutron 部署与验证(控制节点)
  11. 倍福--授权文件拷贝
  12. 达人评测 i7 13700和i7 12700选哪个
  13. 代码解放,一个智能化的「云控制台」如何运转?
  14. 如何处理Java异常及常见异常
  15. Syntax error on token(s), misplaced construct(s)
  16. 如果同步块内的线程抛出异常会发生什么?
  17. 我的第一个JDBC小项目
  18. android 行高和字号之间关系,字号与行高
  19. jaeger安装和架构
  20. 58同城姚劲波:以域名起家 从创业小子到亿万富翁

热门文章

  1. Bash-Shell-02
  2. springboot中的ApplicationRunner 接口
  3. hadoop 自定义分区
  4. java Redis Jedis存储Java对象 - (Java序列化为byte数组方式)
  5. Python网页爬虫--
  6. 【Unity】(转)游戏辅(外)助(挂)开发
  7. ThinkPHP3.2.3执行页面循环案例代码(部分)
  8. javascript脚本中使用json2.js解析json
  9. oracle dataguard 03113 error code solution
  10. [C# 网络编程系列]专题九:实现类似QQ的即时通信程序