购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第2章
区块链Web3的支柱

●区块链的基本概念

●区块链的四个关键组成部分

●数据技术的大融合

●区块链和云计算

●区块链与网络安全

●区块链应用的五大挑战和可能的解决方案

●为什么区块链对元宇宙至关重要

2.1 区块链的基本概念

互联网及其数字革命面临一个最重要的问题:数字数据可以被复制。本质上,这意味着任何数字系统都可能受到攻击。因此,保护数字世界的完整性是一项艰巨的任务。由于元宇宙旨在将每个人甚至每件物品连接到数字世界中,元宇宙经济(和社会)的核心是蕴含在数据中的洞察力、智能和信息的爆炸。因此,对于基于元宇宙的新互联网来说,数据管理问题比以往任何时候都更加关键。

这就是为什么说区块链是元宇宙的支柱。在我们深入探讨区块链应用的具体功能并分析区块链与人工智能、虚拟现实和增强现实以及物联网等尖端数字技术如何融合并为元宇宙提供动力之前,让我们先从区块链的基本概念开始讲起。

那么,什么是区块链?美国国家标准与技术研究院(NIST)的官方定义是:

区块链是一种分布式数字账本,其中包含经加密签名的交易,这些交易被组合成区块。每个区块在经过验证和共识决定后,都与前一个区块加密连接(使其具有防篡改性)。随着新区块的增加,旧区块变得更难修改(产生抗篡改性)。新区块会被复制到网络内的账本副本中,任何冲突都会通过既定规则被自动解决。

维基百科也有类似的定义:

区块链是一个不断增长的记录列表,这些记录被称为区块,通过加密技术连接在一起。每个区块都包含前一个区块的加密哈希值、时间戳和交易数据(一般表示为Merkle树)。时间戳证明了交易数据在区块发布时就已存在,以便获得哈希值。由于每个区块都包含前一个区块的信息,因此它们形成了一条链,每增加一个区块都会加强前一个区块。因此,区块链可以抵御数据修改,因为任何给定区块中的数据一旦被记录,就无法在不修改所有后续区块的情况下进行追溯修改。

简而言之,区块链是一种分布式账本或数据库,通过公共或私人计算网络共享。网络中的每个计算机节点都拥有账本的副本,因此不存在单点故障。每条信息都经过数学加密,并作为一个新的“区块”添加到历史记录链中。在将新区块添加到链上之前,会使用各种共识原代码与其他参与者一起验证新区块。这可以防止欺诈行为或重复消费,而且无须中央授权。

除了“分布式数字账本”或“记录列表”的概念,区块链技术的其他关键要素还包括智能合约、公钥(加密)、共识算法和点对点网络。这些技术共同实现了区块链的各种基础架构和应用。区块链涉及许多不同的技术,包括博弈论、时间戳、事务排序和分布式计算。下面我们将详细讨论区块链的四个关键组成部分(见图2-1)。

图2-1 区块链的四个关键组件

2.2 区块链的四个关键组成部分

2.2.1 智能合约

NIST是这样定义智能合约的:

智能合约是在区块链网络上使用加密签名交易部署的代码和数据的集合(有时称为函数和状态)。智能合约由区块链网络内的节点执行,所有节点必须得出相同的执行结果,执行结果被记录在区块链上。

智能合约最初是在以太坊区块链中引入的,现在已在许多不同的区块链生态系统中广泛应用,如Avalanche、Binance智能链(2022年2月更名为BNB链)、Polygon和Polkadot。智能合约编程逻辑在2016年年初的许多首次代币发行(ICO)中展示了它的威力,最近又被广泛应用于DeFi、NFT、GameFi和元宇宙中。如果没有智能合约编程,区块链技术可能只能用于小规模的点对点支付。

2.2.2 公钥(加密)

公钥加密也叫非对称密钥加密。顾名思义,公钥加密使用两个非对称密钥(即两个不同的密钥):一个密钥用于加密过程,另一个密钥用于解密过程。比特币交易中使用的公钥加密的高级示意图如图2-2所示。(比特币是世界上第一种也可以说是最成功的去中心化数字货币。用户可以通过点对点(P2P)网络支付或接收比特币,该网络由其底层区块链协议支持,详细讨论见第3章。)

图2-2 比特币交易中的公钥加密

在该图中,Bob想给Alice发送一个比特币。他使用一个比特币钱包。比特币钱包会用Alice的公钥对交易进行加密,这样其他人就无法解锁交易中的比特币。Bob还必须用自己的私钥签署交易,这是为了向Alice和整个网络证明,他拥有这个比特币的所有权。比特币在P2P网络中进行广播,并由被称为“矿工节点”的网络节点进行验证。如果一切顺利,就会达成共识,交易就会被记录在区块链网络中。由于交易是用Alice的公钥加密的,因此只有Alice才能解锁该比特币。最终,Alice将使用她的私钥解锁交易并获得比特币。(“矿工”和“挖矿”的概念将在第3章中解释。)

2.2.3 共识算法

共识算法最简单的定义是,让不同的分布式计算机就区块链的相同状态达成一致,并将协议存档,而无须信任任何参与的计算机或区块链网络中的“节点”。精心设计的共识算法必须考虑到点对点网络的不稳定性和异步性。

优秀的共识算法允许某些节点处于故障状态,这意味着节点可以是恶意的,或者干脆停止参与共识过程,但区块链网络仍能与大多数诚实的节点达成一致。例如,比特币的共识算法工作量证明利用博弈论和计算能力,可以在容忍高达50%攻击的不可信网络环境中存档可靠的计算结果。

不同的区块链网络还使用了其他共识算法,如权益证明、消逝时间证明、历史证明和复制证明。这些共识算法的主要思想是允许区块链节点以无信任和分布式的方式就区块链交易和账本状态达成一致,而不对底层网络施加过多的假设和限制。任何共识算法的基本假设都是,大多数网络节点是诚实的节点,因此,网络中可以允许一些“坏苹果”,即恶意节点的存在。

