首页 web3.0 干货分析:区块链技术的本质结构和发展方向

干货分析:区块链技术的本质结构和发展方向

作者简介:Raymond,Ultrain高级技术专家,前摩托罗拉高级软件开发工程师,最近在EOS底层发现了一个致命的安全…

干货分析:区块链技术本质架构与发展方向

作者简介:Raymond,Ultrain高级技术专家,前摩托罗拉高级软件开发工程师,最近在EOS底层发现了一个致命的安全漏洞,可能导致EOS全网宕机,并向EOS提交了问题和修复方法,获得了其官方的感谢。

从比特币诞生至今,区块链技术已经发展了十几年,吸引了资本和技术的关注,并保持着热情。大量资金和技术研发的持续投入,推动了这项技术的快速发展和演进,尤其是随着近年来区块链技术的落地生根,区块链将成为互联网之后的重大技术变革的商业预期正在逐步实现。

就像互联网在各行业的应用和融合一样,人们相信区块链技术的去中心化和账本的不可篡改也能对传统行业产生颠覆性的革命。区块链从业者开始探索传统行业与区块链技术的结合,产生了跨境结算、供应链金融、数字资产确权、版权存管、商品溯源等落地应用。

本文将尝试从区块链技术的本质、技术架构、发展方向三个角度分析区块链技术,揭开区块链技术的神秘面纱,探索真正能给传统行业带来价值的商业落地场景。

区块链技术的精髓

区块链不是万能的。只有了解区块链技术的本质,才能去伪存真,探索适合区块链技术优势的应用场景,真正为传统行业创造新的商业价值。区块链的技术精髓有以下三个核心点:

图1区块链技术的精髓

区块链技术与生俱来的天然信任,不是各种共识算法赋予的,也不是只有无法修改的公共账本技术带来的。而是来源于平台不受任何单一主体控制,所有人都可以随时参与和退出的特点。分布式存储、对等网络、各种共识协议等软件技术都是为了让去中心化的平台正常工作。平台运营的结果是由平台参与者的共识形成的。同样,这个平台的修改和更新也需要平台参与者达成共识。套用《流浪地球》的台词,在区块链时代,共识是比钻石更珍贵的东西。

区块链的自然信任也依赖于它运行的软件的开源特性。任何人都可以查看源代码,作为平台的一个节点编译运行,参与平台的运营。去中心化的软件技术无法带来天然的信任。信任来自于这个开源的操作平台不受任何一方控制,任何一方都不能随意修改系统的运行结果和软件功能。

Ultrain超级大脑信任计算联合创始人CEO郭睿曾在直播中举了阿里巴巴打假平台的例子解释Ultrain的经济模式:阿里巴巴每年投入巨额资金打假,但公众仍然可以想象打假只是走过场,象征性地做个案,然后利用假货获取更大利益。阿里巴巴没有办法证明自己的清白。本质原因是阿里巴巴的运营平台是他们自己掌控的,系统数据是他们自己提供的。由单个实体运营的集中式平台不可能具备去中心化平台固有的天然信任机制。

比特币为什么会成功?从技术上来说,比特币使用的技术包括点对点网络,各种加密算法都不是新技术。在它之前,电子货币/加密货币也有过多次失败的尝试。显然,技术并不是其成功的本质原因。比特币的成功可以归功于其良好的经济激励机制设计了——区块链的原始通行证机制。它的作用可以分为两个方面。一方面,通用证书机制可以将经济博弈引入区块链系统,保证系统的良性运行

业内还有专业的通证经济研究学校。从数字资产变现到现实资产,再到公司激励组织形式的改变,为通用证书经济提供了理论支持,描绘了区块链与各行各业结合后的丰富应用前景。

这里有必要对联盟链做一个特别的说明:联盟链没有通行证机制,是一个许可机制,节点需要经过审核批准才能入网,使用链外的激励机制,不需要设计复杂的经济激励模型。联盟链节点数量有限,相当于一个多中心系统。

比特币最初的定位是点对点的电子货币系统,只支持弱脚本能力,仅限于金融业务逻辑。以太坊开始支持智能合约,使区块链平台能够运行图灵完整编程语言,从而实现平滑的价值传递,支持复杂的业务逻辑,提供信任计算能力,开启了新的区块链时代。智能合同已经实现了许多业务场景,从游戏、可追溯性、证券存款、能源交易到供应链金融。这些应用场景利用区块链赋予的天然信任机制或区块链的传递机制,创造了新的商业模式,带来了新的商业价值。

目前区块链和集中式系统的处理性能还有差距,智能合约的编写也容易引入安全漏洞,一定程度上限制了智能合约的应用。然而,这些都是新技术发展的必要阶段。业界也在努力解决这些问题,更多的落地场景逐渐涌现,推动区块链产业一步步走向繁荣。

