上一节课我们系统学习了目前主流的区块链项目的技术架构;思考我们在设计具体的业务架构时,需要决定什么业务应该上链,什么业务应该用链下服务处理;今天我们将深入了解区块链技术发展趋势。在区块链落地应用过程中,还有很多技术问题需要解决和探索,可说是挑战与机遇并存。在项目落地的时候,我们会发现一系列的问题需要去解决,这些问题包括共识机制、隐私保护、数据存储和查询分析、混合架构的探索及互操作性、以及标准化及规范化等。

在学习课程的时候,你也可以免费领取BaaS平台为期一个月的试用机会,免费使用高性能区块链服务(点击链接即可免费领取https://blockchain.xunlei.com/baas/try.html)。课程学习结合实践操作,让你迅速成为区块链大牛!

*以下为第四课的内容~

**

第四课 区块链技术发展趋势

**

经过10年的发展,区块链技术开始进入广泛应用领域的区块链3.0时代。展望未来的区块链技术发展趋势,也从这些实际应用中的需求而来。在区块链落地应用过程中,我们会发现一系列的问题需要去解决,这些问题包括共识机制、隐私保护、数据存储和查询分析、混合架构的探索及互操作性、以及标准化及规范化等。

共识机制

共识机制是区块链系统性能的关键瓶颈。在基于证明机制的共识算法中,经受多年实践性安全检验的PoW机制有着消耗大量计算资源及性能低下的问题;在基于投票机制的共识算法中,有着完善理论证明的PBFT算法面临着广播带来的网络开销过大的问题。因此,共识机制需要在理论和工程实践上持续改进,例如基于特定安全性前提(例如在少部分可信节点中选取主节点)并减少网络广播的共识算法、基于可信硬件的共识算法、融合多种共识算法的优势的共识算法、DAG共识机制等在未来都是值得关注的。

减少网络广播的共识算法的一个项目案例是EOS的DPoS共识算法。EOS社区选举出21个超级节点参与投票,共识算法的广播只在这21个节点之间存在,大大减少了消息广播,但其存在中心化的问题,只有财力雄厚的矿主才有资格参与超级节点的竞选,并且这21个超级节点也存在共谋的可能。图灵奖获得者 Micali 提出的Algorand共识机制则能保证随机选举节点生成区块并形成共识,减少网络广播的同时也更加安全。

基于可信硬件的共识算法:Hyperledger Sawtooth应用了基于Intel SGX可信硬件的逝去时间证明(Proof of Elapsed Time,PoET)机制。PoET 理念是由芯片巨头 Intel 于 2016 年早期为解决“随机领导者选举”的计算问题而提出的。这种依赖于特定的硬件SGX,它确保了受信代码(随机等待时间的生成逻辑)的确运行在安全环境中,并不可被其它外部参与者更改。它也确保了结果可被外部参与者和实体验证,进而提高了网络共识的透明度。

融合共识算法:EOS为提高交易的确认速度,在DPoS共识机制的基础上,实现了aBFT共识算法,DPoS+aPFT共识算法有两者的优点:DPoS的减少广播消息和aBFT的快速确认。迅雷链提出的DPoA+PBFT则有关注公平性和快速确认的优点。

DAG:为了适应于物联网小额支付的场景,IOTA区块链平台提出使用有向无循环图(DAG)来组织区块的方案Tangle,每块只包含一个交易且至少链接之前的两个区块以表示确认过两个交易,整个图根据结点权重计算最长链并作为主链。在IOTA中,为了发送一个交易,用户需要验证接收到的前两个交易。在更多交易添加到 Tangle 的情况下,这种二对一、前瞻性支付的共识可加强交易的有效性。在线性的区块链中,区块是依次添加到链中的,这使得相比于并行向链中添加区块,线性区块链在本质上是非常缓慢的。但是对于 DAG 而言,每个区块和交易只需数个前期交易得到确认,就可以并行地添加交易,这意味着,DAG 在本质上是高可扩展的。

隐私保护

因为能够隐藏交易内容,零知识证明和同态加密是最受关注的隐私保护解决方案。

零知识证明目前更多被应用于数字货币领域,只有zCash和Hawk基于零知识证明构建了区块链应用和模型。


同态加密原理示意图:对加密后的数据进行计算,解密后能得到正确的结果。

同态加密算法可以让第三方节点对加密后的数据进行计算,但不知道计算的原始数据内容,数据的拥有者将结果解密后的内容与对明文进行同样计算的结果一样。同态加密真正从根本上解决将数据及其操作委托给第三方时的保密问题,但目前同态加密算法的运算效率低,距离实际应用尚有较大差距。但其性能若能提升到实际使用的程度,则意义重大,能让人真正放心的将数据放到公有云或公有链上。因此,针对零知识证明、同态加密等隐私保护方案,如何扩大应用领域、提高运算效率、加快应用落地,将会是今后最迫切的研究工作。

部分存储

比特币平台的每个网络节点都全量的存储着所有历史交易数据,这虽然保证了数据的公开性、透明性及系统的高可用性,但由于每个交易都需同步到全网所有节点,也会带来性能问题,而且用不了多久数据量就是超出单机存储容量的上限。随着交易量和数据量的剧增,区块链节点由全量存储到部分存储将会成为未来的一个趋势。数据部分存储的方案中,多链和侧链都是值得注意的发展方向。

多链方案:传统区块链平台的单链设计方案使得系统整体处理能力受限于单个节点的处理能力。多链设计方案可使互不相关的交易实现分片存储和并发执行,不但提高了系统的可扩展性,使全网不再受限于单个节点,而且链间隔离还保证了交易数据的隐私。
Hyperledger Fabric 1.0的多通道技术从性能和隐私两个角度考虑,使每个通道仅存储与通道节点有关的交易。迅雷链采用同构多链的架构,对用户账户地址按hash分布到各个子链,相当于将全网交易数据按子链数量等分,因此每条子链只存储部分数据。正在开发中的以太坊2.0的分片技术将全网交易数据按片数等分,使得每个分片存储的交易数据尽可能均衡。

侧链方案:侧链(sidechain)最初是通过锚定比特币而实现数字资产交易的区块链技术,主要解决比特币平台应用单一、性能受限等问题,并且由于大部分交易数据存储在侧链,也能够缓解主链的存储压力。侧链是一个独立的区块链,有自己的账本、共识机制、交易类型和智能合约,通过锁定主链上的数字货币,可使得相应数量的数字货币在侧链上流通。
Blockstream推出的元素链通过与比特币双向锚定,既实现了比特币在主链和侧链间的互转,还提供了智能合约,私密交易等特性。通过为每个应用分别创建一个锚定到主链的侧链,可扩展传统区块链支持多种应用类型。多链与侧链能够解决现有区块链的问题和不足,未来需要进行更多研究。

区块链的数据查询分析引擎

随着区块链系统性能的改善及交易数据的积累,基于区块链的数据分析工作将会成为迫切需求。但如上节课的“区块链混合架构”一节所述,由于当前区块链技术不支持数据的查询分析,企业在基于区块链构建业务应用时,需要额外部署一个“区块数据分析服务”,用于构建区块链数据分析服务,可以支持用SQL语句查询分析数据,以支持对数据的复杂检索。

随着区块链技术的广泛应用和技术的发展,区块数据分析服务将会成为区块链项目的标配模块,由区块链本身直接支持数据的查询分析,也会是一种发展趋势。例如在应用层上应该原生支持SQL,支持访问区块数据、交易数据、状态数据的SQL语句, 使应用程序获得与访问传统数据库相同的接口,以降低应用开发人员、数据库管理员的学习门槛,消除企业额外构建区块数据分析服务的成本。

BigchainDB项目从大数据分布式数据库切入,添加了区块链的特性,如去中心化、不可篡改和资产转移等,支持使用MongoDb客户端连入,可以使用MongoDB客户端的查询语法,同时也提供了一套受限的HTTP API接口,支持一些预定义的查询。

混合架构


基于区块链的业务的混合架构图

区块链的核心价值是机器信任。随着技术的发展,区块链的功能和性能都会越来越强大,但它仍然不是万能的。随着区块链技术的广泛应用,实际的业务模型复杂多样,会存在很多的链下模块。在设计具体的业务架构时,我们需要决定什么业务应该上链,什么业务应该用链下服务处理,一个简单实用的判断依据是回答以下3个问题:业务是否与信任或价值转移相关?业务上链是否能提升效率?业务上链是否能降低成本?例如,在实际的业务架构中,需要考虑的因素有:

  1. 大量的业务逻辑跟信任和价值转移无关,不需要放到链上执行。例如商城的用户注册、用户个人资料、商品展示、运营管理、交易所的买卖单撮合、隐私数据等,都应该属于链下的服务。

  2. 用户体验。好的用户体验需要更快的响应速度、更安全的通信、更稳定的网络连接,因此需要有接入层服务,负责客户端的接入、鉴权、负载均衡、协议转换等。

  3. 海量数据存储。支持存储大量的文件数据。

  4. 数据分析。负责对交易数据做统计分析、数据挖掘等处理,输出统计报表。

  5. 监控服务。负责对节点和各个服务模块做实时监控,检测到异常后及时触发告警,以便研发运维人员及时排除故障,保障服务的稳定运行。
    随着区块链技术在实体经济中的广泛应用,混合架构的设计将会是一种趋势,可能很快会形成一种常见的设计范式。

增强的互操作性

互操作性包括两个方面,一个是链与链之间的交互;一个是链上与链下的交互。

单纯绑定到某种技术可能将无法满足实际使用中多样化的需求。多种技术和异构平台之间的相互融合,将是大趋势,这也是支持大规模可扩展性的需要。目前,主流的跨链机制如公证人、侧链/中继、哈希锁定等各有利弊,只能应对部分需求。

互操作性的另一个层面在于链上服务和链下服务之间的交互。传统认为,区块链只能解决溯源问题的一半,即链上的可信转移,另外一半则只能通过额外的标签机制等进行追溯。链上服务如何安全可信的访问链下数据,也是目前的热门研究方向。

标准化和规范化

随着区块链应用的不断深化,场景规模越来越大,技术选型越来越复杂,对于协议和接口的标准化需求日益迫切。

标准化可以允许用户更方便的比较多种技术实现,在不影响上层应用的前提下在多个平台上移植,及时享有新技术突破带来的效率优势。

目前,国内外相关标准化组织都在积极探讨,如何正确使用分布式账本技术。这些努力包括:

l 国际电信联盟电信标准化组织(International Telecommunication Union Telecommunication Standardization Sector,ITU-T)自2016 年起发起3 个工作小组(SG16,17,20)来分别进行分布式账本整体需求、分布式账本安全需求和分布式账本在物联网领域应用等方面的研究;
l 国际标准化组织(International Organization for Standardization,ISO)成立5 个课题组,探讨制定关于分布式账本架构、应用、安全保护、身份管理和智能合约方面的相关规范;
l 电气电子工程师协会(IEEE)成立P2418.2 项目,探讨区块链系统数据格式标准;
l 国际互联网工程任务组(Internet Engineering Task Force,IETF)成立了分布式互联网基础设施研究组(Decentralized Internet Infrastructure Proposed RG)。该研究组将集中在非中心化架构服务中的信任管理、身份管理、命名和资源发现等问题;
l 互联网标准化联盟(World Wide Web Consortium,W3C)成立了三个相关的研究小组,分别探讨区块链技术和应用;数字资产管理规范以及跨账本互联协议等;
l 中国信息通信研究院已经牵头众多行业专家成立“可信区块链联盟”,针对区块链产品的性能和特性如何客观评测这一老大难问题,先后发布多个评测参考指标和报告。

这些成果将推动区块链生态的标准化和规范化。在此阶段,借鉴互联网发展过程中的经验,需要产业、学术、开源各界的密切合作,保持开放共赢的心态。

结语

目前区块链技术仍然处于早期发展阶段,落地应用过程中还有很多技术问题需要解决和探索,可说是挑战与机遇并存。我们除了需要不断技术创新外,更要结合实体经济行业中的具体应用场景,为更多的业务寻求切实可行的解决方案,才能为用户创造更大的价值,促进区块链技术的发展。

《迅雷链精品课》第四课:区块链技术的发展趋势相关推荐

  1. 《迅雷链精品课》第一课:认识区块链

    <迅雷链精品课>第一课:认识区块链 区块链究竟是什么?共识算法.智能合约又是什么?为帮助广大开发者快速入门,助力区块链开发人才进阶,让区块链不再是遥不可及的技术概念.迅雷链给开发者免费献上 ...

  2. 《迅雷链精品课》第二课:区块链核心技术框架

    上一节课我们明白了什么是区块链,了解了区块链的关键特性和技术等内容,这节课我们将深入了解区块链的技术架构,系统学习区块链平台的6个层次:数据层.网络层.共识层.合约层.应用层.接口层,另外通常还有客户 ...

  3. 迅雷链总工程师来鑫:区块链3.0需解决4大难题

    11月30日,多位行业专家齐聚2018国际区块链大会共识机制专题论坛,共同探讨区块链共识机制技术,迅雷链总工程师来鑫表示,迅雷自主研发的迅雷链已经攻克区块链3.0阶段的性能.效率.扩展和存储难题,为区 ...

  4. 区块链技术的发展趋势

    当应用于实际业务时,目前的区块链平台在诸多方面尚存在问题,为了解决这些问题,未来的区块链还需在以下几个方面进一步研究发展: (1)共识机制. 共识机制目前已经成为了区块链系统性能的关键瓶颈.在基于证明 ...

  5. 《迅雷链精品课》第三课:区块链主流框架分析

    上一节课我们学习了区块链的技术架构,系统地分析了区块链平台的6个层次:数据层.网络层.共识层.合约层.应用层.接口层.这节课我们将结合实际看看现在主流区块链项目的技术架构:思考我们在设计具体的业务架构 ...

  6. 中国的区块链技术,究竟发展到哪里了?

    作者 | 刘为怀 责编 | 胡巍巍  背景 区块链在本质上,是一个共享.可信的公共总账,任何人都可以对它进行核查,但不存在一个单一的用户可以对它进行控制.在区块链系统中的参与者们,会共同维持总账的更新 ...

  7. 区块链技术及其在信息安全领域的研究进展 简单概括

    一.摘要部分 区块链是一种源于数字加密货币比特币的分布式总账技术,其发展引起了产业界与学术界的广泛关注. 区块链具有去中心化.去信任.匿名.数据不可篡改等优势,突破了传统基于中心式技术的局限,具有广阔 ...

  8. 区块链技术具体要用到什么开发语言?

    关注「实验楼」,每天分享一个项目教程 区块链技术如何运作?使用什么开发语言?这可能是现在许多区块链程序员的声音.以下是四个区块链技术的主要发展词汇,希望能帮助您. 正文共:1246 字 预计阅读时间: ...

  9. 区块链技术要用到什么开发语言?

    回顾2009年到如今,区块链技术的火热程度是逐年增加.各大行业巨头也在疯狂布局,势必要上演一场"群雄逐鹿"的商业大战.那这场好戏什么时候上演?有人说就在最近这两三年,还有人甚至说就 ...

最新文章

  1. Golang面向过程编程-函数
  2. 【超简单】MySQL存储引擎的选择与配置
  3. php代码编辑器6,优秀的PHP代码编辑器_Blumentals Rapid PHP V13.6 免费版
  4. Java并行程序基础
  5. lock_sh 示例_带有示例的Python date __str __()方法
  6. 2-2hadoop概述
  7. 详解Python的max、min和sum函数用法
  8. 工程介绍好处费性质_承包工程项目都要注意什么?怎么防止拖欠工程款
  9. Oracle开发艺术
  10. 第二届世界智能大会,看大咖眼中的智能时代
  11. pythonreduce()函数、sorted()函数、reversed_cmp函数、类和对象
  12. App Store、Steam、Google Play等出海应用、游戏如何收款到国内账户
  13. python加法运算符可以用来连接字符串并生成新字符串_中国大学MOOCPython语言入门网课答案...
  14. 什么是ROE、ROA和ROS?衡量企业盈利能力的比率有哪些?
  15. Android群英传笔记——第七章:Android动画机制和使用技巧
  16. python opencv制作隐藏图片
  17. bootstrap树节点如何设置默认不展开_GraPhlAn:最美进化树或层级分类树学习笔记
  18. ML-czy的小组任务
  19. ETF操作实战记录:2022-2-22
  20. 淘宝商品主图销量促销价查询接口

热门文章

  1. matlab icol,人脸识别-2dpca之Matlab程序
  2. 2dlda人脸识别 matlab,利用2DPCA和2DLDA在ORL人脸数据库上做的人脸识别实验
  3. Maven系列学习(2)——java project的创建
  4. 计算机硬盘加密的几种方法,对于移动硬盘加密方法 你了解多少种呢?
  5. win10无限蓝屏_win10蓝屏died怎么办_win10无限process died解决方法
  6. 拜尔滤色拜尔滤色镜_如何在iPhone或iPad上启用滤色器以方便眼睛阅读
  7. Unity 泛型单例
  8. 科研论文里的paired t-test
  9. [Algorithmic Toolbox学习笔记][week6]Placing Parentheses
  10. 用友t6请先设置文件服务器,用友T6-餐饮管理软件标准版发版说明