共识算法可以从纯粹的技术算法扩展到区块链生态系统中的社会行为,即社会共识。区块链生态系统不仅由没有生命的计算机节点组成,还需要人类参与者、开发者、投资者、买家、玩家、创造者、钱包持有者、外汇市场甚至政府实体和监管机构的参与。社会共识是指个人和组织之间就区块链网络的价值、区块链代币经济的公平性、参与的意愿以及对区块链网络的贡献达成的协议。

社会共识隐含在DAO结构中,以促进区块链网络的共同利益和治理。技术共识和社会共识都将在元宇宙应用中发挥重要作用。由于DAO的“社会共识”创造了一种新的去中心化治理模式,DAO可能会取代公司,成为元宇宙中流行的组织结构,这将在第10章中讨论。

2.2.4 点对点网络

尽管点对点(P2P)网络并不是一个新概念,早在比特币网络出现之前就已存在,但它有别于传统的客户端/服务器架构,传统的架构由作为服务器的不同计算机,为作为客户端的不同计算机提供服务。在P2P网络中,每个计算节点既可以是服务器,又可以是客户端。对等节点可以发现一组其他对等节点并进行通信,而无须任何认证或授权。这可以让信息自由流动,让网络面对可能发生的系统崩溃有更强的弹性。

在区块链中,对等节点可以广播区块,参与共识算法,验证每一笔对等交易,并获得贡献奖励。P2P网络的理念可以延伸到区块链中,它倡导区块链网络中的每个人或组织都有平等的发言权和平等的权利。每个人的权利可以用其在区块链网络中的权益(从权益证明(PoS)共识算法的角度),或者他们可以为网络使用的电力(从工作量证明(PoW)共识算法的角度)来衡量。如果每个人在网络中都拥有同等的权益,那么他们就不会凌驾于其他人之上。(在第3章讲解比特币时会讨论PoW和PoS。)

2.3 数据技术的大融合

作为去中心化数据技术,区块链将成为下一代互联网(Web3)的基础。如前所述,我们今天所熟知的网络是从静态内容发布的Web1.0发展到目前的中心化Web2.0的。

Web2.0整合了SoLoMoCo(社交、基于位置、移动应用程序和云计算)技术,产生了巨大的经济效益,造就了亚马逊、谷歌、Facebook、阿里巴巴和腾讯等大型互联网公司。

Web3是更多技术的大融合。为了支持像元宇宙这样大胆的概念,我们需要更强大的计算能力,同时需要以更低的延迟跨多种设备和屏幕访问。除了SoLoMoCo,我们还看到Web3正在通过融合人工智能、区块链、大数据、去中心化身份(虚拟化身)、金融科技、分布式存储、物联网、AR/VR、视频渲染、游戏、量子计算等技术进一步增强元宇宙的能力。

与以往相比,数据将在元宇宙中爆炸式增长。人类目前的数据创建速度使我们每两年就能将全球数据量翻一番,而且这一速度预计还会加快。到2025年,数据量将每12小时(甚至更短的时间)就翻一番。我们的生活中创造的这些数据财富呈指数级增长,它们有可能改变我们的生活、工作和投资方式,但前提是我们必须拥有区块链这样的数字技术来管理这些数据,确保数据安全,并在使用数据时适当保护隐私。(见下面的专栏:区块链与数字化转型。)

区块链与数字化转型

从《财富》500强到初创企业,各种规模各种类型的公司都迎来了数字化转型的时代。数字化转型指的是公司利用增强的技术来提高业务能力、运营效率,并最终改善客户体验。数字化转型的一个重要目标是利用准确可信的数据实现业务流程的数字化。

区块链技术可以在数字世界和物理世界之间架起桥梁,从而帮助企业实现数字化转型。要在两个世界之间实施数据战略,企业必须确保两点:数据真实性和数据可用性。

数据真实性是指数据如何在物理世界中生成,以及如何上传和验证。仅靠软件很难确保数据真实性。一种有效的方法是使用硬件芯片,用芯片中嵌入的私钥对数据进行“签名”。由于私钥创建的数字签名无法伪造和篡改,因此可以在区块链节点上使用相应的公钥对签名进行验证。

此外,在数据传输过程中,还可以进行加密,以确保数据隐私和数据完整性。区块链技术可用于验证硬件签名,启用P2P传输协议和安全传输协议,并进行链上验证,以确保从链外到链上的整个过程都是安全的,即确保数据真实性。

数据可用性是指在物理世界的大量噪声数据中,存在实际可用的数据。不同的数据具有不同的价值,只有高度相关和可用的数据才具有较高的价值。得益于区块链的激励机制和智能合约,智能合约使用数据的频率可以用来为数据定价。当数据以其使用方式来定价时,数据价格就间接反映了数据的有效性。

可以设计一种基于贡献值证明(PoC)的共识算法来确定数据的质量和使用情况,从而使数字化转型过程更加客观有效。当获得并分析了准确、可用和有效的数据后,AI/ML算法就可以对数据进行分析,并将分析结果存储到区块链上,从而在元宇宙平台上实现实时监管、欺诈检测和信用监控等功能。

此外,区块链技术还可以提高数据的准确性。在数据存储到区块链上之前,区块链网络的参与节点会通过共识算法对数据进行交叉检查和检验,数据必须经过数字签名,以确认数据的有效性和所有权。这就提高了数据的准确性。

与此同时,新冠疫情大流行凸显了全球现有数据处理方法的不足。无法(有时是不愿意)共享和使用数据来对抗新冠疫情或保护数据免受掠夺性使用,这对全球各地的个人、私营企业、研究机构和政府都产生了负面影响。缺乏信任和不对称的经济利益结合,减缓了发展的脚步——特别是在跨境背景下。2021年勒索软件和软件供应链攻击的爆发暴露了企业(无论规模大小)内部中心化数据存储的脆弱性。