区块链的技术建筑

区块链涉及的技术非常广泛。关于相关加密技术、共识算法等具体知识,业内已经有很多文章。结合很多开源项目,方便技术人员切入这个领域。本节试图从整体架构层面描述每个模块的相对关系,以帮助您建立整体理解。

图2区块链技术架构

存储层:

区块链平台运行产生的块数据和状态数据需要存储在文件系统和数据库系统中。块数据存储特定的交易信息,其中需要利用默克尔树、非对称加密等技术实现信息汇总和签名,保证数据的完整性和一致性。状态数据一般存储在一个数据库中,这个数据库也叫世界状态,它会包括系统运行参数、注册账户、用户智能合约的字节码、合约中存储的业务数据等信息。

区块链操作平台可以理解为一个分布式状态机:所有节点从同一个创建状态开始,依次运行约定块中的事务,驱动每个节点的世界状态按照相同的操作顺序(添加、删除、修改)不断变化,从而实现执行相同编号的块后,所有节点的世界状态完全一致。当一个新节点加入网络时,如果是全尺度节点,需要从网络中的其他节点同步所有历史块信息,验证块的正确性,通过依次执行保存在块中的事务来重构世界状态,直到与网络上的其他节点高度一致,同步完成,可以继续与其他节点进行新块的共识挖掘。

网络层:

对等网络的主要功能包括实现网络拓扑、交换共识协议信息以及广播/接收事务和块信息。新节点依靠与种子节点的交互来实现网络邻居的自动发现和组网,形成去中心化的网络拓扑。不同的共识协议会有不同的协议相关网络包来完成共识过程。网络中的大多数数据包都是事务包和块包。当一个节点接收到一个用户事务时,它会将其广播到网络中,并尽可能地传播到所有节点。一个节点产生的块也需要尽快传播到所有节点。比特币的初始设计块大小是1MB,块与块之间的间隔是10min,就是要让每个点头

在块生成间隔一定的前提下,一个块包含的事务越多,系统的处理性能越高。但是一个块可以包含多少事务一方面取决于节点CPU的处理性能,另一方面取决于节点的网络带宽。一个块所包含的事务的总执行时间是有限的,CPU的处理性能越高,它所能包含的事务就越多;网络带宽的吞吐量也是限制块大小的一个因素。网络层需要在产生下一个块之前,将当前块尽可能多地广播到整个网络。因此,节点的网络带宽越高,块的大小就越大,可以包含的事务也就越多。这里所说的节点的CPU处理能力和网络带宽要考虑全网所有节点,实际上是被性能最差的节点所限制。

共识层:

区块链的共识是使用一定的协议机制,使所有节点对下一步要产生的块(即块中应该包含哪些事务)达成一致。我们可以想象一个投票的场景,每个人都可以提出自己的建议,努力获得足够的票数。投票权的分配要能抵御女巫攻击,也就是说单个主体无法控制大量的选票。在现实世界中,我们可以根据每个人的选民身份赋予他们选举权;在数字世界的集中系统中,我们利用注册机制(包括手机号、验证码、手持身份证照片、活体检测等技术手段)提高单个主体的门槛,以获得大量选票;在去中心化的区块链领域,没有身份识别机制,投票权的分配方法包括工作量证明PoW、权限证明PoS、委托权限证明dpo、各种PoX(PoET、PoA等。)和VRF算法。

PoW要求节点找到一个数值,使块哈希值满足要求。在求这个数值的过程中,节点需要投入大量的计算能力。当一个节点找到符合要求的值时,获得投票权,同时提出自己的块(PoW不需要投票链接,先获得投票权的节点提出的块是共识块);PoS/DPoS利用节点抵押的令牌权结合其他因素分配投票权,并结合BFT投票确认链路选择共识块;VRF算法依靠密码学、数学随机数等技术分配投票权,BFT投票后选择共识块。

智能合同层:

每个公链使用不同的编程语言编写智能合约,比如以太坊中的Solidity,EOS中的C,Ultra中的typescript等。智能合约被编译成字节码,并打包成交易信息进行存储。每个节点收到块后,提取其中包含的事务信息,将字节码加载到虚拟机中运行,运行结果反映世界状态。可以检查上行上的字节码与开源智能合约的一致性,从而保证节点实际运行的字节码与开源代码显示的业务逻辑一致,提供公开透明的信任能力,启用需要信任计算的业务场景。需要指出的是,目前从安全角度来看,智能合约完全开源后,黑客攻击的门槛会大大降低,真正开源智能合约的项目并不多。