新冠疫情危机表明,如果没有适当的技术、协议和治理,社会就有可能创造出这样的世界:要么是数据访问受到过度限制,阻碍人类进步和创新;要么是在创建数据共享解决方案时没有适当尊重包括企业在内的相关各方的权利。这就是区块链对元宇宙至关重要的原因。

当然,如果不与其他技术相结合,区块链本身的应用范围也很有限。区块链与其他技术结合起来,可以共同解决链外数据的真实性、网络安全、风险控制以及元宇宙中的数据治理等问题。不同的技术可以相互促进并创建一个自动化生态系统——物联网设备收集数百万设备的数据,这些数据被分布式存储,由区块链管理,然后被整合到云端,并用于训练和改进人工智能算法,以实现现实生活中的各种应用(见图2-3)。

图2-3 区块链与人工智能、云计算和物联网的融合

随着这些技术的相互影响和改进,巨大的协同效应将刺激更多的创新。在接下来的几节中,我们将讨论区块链与物联网、分布式存储、人工智能和机器学习、云计算和网络安全等技术的融合。(后两者将在各自的章节中讨论。)

2.3.1 区块链和物联网

物联网的重点是改进用于各种目的的合适的数据的收集方式,而区块链的重点则是确保数据完整性保持不变。物联网允许设备将数据传输到区块链网络中,创建防篡改的共享交易记录。商业伙伴可以使用区块链交换和访问物联网数据,而无须中央控制和管理。此外,所有交易均可验证,从而可以最大限度地减少纠纷,并能在网络参与者之间建立信任。

将区块链应用于物联网有以下好处:

●降低从物联网设备接收的数据被篡改的风险,从而增强物联网业务各方之间的信任。

●利用区块链的共识算法进行数据验证和数据完整性检查,从而减少使用中介机构的费用。

●创建不可更改的审计跟踪,以避免拒付风险。

●利用智能合约和代币经济实现机器对机器支付。

●随着边缘计算在物联网中变得越来越重要,区块链技术可以用来激励边缘计算的参与者提供高质量的数据,同时在上传到区块链分布式账本之前在边缘进行处理和验证。

货运是物联网和区块链融合的一个应用实例。运输货物是一个复杂的程序,涉及多个具有不同优先权的当事方。运输过程中,集装箱的温度、位置、到达时间和状态都可以存储在物联网区块链上。不可篡改的区块链交易可以确保各方信任数据并迅速高效地开展业务。

2.3.2 区块链和分布式存储

对于未来的区块链发展而言,存储是不可或缺的功能。人工智能、物联网等很多应用场景都需要大量的数据存储,这些技术与区块链的结合必然需要消耗大量分布式的、随时可用的数据存储。目前,主流区块链无法直接存储大量数据,因为全节点需要同步所有区块链数据。如果区块链上存在大量数据,节点负载就会过大,区块链的效率就会变低。因此,最流行的上链方式是将数据放在星际文件系统(IPFS)等分布式存储系统中,同时将哈希值、元数据和交易日志等少量数据存储在区块链上。

然而,仅靠IPFS技术无法激励参与的网络节点存储链外数据并使数据始终可用。为了落实激励机制,Filecoin项目提出了复制证明和时空证明。复制证明和时空证明通过激励机制确保数据可以被复制、存储,并可以供矿工随时检索。我们还可以进一步利用IPFS和Filecoin等分布式存储技术来提高数据的可用性。不过,这种机制是否成熟稳定,还需要业界验证。

2.3.3 区块链与人工智能和机器学习

人工智能和机器学习(AI/ML)可以帮助区块链在实际应用中变得更加智能。例如,在供应链金融领域,为了控制风险,可以为区块链提供经过AI/ML处理的数据。此外,AI/ML还能分析异常行为,为链上交易提供欺诈检测,提醒链上运营商注意恶意活动。与传统的人工智能应用相比,当与区块链技术结合时,共识机制确保了AI/ML的训练数据和算法可以被验证,并且AI/ML算法的哈希值也可以在链上被存储和验证,这确保了AI/ML算法输出的准确性。

区块链还可以利用智能合约定义的激励机制,帮助人工智能提高数据共享能力。为减少隐私问题,可以采用零知识证明(ZKP)、安全多方计算(MPC)和同态加密算法。通过使用智能合约和激励机制,可以实现数据权限验证、数据互换交易以及数据定价的功能。

此外,区块链还可以帮助AI推广优化的人工智能算法,为深度学习任务建立分布式计算能力,有效利用闲置的计算资源。区块链智能合约可以用于管理人工智能算法的行为,避免人工智能算法使用不当导致的安全问题。

2.4 区块链和云计算

云计算(又称云技术)是指服务器、数据存储、数据库、网络、软件和分析都托管在互联网上,并存储在大型私有数据中心。AWS(亚马逊网络服务)、微软Azure和谷歌云平台等云计算平台提供了三种类型的云产品:

1.基础设施即服务(IaaS) 。IaaS云服务包括为云消费者提供计算、网络和存储等服务。

2.平台即服务(PaaS) 。PaaS提供商提供中间件、数据库、运行环境和开发工具。

3.软件即服务(SaaS) 。SaaS向云消费者提供已经实际实现的应用程序,因此云消费者无须安装任何软件或购买服务器、存储和网络设备等计算资源即可使用云上的应用程序。

云提供商使终端用户能够以按使用量付费的方式“租用”和远程访问云提供商提供的IT资源,这为本地托管和运营IT资源提供了一个高效的替代方案。企业订购云服务并按月或按年支付费用,就像从电网购买电力一样。该费用由企业的用户数量和所需的数据量决定,这使企业更容易扩大或缩小业务规模。总体而言,与传统的IT基础设施相比,云计算既提高了系统的可扩展性,又节约了成本。

总之,与单个公司托管的传统数据中心相比,云计算具有许多优势,这对于必须处理数据爆炸式增长的元宇宙参与者来说至关重要:

●它消除了对昂贵的IT基础设施的前期投资。

●云计算提供商提供“即用即付”等定价模式,这意味着消费者只需为其使用的服务付费。

●用户无须配置和管理IT基础设施,因为云提供商会处理这些工作。

然而,云计算提供商也会遭遇服务中断问题,而且这通常会比传统数据中心遭遇的中断带来更多负面影响。例如,2021年12月7日,亚马逊的网络托管平台遭遇重大故障,导致Facebook、Netflix、Disney+和Venmo等主要网站瘫痪。此外,亚马逊的送货服务也中断了,导致司机无法获得路线信息和包裹,亚马逊与其所依赖的数千名司机之间的通信也中断了。

这次故障还导致多家加密货币交易所瘫痪,如Coinbase、Binance以及其他一些将应用程序托管在亚马逊的区块链相关服务。甚至连去中心化衍生品交易所dYdX也受到了影响,这不禁让人质疑,如果前端用户界面托管在中心化云端,那么去中心化交易所(DEX)的去中心化程度到底有多高?

利用IPFS来托管Web3应用程序的UI可能会成为一种趋势,因为元宇宙应用程序寻求在云服务中断时获得保护。与HTTP协议(现有互联网)通过URL查找对象(文本文件、图片、视频)存储在哪个服务器上不同,IPFS通过文件的哈希值查找对象。IPFS根据文件内容创建文件的哈希值。因此,如果你想访问某个特定页面,IPFS会询问整个网络是否有人拥有与该哈希值相对应的文件,IPFS上拥有该哈希值的节点会返回文件,从而允许你访问该文件。

因此,IPFS在HTTP层使用内容寻址,这意味着内容可以用于确定内容的地址。该机制是获取文件并运用哈希算法加密,这将为你提供文件的安全表示。这确保了没有其他人可以找到另一个具有相同哈希值的文件并将其用作地址。此外,所有文件都是全局分发和复制的,可以通过由区块链技术支持的激励机制永久存储。

这只是利用区块链解决云服务中断问题的一个例子。此外,区块链还可以用去中心化的方式利用闲置计算资源。地球上有许多闲置的计算资源,如CPU、GPU、存储和网络带宽,但由于其中心化的性质,目前的云计算提供商还无法利用这些资源。更好的云计算方法是利用区块链技术激励计算资源、存储和网络带宽共享,同时降低安全漏洞的风险。

作为示例,我们将在本节的剩余部分分别讨论如何在IaaS、PaaS和SaaS服务中运用区块链。

2.4.1 IaaS服务

对于IaaS服务,我们可以举例说明:计算能力或中央处理器(CPU)共享;存储共享;网络带宽共享。

1.CPU共享 。其中一个例子是SETI@home,这是加州大学伯克利分校的一项科学实验,利用连接互联网的计算机寻找地外文明(SETI)。你可以运行一个免费的应用程序,下载并分析射电望远镜的数据,从而参与其中。该项目目前处于暂停状态。这个优秀项目暂停的主要原因之一是缺乏激励机制和奖励计划来使那些有空闲CPU资源的人参与进来。Three Fold和IEx等区块链项目正试图利用代币经济在“去中心化云计算”中创建点对点计算能力共享。其目的是建立一个P2P公共覆盖网络,连接地球上的一切计算资源。连接是端到端加密的,并采用最短路径。该团队还打算利用代币经济来激励网络资源共享。

2.存储共享 。最好的例子就是Filecoin。Filecoin是一个开源的、公共的加密货币和数字支付系统,旨在成为一种基于区块链的合作数字存储和数据检索方法。它由Protocol Labs制作,建立在IPFS之上,允许用户租用闲置的硬盘空间。据Filecoin的发起人称,它是一个去中心化的存储系统,旨在“存储人类最重要的信息”。Filecoin是一个开放协议,由记录了网络参与者做出的承诺的区块链支持,交易使用该区块链的原生货币FIL进行。

与中心化存储方式相反,Filecoin旨在以去中心化的方式存储数据,从而抵御中心化存储中出现的问题。由于Filecoin的分散性,它可以保护数据位置的完整性,使数据易于检索、难以审查。它还允许该网络上的人成为自己存储数据的保管人。此外,Filecoin还奖励在其区块链网络上挖矿和存储数据的网络节点。类似的基于区块链的存储共享系统还有Sia、MaidSafe和Three Fold。

3.网络带宽共享 。例如,Helium是一个全球分布式热点网络,可为支持LoRaWAN的物联网设备创建公共的、远距离的无线覆盖。热点生成HNT(Helium区块链的原生加密货币)生产并以HNT的形式获得补偿。Helium区块链是一个全新的开源公链,完全是为了激励创建物理的、去中心化的无线网络而创建的。如今,Helium区块链及其数十万个热点提供了世界上最大的LoRaWAN网络。

2.4.2 PaaS服务

关于PaaS服务,最好的例子就是各种元宇宙、DeFi和NFT应用程序,它们可以作为“元宇宙乐高”,这意味着它们可以被重复利用,以开发新的元宇宙应用程序。在开发工具方面,Remix是开发智能合约实体代码的PaaS工具的范例。还有一个很好的例子是Infura API服务,它允许开发人员与以太坊或IPFS服务交互。Infura是受到开发人员广泛认可的PaaS工具之一,用于连接以太坊和IPFS,现在Infura每天处理数十亿个API请求。

2.4.3 SaaS服务

SaaS服务有许多成功的例子。其中,最著名的是“The Graph”和“Chainlink”项目。有了DeFi和NFT(将在接下来的两章中讨论),在区块链上开发和部署的DApp都可以被视为由去中心化节点提供支持的SaaS产品。

The Graph网络 解耦了互联网应用堆栈的GraphQL API和查询层。开发人员可以在自己的基础设施上运行The Graph的节点,也可以在The Graph托管服务上进行开发。在The Graph网络中,任何索引程序都可以通过The Graph的代币(GRT)来参与网络,并通过为子图提供索引来获得奖励,通过为这些子图提供查询服务来获得服务费。消费者可以通过按使用量付费的方式在这些多样的索引程序组成的集合中进行查询,The Graph通过提供一个模型来按照供求规律支持协议提供的服务。