共识层一般称为层1,智能合约层称为层2(所以存储层和网络层可以认为是层0)。第二层智能合约层有很多项目可以创新,比如闪电网、去中心化交换、跨链机制等等。

应用层:

各公链的商业生态建设可以和Google的Android生态建设相比较:公链项目类似于Google的角色,提供软件平台;矿机厂商类似于手机硬件厂商,提供软件运行硬件平台;公链上层的富应用,也叫DAPP,类似于安卓的平台富APP。公链项目在开发软件平台的同时,还需要提供开发工具,举办活动,吸引开发者为公链开发DAPP,打造繁荣的生态。现在在公链上运行的DAPP,主要以游戏、溯源、交流为主。游戏利用区块链公开透明的机制,将核心业务逻辑运行在区块链平台上,以示公平;溯源等应用主要是记录区块链平台上的相关流通信息,利用其不可篡改的特性供用户查询全生命周期的历史信息,如Ultrain公链上库存的高端运动鞋交易信息的溯源应用。在公链上运行的DAPP的质量和数量也是公链健康发展的重要指标。

需要指出的是,区块链技术架构的分层只是为了便于理解而进行的逻辑层次划分,大多数项目都是以紧密耦合的单个软件的形式出现的。随着区块链技术的发展,一些项目已经开始支持模块化开发,例如支持网络模块和共识模块的替换。

区块链的技术发展方向

区块链在资本和技术的推动下发展迅速,落地场景越来越多,开始给传统商业带来价值。然而,区块链技术本身也存在一些问题,如性能低下、隐私保护不足、安全问题频发以及缺乏有效的治理手段等。本节试图描述区块链技术的几个主要发展方向。

比特币的性能约为3 ~ 7 TPS,以太坊的性能约为7 ~ 15 TPS。但集中式系统如信用卡平台2K TPS,行业标杆淘宝的双十一处理能力在30W TPS左右。很多公链项目都在努力提高区块链的可扩展性,主要包括以下思路:

共识机制:

比特币工作量证明机制,为了保证块的网络传播时间,将块大小限制在1M,并调整了哈希计算的难度,将块时间间隔保持在10分钟左右,导致其性能低下。以太坊的GHOST协议使用了三级块的工作量证明,在一定程度上提高了块输出率和处理性能。EOS的DPOS牺牲了去中心化程度,票数最高的21个超级节点依次出块,每0.5秒生成一个块,每个节点连续产生12个块,提高了去块效率。Ultrain采用的共识机制兼顾了去中心化和去块效率。每轮通过数学随机数算法选出区块节点、投票节点和区块节点提出的区块,被大多数投票节点认可后即可生成区块。

DAG结构:

比特币每次只选择一块来延长主链。为了减少分支块的出现频率,一些项目采用DAG结构来提高可扩展性。例如,Conflux项目改变了一次只选择一个有效块的方案,根据EPOCH概念使用DAG结构来维护非主链有效块。首先确定所有有效块的顺序,然后确定块内事务的顺序,提高了处理性能。

片段分组:

目前,区块链系统中的每个节点都存储着整个网络的状态,并处理整个网络的事务。处理性能受到网络中性能最差的节点的限制。碎片分组就是按照一定的规则对节点进行分组。整个系统被分成几个相对独立的片段。单个片段只处理部分事务甚至存储部分状态,多个片段并行处理,提高了系统的处理性能。但包分片会带来安全性降低、跨芯片事务处理复杂等问题:比如网络有1000个节点,需要控制510个节点才能发动51%的攻击;但是分成10段后,单段只需要控制51个节点就可以发动攻击。Zilliqa根据PoW结果随机分配节点给不同的片段,防止单个片段被犯罪者控制;Ultrain按照一定的策略将全网的节点随机调度到不同的网段,利用世界状态实现节点的快速启动,既保证了系统的安全性,又提高了系统的处理性能。mono提出了用弩挖矿的概念,以提高单片抵御攻击的有效计算能力。当发生跨切片事务时,切片以同步或异步方式辅助执行切片事务,会增加通信成本,极端情况下甚至会使系统性能低于切片前。Zilliqa事务类型将事务分成段,而mono将事务中的原子操作分成多个,通过异步消息传递完成事务中继执行。

侧链跨越:

侧链通过将一些操作转移到侧链来解决主链的性能瓶颈,比如等离子区块链,它是一个树形结构,每个分支都是一个子链,子链的块头hash值提交给根链,根链只需要处理少量的子链提交,有效降低了根链的事务负载。跨链的概念更加广泛,资产和地位可以在链之间转移和交换。比如跨链项目Cosmos,其网络由Hub/hub和Zone/partition组成,分区之间通过Hub进行交易,交易可以在链下进行转移,减轻了链上的交易处理压力。

第2层方案:

上面提到的性能提升方法一般称为第一层解决方案,还有一大类称为第二层解决方案,即在智能合约层使用一定的机制在链下执行事务,只有在必要的时候才会向网络广播事务,以提高吞吐量。比如最近在比特币上很火的闪电网,其主要思路是建立一个双向支付通道,采用哈希时间锁定和哈希密钥锁定,让双方可以在通道内重复交易任意次数,最后在通道关闭时向比特币区块链广播期初和期末余额信息。

区块链因其价值网络的特殊性(攻击成功可以快速实现)受到黑客青睐,安全事件频发。据慢雾科技统计,仅ETH和EOS在数字货币上的累计历史攻击损失就高达40亿美元。一个公链项目的工程复杂度极高,需要考虑各个层面的安全问题,比如主机系统安全、暴露端口安全、密钥存储安全、网络拓扑规划、最优系统配置等等。共识算法级需要防范相关的51%攻击、无辜攻击、远程攻击等。智能合约级别的安全性更加重要。一方面智能合约语言的最佳实践并不完善,另一方面DAPP开发者经验不足,代码实现相互借鉴。黑客发现的一个漏洞可以攻击很多DAPP。智能合约中随机数的生成也是一个灾区,项目方使用的随机数算法存在漏洞,黑客可以提前预测其值,稳定获利。

公链项目方需要提高公链软件本身的安全性,为I提供矿机部署的安全配置建议、最佳实践等指导信息

比特币构建了一个去中心化的平台,去除了对第三方的信任依赖,但需要将所有交易广播到网络,所有节点达成共识,保证系统的安全性。攻击者通过分析特定地址的交易特征,结合一些实际信息,就可能得到交易地址与实际人的对应关系,从而给用户的隐私带来极大的隐患。此外,还有一些业务场景要求对区块链上的数据进行加密,不允许公开访问,比如企业之间的特定交易数据、患者隐私数据等。利用密码学技术,可以在不泄露数据本身的情况下进行一些数据操作,让对方完成对数据完整性和真实性的验证。相关技术包括多方信任计算、同态证明、零知识证明等。随着区块链技术的发展和普及,商业落地场景下的隐私保护需求会越来越多。在隐私保护方面,Ultrain公链已经提供了零知识证明中间件供开发者使用。

区块链世界通过使用去中心化的运营平台带来了天然的信任,但这种信任仅限于链中的数据。许多业务场景需要智能合约来与链外数据交互。如何实现数据上行的信任机制,成功连接现实世界和区块链世界,需要使用Oracle技术。甲骨文是现实世界和区块链世界之间的桥梁,是为区块链世界提供数据的中介。但是,Oracle只是数据源和区块链之间安全可靠的数据通道,只能保证数据不会被篡改,不能保证数据源的正确性。用户可以从多个数据源获取数据,并在应用层汇总这些数据以获得最终结果。Oracle机器的实现包括集中式模式,比如以太坊上运行的Oraclize,数据由Oraclize公司搭建的服务器提供。去中心化的方法,比如最近和Ultrain达成战略合作的DOS网络。通过安全的数据路径和多信息源比对技术,Oracle必将推动越来越多的应用场景,在区块链生态的发展中发挥越来越重要的作用。

区块链技术仍在快速发展,相关生态建设也在各方努力下推进,区块链技术的商业应用不断涌现。我们对区块链技术能否成为新一代商业基础设施充满期待。

(作者:Ultrain超脑链,内容来自链的内容开放平台“德豪”;本文仅代表作者观点,不代表链家官方立场)

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 玩玩此款

为您推荐

杭州举行全国医保电子票据区块链应用启动仪式

来源:央视新闻客户端 今日(3月30日),全国医保电子票据区块链应用启动仪式在浙江省杭州市举行。医保电子票据区块链应用是...

工信部:到2025年进一步完善国家区块链和分布式记账技术标准体系

3月28日,工信部以《区块链和分布式记账技术标准体系建设指南(2023版)》(以下简称《指南》)公开征求意见。 《指南》...

解密区块链:从概念到应用的全面介绍

区块链是一种去中心化的分布式账本技术。其本质是一种数据结构,可以记录和验证交易信息,保证数据的安全性和可靠性。在区块链技...

赣州经济开发区“区块链”发展模式成效显著

来源:江西日报近日,工信部公示了2022年区块链典型应用案例名单。其中,赣州新联金融信息服务有限公司申报的“数字村链”入...

西班牙目前对区块链的态度如何?为区块链出台了哪些政策?

和西班牙在制定区块链政策方面落后于其他欧洲国家,但他们积极鼓励区块链技术的发展。 西班牙国家证券委员会和西班牙银行于20...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部