Chainlink 是一个基于以太坊的去中心化区块链Oracle网络。该网络旨在用于促进防篡改数据从链外数据源传输到链上智能合约。其创建者声称,通过“将合约直接与现实世界的数据、事件、支付和其他输入连接”,该网络可用于验证智能合约的参数是否符合要求,其方式独立于合约的任何利益相关者。

Chainlink采用SaaS模式运营。Chainlink的消费者支付Chainlink的平台代币“Link”,即可以从该平台接收防篡改数据。Chainlink节点通过提供可信数据以无信任方式赚取Link,而提供不准确数据的节点则会受到惩罚。

目前,基于区块链的去中心化云计算技术仍处于起步阶段,但谷歌、微软、亚马逊和IBM等公司已经开始在该领域开展研究。虽然具体细节尚未公开,但可以预见,未来的云计算将更加安全、稳定、高效、节能,更多的个人计算资源可以得到有效利用。由于区块链的赋能,云计算的商业模式和供应商的运营模式正在快速发展。

2.5 区块链与网络安全

区块链的不可篡改性是其重要的安全属性,它能有效保证数据的完整性。然而,在将区块链集成到元宇宙应用中时,我们需要采用一种深度防御的方法。区块链的一些顶级安全控制措施包括(但不限于)智能合约安全、共识算法安全、区块链节点加固、加密货币交易所安全、身份和访问管理、节点到节点流量加密以及链上和链下数据加密。

2.5.1 智能合约安全

智能合约一旦部署到区块链主网(mainnet,用于描述区块链协议开发完成并部署好的术语)上,就无法修改,因此,如果智能合约存在安全漏洞,往往会造成直接的经济损失,而且难以挽回。一个典型的例子就是对DAO的攻击。

DAO,即去中心化自治组织,是一个建立在以太坊区块链网络上的程序,旨在成为最大的众包平台。DAO旨在利用技术上的民主方法取代中心化的管理结构,由投资者和利益相关者做出决策。DAO智能合约部署到以太坊主网上后,一名黑客发现了DAO代码中的漏洞,并成功窃取了价值约5 000万美元的以太币,这让以太坊社区陷入恐慌,最终导致了以太坊硬分叉(hard fork)。

另一个智能合约攻击案例是针对Poly Network的攻击。Poly Network是一种跨链网络,本质上允许两个或多个区块链“相互通信”。更准确地说,它能让用户在不同的区块链上进行交易,而无须在交易所转换数字货币。这个总部位于中国的平台专门建立在多个区块链之上,包括比特币、以太坊、BNB智能链、Neo和Elrond。

2021年8月10日,Poly Network报告称,一群攻击者入侵了其网络的智能合约,转移了大约6.1亿美元(主要是以太币、币安币和美元稳定币),并将其转移到外部钱包地址。据网络安全公司SlowMist称,之所以发生这次黑客攻击,是因为Poly Network对两个重要智能合约之间的访问权限管理不善。虽然黑客因为担心自己的身份(如IP地址、电子邮件和他们在中心化加密货币交易所的账户)会被发现并遭到起诉,最终将资金归还给了Poly Network,但如果黑客更加注意自己的身份,同样的事情可能会再次发生,而这次黑客可能就不会归还资金了。

安全智能合约开发的好方法是建立健全的内部安全审查流程,在代码有任何改动时都要对智能合约代码进行审查。此外,在智能合约部署到主网上之前,聘请至少两家独立的外部智能合约审计公司对其进行审计也非常重要。审核和验证智能合约的成本很高,不过,即使经过审核,也很难完全避免安全风险。考虑到遭受攻击的严重后果,用于审计的资金仍然物有所值。

尽管市场上有许多静态代码分析和形式化验证工具(包括开源工具和商业工具),但审计智能合约代码的大部分工作仍是通过经验丰富的智能合约安全审计员进行人工代码审查。因此,任何元宇宙项目都必须在内部聘请一名智能合约安全审计员,负责在代码开发过程中进行持续的安全审查,并在项目上线前聘请第三方审计员。

2.5.2 共识算法安全

共识算法是区块链网络的根本。它使网络节点能够就账本的状态达成一致。如果共识算法受到攻击,那么区块链就不安全,如果链上存储着有价值的货币,那么经济损失足以给区块链生态系统的参与者带来毁灭性打击。例如,2019年,一种名为“Sync Hotstuff”的共识算法被发现存在一个关键性安全漏洞,对手可以利用该漏洞进行所谓的“强制锁定攻击”,从而导致双重消费或拒绝服务。

还有一个例子是对维塔克利·布特林(Vitalik Buterin)等人编写的Gasper算法的攻击。Gasper是一个抽象的权益证明共识层,由Beacon Chain协议(即将推出的以太坊2.0网络的底层协议)实现。Gasper的一个关键组件是终结机制,该机制能确保交易的持久性(安全性)和系统的持续运行(活跃性),即使在受到攻击时也是如此。它将最终确定性工具Casper FFG与LMD GHOST分叉选择规则相结合,旨在实现安全性和活跃性。然而,斯坦福大学的研究人员在2020年撰写的一篇论文中正式证明,可以对Casper发起攻击,从而影响其安全性和活跃性。

2.5.3 节点安全

区块链节点也称为共识节点。它们分布在世界各地,负责验证交易签名,并使用共识算法保持账本更新。节点由节点软件和为节点软件运行提供执行环境的硬件(或微服务环境)组成。节点安全包括节点软件的安全和节点执行环境的加固。

在节点安全方面,EOS节点软件就是一个很好的例子。EOS区块链是Block.One开发的一个著名区块链。中国互联网安全研究公司奇虎360发现了EOS生产者节点上的一个关键漏洞,黑客可以利用该漏洞远程管理节点上的代码。奇虎360官网上的文章写道:

通过向受害节点上传恶意合约并让节点解析恶意合约,攻击者可以利用此漏洞在NodeOS(操作系统)进程中实现远程代码执行。在真正的攻击中,攻击者可能会向EOS主网发布恶意合约。

幸运的是,该漏洞在EOS启用前得到了修补,没有造成资金损失。如果这个漏洞没有得到修补,EOS投入使用后,价值数十亿美元的资金将面临风险。

节点安全的另一个很好的例子是节点运行的执行环境和防火墙设置。在2018年的一个案例中,8545端口遭到攻击,该端口是包括Geth在内的以太坊客户端远程过程调用(RPC)接口的默认监听端口。这里说一下,所有以太坊客户端都有一个内置的RPC接口,可以通过API提供第三方访问,从而可能暴露敏感信息和操作。

在默认情况下,大多数以太坊客户端都会停用RPC接口,但对启用远程以太坊区块链访问感兴趣的用户可以激活JSON-RPC接口。虽然支持身份验证和访问控制列表(ACL),但如果连接到互联网,该接口会暴露用户的矿工信息和钱包详情。这一案例中,由于矿工错误配置了回送(lookback)地址,并将8545端口暴露在互联网上,黑客通过使用JSON-RPC调用矿工的该端口,从矿工地址中盗取了价值约2 000万美元的ETH。

总之,就节点安全而言,在节点软件用于生产环境(或主网)之前,必须对节点软件进行安全测试以查找漏洞。对于节点执行环境,开发人员必须确保操作系统和微服务环境被锁定和加固,关闭不必要的服务,只允许必要的端口开放,并对端口实施访问控制,关闭其他开放端口。互联网安全中心(CIS)的基准可以作为主机环境加固的良好参考。

2.5.4 数据加密安全

区块链对数据进行了一定程度的加密,以保护用户的隐私。例如,区块链系统中的地址由用户生成,但与用户的身份信息无关。地址的创建和使用不需要中心化的第三方参与。因此,与传统账户(如银行卡号)相比,区块链地址具有更好的匿名性。

不过,用户在使用区块链时可能会泄露一些敏感信息。例如,黑客可能会利用区块链交易在网络层的广播,从无关的区块链交易中推断出用户的IP地址、公钥或钱包地址,并且通过大数据分析找出用户的真实身份。此外,由于任何人都可以查看公链上的数据,因此,重要的是不要将个人身份信息、财务记录或医疗记录等敏感信息放在区块链上。

出于交叉验证和数据完整性检查的目的,将敏感数据的哈希值(也称数字摘要)放在链上是一种很好的方法,因为哈希加密是加密的一种方式。获取数据的哈希值非常容易,如果哈希算法足够强大,在数学上就不可能从哈希值推导出明文数据。其他各种加密算法,如零知识证明、安全多方计算和同态加密,作为数据加密的新工具,也已得到广泛应用。(第7章和第8章将详细介绍数据隐私和数据安全主题。)

2.6 区块链应用的五大挑战和可能的解决方案

当前的区块链技术面临五大挑战:隐私保护、可扩展性、共识算法、链上数据的真实性和互操作性。

2.6.1 隐私保护

从隐私角度来看,目前的区块链项目还不够成熟。在隐私保护领域,零知识证明、安全多方计算、同态加密、环签名、BLS签名、Schnorr签名、Mibble Wimble等隐私算法值得研究。针对带有访问控制的状态通道和可信计算环境(TCE)的研究一直非常活跃,这也促进了隐私保护技术的发展。

研究人员面临的挑战是,既要满足欧盟的《通用数据保护条例》(GDPR)、美国的《健康保险可携性和责任法案》(HIPPA)等隐私法和其他法规的隐私要求,又要满足KYC/AML的要求,需要在隐私保护和KYC/AML监管要求之间取得平衡。

2.6.2 可扩展性

区块链技术最初只是爱好者之间的一个小众项目,它能否成功扩展到全球层面?这是一个大问题。我们可以把它比作早期的互联网,当时的技术正在努力应对用户群的急剧增长、与之相关的挑战和增长速度的放缓。从可扩展性的角度来看,有三层解决方案。我们以以太坊的扩展解决方案为例(见图2-4)。

图2-4 以太坊的三层扩展

2.6.2.1 第二层技术

顶层(称为第二层技术)使用在以太坊主网或第一层之上运行的不同网络。以太坊第二层解决方案以智能合约的形式留在以太坊网络上。第二层解决方案无须修改与主网交互的基础协议。以太坊第二层扩展解决方案可以实现不同的功能,如链外计算和支付的可扩展性。

所有第二层解决方案的工作都集中在一个独特的要素上(即把大部分交易移出链)。因此,第二层解决方案可以提高交易的处理速度,同时还能减少交易所需的服务费用。许多以太坊第二层解决方案已成功获得关注。这里探讨第二层扩展的三种主要思路:汇总(rollups)、状态通道(state channel)和侧链(side chain)。

汇总 。汇总扩展解决方案在第一层区块链之外执行交易,并将交易数据发布到第一层区块链上。由于数据在基础层,因此第一层可以保证汇总的安全。汇总有两种不同的安全模式:

乐观汇总 。这些系统默认交易是有效的,因此,它们只在出现问题时进行计算,以检测欺诈行为。

零知识汇总 。这些汇总在链外运行计算,随后,它们向基础层或主链提交有效性证明。

以Polygon(前身为Matic)、Arbitrum和Optimism为例,汇总有助于提高交易吞吐量和开放参与度,并能减少用户的交易费用。

状态通道 。状态通道允许区块链参与者之间进行双向通信。通过这种方式,可以减少参与者的等待时间,因为在这个过程中没有第三方(例如第一层链上的矿工)的参与。下面是它的工作原理:

●利用智能合约,参与者预先同意以数字方式签下基础层的部分代币。

●然后他们就可以直接互动,而无须让第一层链上的矿工参与进来。

●在完成整个交易集后,他们就可以关闭通道,并将最终状态提交给基础层区块链。

侧链 。侧链是促进大量交易的独立链。它有一个独立于第一层的共识机制,可以对该机制进行优化,以提高可扩展性和处理速度。在这种情况下,主链必须确认交易记录、维护安全并处理争议。侧链与状态通道的不同之处在于,侧链公开记录分布式账本中的所有交易。此外,如果侧链出现安全漏洞,也不会影响其他侧链和第一层主链本身。

2.6.2.2 第一层扩展

中间层被称为第一层扩展。在这一层中,其想法是使用分片技术或隔离见证(segregated witness,SegWit)技术,增加区块大小(即增加每个区块中包含的数据量),减少区块确认时间,使用有向无环图(DAG)或改进基础链上的共识算法,以提高基础链的性能和可扩展性。

2.6.2.3 零层扩展

底层也被称为零层扩展。在这一层,主要想法是改进P2P路由和节点发现算法,以获得更好的可扩展性,或者在未来利用5G技术来获得更好的网络带宽。一般来说,第二层、第一层、零层都需要改进。为了提高区块链的可扩展性,这三层技术都在积极研究中。

2.6.3 共识算法

从共识算法的角度来看,由于异步通信领域的FLP不可能定理已经证明,在完全异步通信的分布式环境中,如果一个节点失效,整个网络就无法达成共识。因此,由于共识算法研究人员试图绕过FLP不可能性,大多数共识算法都假定多数的网络节点是诚实的,并且部分(或完全)同步。

例如,比特币使用的PoW算法假定存在51%的诚实节点和响应时间的上限(部分同步),各种类型的PoS算法也假定存在大多数的诚实节点和不同程度的同步。

PoS算法的关键问题是所谓的“无利害关系”(nothing at stake)攻击。无利害关系是指由于PoS算法中投票成本几乎为零,如果区块链中存在多个分叉,每个验证者会对所有分叉进行投票,以获得所有分叉的奖励。此外,PoS还面临远程攻击和其他攻击。使用博弈论方法并引入对恶意PoS节点的惩罚措施,可以在一定程度上弥补PoS的漏洞。

学术界和产业界仍在积极开展PoS方面的研究,以确保其安全性。这些研究的例子包括以太坊2.0的权益证明算法和Cadano的Ouroboros权益证明。其他共识算法仍在积极研究中。我们认为这是区块链技术面临的主要挑战之一,因为很难同时实现安全性、可扩展性和去中心化,这就是所谓的区块链三难问题。

区块链三难问题涉及三个相互竞争的概念。你总是可以通过牺牲其他属性来实现可扩展性、安全性和去中心化这三个主要属性,但你不可能同时最大化这三个属性。因此,共识算法设计需要根据实际商业案例在安全性、可扩展性和去中心化之间找到平衡点。因此,不会有一个区块链主导所有应用。不同的区块链会有不同的共识算法,适用于不同的场景。

2.6.4 链上数据的真实性

数据真实性是指数据在创建后没有被破坏过,并且必须代表现实世界的场景。数据真实性还意味着数字对象确实是它所描述的或它被描述的那样。

为了使区块链技术在现实世界的应用中发挥作用,亟须为区块链提供真实的数据。虽然区块链具有链上数据的不可篡改性,但它仍然面临着将现实世界中物理对象的属性映射到链上的“第一英里 ”问题。如果没有数据真实性的保障,区块链上的智能合约就可能在虚假和垃圾数据上运行,因此执行智能合约可能会导致资产损失或其他严重后果。

为区块链获取认证数据的方法有很多,其中包括以下几种:

1. 使用得最多的是所谓的“Oracle”技术,该技术主要用于为DeFi应用(第4章将讨论)提供可信数据,如比特币市场价格、股票市场价格和美元汇率。这种技术的主要缺点是没有有效的无信任Oracle scheme。引入惩罚机制和数字身份机制可能会带来更好的解决方案。除了对错误Oracle数据的惩罚机制,使用去中心化身份作为Oracle也是一种潜在的解决方案。

2. 对于高端传感器或服务器,TCE可以用于对收集到的数据进行数字签名。由于TCE对用于签名的私钥进行物理保护,因此私钥在没有物理主体的情况下会失效。这就确保了数据在传输过程中不会被篡改。类似的技术包括安全元件(SE)、物理不可克隆功能(PUF)和其他技术。

3. 对于具有可测量的独特物理特性的资产,数据真实性解决方案则更为简单。例如,Everledger利用钻石的独特物理特性在区块链上记录有价值的钻石数据,使天然钻石行业足以应对合成替代品的增长(带来的压力)。

4. 利用人工智能、机器学习算法识别虚假数据,提高链上数据的真实性。

5. 利用视频监控和其他安全控制手段监控物联网和其他数据资产。

6. 在物理对象的随机位置使用专用芯片(通常是具有NFC功能的安全元件芯片),以最大限度地减少物理对象的交换、篡改或伪造。

2.6.5 互操作性

区块链的互操作性包括共享和调用来自不同区块链网络的智能合约的能力,而无须中介或中央机构。元宇宙应用程序将使用不同特性的区块链(治理规则、区块链技术版本、共识算法、权限控制等),但各自独立的区块链无法协同工作,目前也没有使不同的网络能够相互通信的通用标准。

缺乏互操作性会增加在元宇宙平台上大规模应用区块链的难度。好消息是,在过去几年里,我们已经看到越来越多的互操作性项目在努力弥合不同区块链之间的差距。其中许多项目旨在将私有网络相互连接或连接到公链。包括Polkadot、Cosmos和许多其他项目在内的跨链项目都取得了不同程度的成功。(在第10章中,我们将介绍互操作性方面的最新进展,这将使开放的元宇宙能够与大型科技平台竞争。)

2.7 为什么区块链对元宇宙至关重要

本章讨论了区块链技术的特点以及区块链与其他数字技术在元宇宙应用中的融合。现在我们可以理解为什么区块链是一项关键的为元宇宙赋能的技术。如图2-5所示,区块链技术可在以下八个主要方面为元宇宙赋能。

图2-5 区块链技术赋能元宇宙

1.全球实时支付通道

元宇宙经济需要一个能够进行实时结算和清算交易的全球支付系统。传统的支付系统(如SWIFT)仍然依赖于结算和清算交易的批量处理,无法满足元宇宙支付的要求。区块链共识算法实现了实时结算,因为区块链网络中参与共识的节点使用算法结算金融交易,而无须等待批量处理来执行不同金融机构之间的对账和清算任务,因为不同金融机构有各自的金融记录副本。(详见第3章和第4章的讨论。)

2.数字资产所有权验证

要让元宇宙应用在系统中创造价值,数字资产的所有权至关重要,因为数字资产在现实世界中并不存在,也没有物理上的类似物。可以利用区块链的分布式账本系统和NFT的不变性来实现所有权验证。一旦NFT被“铸造”,NFT的转让或出售就会被记录在链上,人们可以使用链上交易和所有者的公钥来验证NFT的所有权。NFT的所有权由所有者的私钥证明。(请参阅第5章对NFT的详细解释。)

3.为创作者经济提供动力的加密代币

如何激励用户生成内容(UGC),如何激励对元宇宙生态系统的参与和管理?加密代币和相关智能合约已成功用于促进区块链协议的参与和管理。

在元宇宙应用中,代币设计将带来新的变量和维度,以鼓励用户持续创造价值并参与其中。一般来说,元宇宙经济设计需要考虑各种动态变量,如用户数量、代币货币政策、系统中不同种类的代币(如ERC20、ERC721、ERC1155)以及这些代币在元宇宙生态系统中的相互作用。

例如,P2E游戏和元宇宙集成平台中,NFT可以用于奖励在游戏中存档的技能和花费的时间,ERC20代币可以作为元宇宙系统的基本货币,平台允许用户使用ERC20代币铸造新的NFT或其他类型的代币。平台需要进行谨慎的经济设计,使平台代币能够达成一个可持续的、可控的通胀目标,以鼓励价值创造,同时抑制过多的代币发行或过高的通胀。(详见第6章关于区块链游戏的讨论。)

然而,纯粹的通货紧缩代币会使代币过于昂贵,从而阻碍新用户参与元宇宙。因此,好的代币设计需要好的货币政策。元宇宙的经济设计团队类似现实世界中的美联储,经济设计团队的任务是有针对性地控制通胀水平,以鼓励用户参与和创造价值。代币经济设计还要求收入也要来自现有用户,而不仅仅是新用户,以避免庞氏骗局。

4.区块链/AI打造沉浸式体验

区块链可以通过写入智能合约的激励机制,鼓励元宇宙参与者共享高质量的学习数据和AI/ML算法,AI/ML可以创造丰富的沉浸式体验。AI可以创造出类似人类的声音和独特的内容。通过激励机制鼓励共享的一些学习数据样本,数据可以被自动地转换成游戏、视频、新闻、广告和讲座材料。AI有可能利用元宇宙世界中的大量数据创造出大量模仿人类行为的内容。(这与第10章讨论的创作者经济的人才瓶颈有关。)

5.用于应用程序部署的去中心云

元宇宙应用程序可以部署在云端、IPFS和区块链上。UI内容,如视频和音频内容,可以存储在IPFS以及高效的AWS或微软Azure云中。智能合约可以部署在以太坊主网、第二层汇总区块链或其他以太坊替代区块链上,如BNB智能链、Polygon或Avalanche。从长远来看,区块链驱动的云计算环境将为AWS和“大型科技公司的云服务”提供更安全、更廉价的替代方案。(参见本章的相关讨论。)

6.去中心身份和网络安全

当前的互联网是基于TCP/IP协议的,其中并不包括身份安全和网络安全的规范与实现。元宇宙可以利用区块链实现数据整合、智能合约执行的安全保障以及数据所有权的去中心化身份。零信任、应用程序接口安全和访问管理等常见的网络安全实践可以进一步利用区块链为元宇宙应用提供基础支持。(我们将在第8章详细讨论元宇宙的安全问题。)

7.跨链计算将“多元宇宙”变为元宇宙

元宇宙要想蓬勃发展,就必须是一个开放和可互操作的系统。可以进一步加强Cosmos和Polkadot等跨链工作,以支持可互操作的元宇宙应用。为了确保跨链元宇宙交易的数据隐私安全,还可以使用隐私保护技术(我们将在第7章中详细讨论)。(互操作性将在第10章进一步讨论。)

8.在元宇宙中实现新的数据经济

随着人们对元宇宙的兴趣与日俱增,开发和使用新的数字方法来交换虚拟3D资产(如虚拟土地、神奇宝贝卡牌和游戏武器)的热潮也随之兴起。这种模式的关键在于区块链技术,它使用户能够验证所售数字资产的真实性。这最终将影响如何开发AR应用,如何将AR应用转化为有利可图的项目。例如,Cappasity是一个用于3D内容交换的去中心化AR/VR生态系统,它使用区块链技术,允许3D内容创作者通过Cappasity市场制作、出租和出售AR/VR内容。每个资产都有一个唯一的识别码,以防止侵犯版权。

在3D互动背景下,元宇宙是用户数据和用户行为数据的一个巨大的、全新的来源。除了浏览和交易数据,元宇宙玩家还使用AR/VR头显和物联网设备等新硬件收集比以往更多的数据。其中一些数据将非常有价值,如果数据管理不到位,可能对隐私安全产生影响。区块链技术可以用于定义数据所有权、实现数据的价格发现功能以及以保护隐私的方式促进数据交换。随着我们慢慢构建起元宇宙,实时数据分析将成为各类组织的新范式。(参见第6、7和8章的相关讨论。)

总之,区块链是Web3的支柱。在本书的第二部分,我们将讨论为数字经济奠定交易、隐私和安全基础的前沿区块链突破。 H6vIWUyetRb0x3Q0PrKogWPjTG9MO68a3EKarK19laeZlikx+fXudh9nmqzHsNt2

点击中间区域
呼出菜单
上一章
目录
下一章
×