目录:
综合概述
1.基于MOVE语言的新生态调研
Aptos
Sui
Linera
2.模块化区块链与Celestia
什么是「模块化」?
区块链的架构分层
数据可用性问题
Celestia的区块链扩展方案
全模块化堆栈 --- Cevmos和递归Rollups
3.新一代隐私公链
Aztec
Aleo
4.区块链扩展解决方案
AltLayer
----------------------
综合概述
近日,明星公链Aptos主网刚上线流通市值即超10亿美元,本篇我们将从基于MOVE语言的公链生态(Aptos、Sui、Linera)、模块化区块链生态(Celestia)、新一代隐私公链(Aztec、Aleo)与区块链扩展解决方案(AltLayer)来探索新公链中潜在的新机遇。
在「基于Move语言的公链生态」中,我们首先围绕Move语言特点、与solidity对比、应用进行分析,其次分别对Aptos、Sui、Linera各公链的介绍、特点、生态展开论述。
在「模块化区块链与Celestia」中,我们介绍了什么是“模块化”、区块链的架构分层以及数据可用性问题,其次针对Celestia公链讨论区块链扩展方案与全模块化堆栈,得出可共享性、简单性、共享安全、主权等方面相对于传统解决方案更有优势的结论。
在「新一代隐私公链」中,首先围绕Aztec协议的动机、票据、交互、匿名性、效率分析以及未来,表明AZTEC协议能为开发者需要的工具来创建下一代私密化去中心化金融服务设施,构建具有绝对隐私且私密化治理的数字资产,其次针对高额融资的Web3隐私赛道的龙头项目之一Aleo公链的简介、核心技术、共识机制、代币经济学以及未来阐述能为用户带来隐私保护以及数据的私有化。
在「区块链扩展解决方案」中,围绕专注于扩容的热度较高的公链之一AltLayer介绍其功能与特点,引入NFTmint场景痛点来提出解决方案与实现路径进而阐述我们为什么需要AltLayer 。
1.基于Move语言的新生态调研
Move 语言的特点
Move 语言是 Diem 项目专为表达数字资产发明的一种安全可靠的智能合约编程语言,专为数字资产设计,用于发行数字货币,处理区块链上交易及管理验证节点。
目前,Move 语言仅能在内置的智能合约使用。最早出现在 Facebook 的区块链项目 Libra (已废弃)中,最大的特点是资源 Resource 作为Move的一等公民。不同于以太坊的开发语言Solidity,Move 的资源永远不能被复制或隐式丢弃,只能在程序之间移动。
Move vs solidity
目前,区块链语言领域的主要参与者是 Solidity。作为最早的区块链语言之一,Solidity 旨在使用众所周知的数据类型(例如字节数组、字符串)和数据结构(例如哈希图)来实现基本的编程语言概念。但是,随着区块链技术的发展,可以看出区块链语言的主要目的是对数字资产进行操作,而这种语言的主要质量是安全性和可验证性。
Move 专为解决这两个问题而设计:数字资产的表示及其安全操作。EVM 和 Move 之间的一个根本区别是资产的数据模型,EVM资产不能作为参数传递、从函数返回或存储在另一个资产中。而 Move 资产是任意用户定义的类型,资产可以作为参数传递,从函数返回,并存储在其他资产中。
MOVE 的主要优势之一是数据可组合性。始终可以创建一个新的资产Y,其中包含初始资产 X。更重要的是 ,通过添加泛型,可以定义能够包装任何资产的通用包装器 Z(T),为包装的资产提供额外的属性或将其与其他资产组合。
Move语言的应用
Aptos,Sui两个公链均是基于Move语言开发,但它们的共同点不至于此:
联合创始人都是来自meta的Diem和Novi团队;
两者均是 Layer1公链;
都试图用一条链解决去中心化、安全、高性能这组「不可能三角」。
虽然linera没有明确表示用Move开发,仅阐明基于rust进行开发,但是逻辑上两者相差不大,且跟Aptos,Sui同源,创始人曾也是Diem和Novi的基础架构工程师。所以这三个公链也被称之为meta系公链。
为什么公链赛道已经百花齐放,meta系公链还是要逆流而上闯入这条拥挤的赛道?其本质在于目前的公链都没有完美的解决「不可能三角」- 用一条链同时解决去中心化、安全、高性能。而这三个meta系公链正在以区别于传统区块链的技术来解决「不可能三角」,试图创建一个能让Web3落地的强大基础设施。
Aptos
介绍
Aptos是三个meta系公链中开发最早也是发展最好的一个项目。Aptos 区块链旨在创建一个高吞吐量,低延迟的底层区块链网络,为生态中的所有参与者提供底层网络支持。
Aptos的创始人均都是来自meta的Diem和Novi团队,Aptos也是基于在Diem项目中积累的开源技术和开发经验来搭建的。其中Mo Shaikh 和 Avery Ching的两个Aptos创始人,曾深度参与Meta加密钱包Novi的开发。
截止 2022 年 7 月 27 日,Aptos 总共完成 3.5 亿美元融资,其中 a16z (Andreessen Horowitz)、FTX Ventures、Multicoin Capital 三家机构均参与了目前为止的两轮融资。
特点
MOVE语言开发
Aptos Move 遵循 Move 语言的最初设计原则:
资源优先
在区块链中,我们需要通过程序来存取数字资产,Move语言的 resource 就是特别为数字资产定义的,resource 是不能被拷贝和隐式销毁的,它只能在不同的用户之间移动。Move语言的 module 类似于以太坊中的智能合约,module 声明了 resource 类型和过程。module 中的定义的 type 和过程可以被其他的 module调用。
Aptos 团队已经进一步增加了 Move 的特性,支持更广泛的 Web3 用例,实现了细粒度的资源控制。这个特性不仅有效支持了并行执行,而且几乎固定了访问与更改数据的成本。此外,Aptos 区块链提供了建立在细粒度存储之上的表支持,这使得大规模的数据集可以在一个账户中实现。
灵活性
Move语言可以通过 transaction 脚本,自由组合各种 transaction 来实现不同的功能,一个 Move 脚本可以调用多个 transaction。
Move语言中的 module/resource/procedure 的关系,类似于面向对象程序语言中 classe/object/method 的关系。
Move 字节码可以直接执行,也可以调用其他已发布的 Modules 代码,可以在一个交易中调用多个程序,能够灵活的实现在一笔交易中给多人转账。
安全性
Move编译的字节码提交到链上后,会被字节码验证器校验,然后经由字节码解释器执行。
为有助于编写更可信的代码,Move 包括了一个类型验证器,Move Prover ,能够根据给定的规范,验证 Move 程序的功能正确性,该类型验证功能已经集成到了 Move 语言中。
Move 编码系统为资源提供了针对性的安全保护。Move 资源不可复制,重复使用或销毁。一个资源类型仅能被定义其类型的模块创建或销毁。Move 虚拟机将通过静态字节码验证,并拒绝未通过字节码验证的的程序运行,以此确保其安全性。
可验证性
Move语言具有多种验证方式。通常,最好的验证方式就是将字节码提交到链上进行真实验证,但这样很明显会加重链的负担,影响交易的速度。所以,我们在 Move 中尽可能多在链上做轻量级的验证,而在语言级别做线下的静态验证。
Aptos状态同步
状态同步是允许非验证节点分发、验证和持久化区块链数据并确保生态系统中所有节点同步的协议。Aptos 网络中的节点,包括验证节点和全节点,必须始终同步到最新的 Aptos 区块链状态。运行在每个节点上的状态同步(state sync)组件负责这个同步。为了实现这种同步,状态同步从对等点识别并获取新的区块链数据,验证数据并将其持久化到本地存储。
Aptos 状态同步模式
Aptos 状态同步以两种模式运行。所有节点将在启动时引导(引导模式),然后持续同步(连续同步模式)。
其中引导模式有三种:
执行自创世以来的所有交易
应用自创世以来的交易输出
直接下载最新状态
连续同步模式有两种:
执行交易
应用交易输出
Aptos 状态同步架构
Aptos 状态同步组件由四个子组件组成,每个子组件都有特定的用途:
Driver:同步进度。它负责验证节点从对等点接收到的所有数据。数据通过数据流服务从对等方转发。数据验证后,Driver将数据持久化到本地存储中。
数据流服务:为客户端创建数据流,使客户端从对等点流式传输新的数据块,无需担心哪些对等点拥有数据,也不关心数据请求如何管理。
Aptos 数据客户端:数据客户端负责处理来自数据流服务的数据请求。对于流式传输所有事务的数据流服务,发出多个请求(每个请求针对一批事务)并将这些请求发送到对等点。数据客户端接受请求,确定哪个对等方可以处理请求并将请求发送给它们。
存储服务:存储服务是每个节点提供的一个简单的存储 API,对等点通过API调用获取数据。
Aptos 并行执行引擎
为了实现高吞吐量和低延迟,Aptos 区块链在交易处理的关键阶段采用了流水线和模块化方法。具体来说,交易传播、区块元数据排序、并行交易执行、批量存储和账本认证都同时运行。这种方法充分利用了所有可用的物理资源,提高了硬件效率,并实现了高度并行的执行。
Aptos 区块链从数据模型和执行引擎两方面着手实现并行处理。由于Move 语言数据模型本身支持数据和模块的全局寻址,Aptos 使用Move语言实现交易的并行执行。同时设计并实现了一个高效、多线程、内存中的并行执行引擎 Block-STM,依靠 Rayon、Dashmap 和 ArcSwap crates 实现并发。
并行数据模型
Aptos 区块链引入了一个新概念,delta writes,它描述了对账户状态的修改,而不是修改后的账户状态(例如,增加一个整数而不是简单地确定最终值)。所有交易处理都可以并行完成,然后以正确的顺序对冲突值进行delta writes操作,以确保确定性结果。
随着时间的推移,Aptos 区块链将继续通过提高并发性(例如,利用读/写提示)以及改善开发体验的方式来增强数据模型,让开发人员更自然地创建、修改和组合链上值。Move 为语言级别和平台特定功能上的改进提供了灵活性。
并行执行引擎
Block-STM 并行执行引擎检测和管理有序交易的冲突,同时进行乐观并发控制,以实现在特定顺序下最大并行度。
批量交易采用乐观锁并行,并在执行后得到验证。验证失败会导致重新执行。Block-STM 使用多版本数据结构来避免写-写冲突。所有对同一位置的写入都与它们的版本一起存储,其中包含它们的 ID 和被乐观重试的次数。当事务 tx 读取内存数据时,它会按预设顺序,从多版本数据结构中获取出现在tx 之前的区块高度最高的交易,写入该交易的值及其相关版本。
Block-STM 已经集成到 Aptos 区块链中。为了解 Block-STM 的性能潜力,我们使用内存数据库,将有意义(non-trival)的点对点 Move 交易(例如:每个交易 8 次读取和 5 次写入)作为独立的,仅执行 (非端到端)的基准进行测试。
Aptos 共识协议
Aptos 通过Aptos BFT共识算法来实现共识机制。Aptos BFT沿用了Diem BFT,并在其基础上已经进行了第四次迭代。
迭代功能之一为:添加一个主动起搏器。它使用超时来同步验证器,远快于等待增加的超时,区块只需两次网络往返即可提交,从而使亚秒级的最终确定性成为常见情况。其二是 Aptos 添加了一个信誉系统。通过检查链上数据并自动更改领导者轮换以解决无响应的验证者。
Sui
介绍
Sui是Meta系公链中起步最早的一个项目,由Mysten Labs团队开发,Mysten Labs团队创始人Evan Cheng等也是从Diem和Novi项目离开的。
Sui旨在创建一款环保、低成本、高吞吐量、低延迟的无权限区块链。相比传统区块链,Sui最关键的创新在于Sui的数据模型及交易处理通道。
2021年12月,Sui公布了3600W美金的A轮融资,2022年7月, Sui 爆出正在寻求2亿美元 B 轮融资,估值已经达到20亿美元。其中A轮融资资方包括 a16z 与 NFX、Scribble Ventures、Redpoint、Lightspeed、Electric Capital、Samsung NEXT、Slow Ventures、Standard Crypto、Coinbase Ventures 等。
特点
1. 基于Core Move改造的Sui Move
以Sui对象为中心的全局存储:在Core Move 中,全局存储是编程模型的一部分,可以通过特殊操作访问,例如move_to、move_from 和更多全局存储操作符。Sui Move 中没有与全局存储相关的操作,存储只发生在 Sui 内,Sui 显式地将所有需要访问的对象传递给 Move。
地址代表对象 ID:在 Move 中,有一种特殊的地址类型。此类型用于表示Core Move 中的地址,因为Core Move 在处理全局存储时需要知道账户地址。在Sui Move中是使用地址类型来表示对象 ID。
Sui对象具有全局唯一ID:在Core Move 中,key可以用作全局存储的 key。Sui要求任何具有键能力的结构都必须以具有ID类型的id字段开头,Sui通过字节码验证器来确保 ID 字段是不可变的并且不能转移到其他对象。
Sui的模块初始化:初始化函数在模块发布时由 Sui 运行时执行,目的是预初始化特定于模块的数据。初始化函数必须具有以下属性才能在发布时执行:函数名是init;函数必须是单参数类型;没有返回值;私有函数。
Sui将对象引用作为输入:Sui 提供了可以直接从 Sui 调用的入口函数,以及可从其他函数调用的函数。
2. Sui 的数据模型及交易处理通道
Sui创始人指出:Sui 的做法是通过「对象(objects)」 来区分、组织数据。某款 NFT 、某个代币的余额、某项智能合约,这些都是不同的对象(可以理解为类型),意味着 Sui 链上的交易可以根据对象的不同来分组处理。
常规区块链所有交易都需要集体排序,然后执行。对于 Sui 来说,所有交易都会根据一定的逻辑区分、整理后再排序,然后执行。数据模型可以使不同交易之间的依赖关系更清晰,只有共享对象的交易才需要集体排序,特定对象的交易则不需要这一共识协商过程。
总结来说即Sui对于特定对象类交易可以并行执行,共享对象型交易彼此间也可并行执行,但在各个共享的对象是需要顺序执行的。这一架构可以同时解决如下产品问题:
水平扩容能力:在 Sui 之上,每组交易都是并行处理的。
可组合性:将资产作为参数传递给函数,从函数中返还某种资产,再将资产存储在一个数据结构内,或是直接存储在另一个资产内。
链上存储:类资产数据,比如游戏的种族、等级、经验等等,都可以存储在 Sui 的对象中。
部分重播能力:区块链提供了所有交易的历史记录,Sui 的构架允许这些项目只关注它们所关心的对象的演化,即部分重播。
3. Sui的两种交易共识机制
Sui的共识机制分成了两部分:Narwhal(内存池协议)和Tusk(异步共识协议),但在2022 年 8 月,Bullshark 取代了共识协议的 Tusk 组件作为默认设置,以减少延迟并支持公平性。所以可以理解为Narwhal 和 Bullshark 或 Tusk 构成了 Sui 共识引擎。
Sui共识引擎的特点(Narwhal mempool提供)
一个高吞吐量的数据可用性引擎,在一个主节点上有数据可用性的加密证明
一个结构化的图形数据结构,用于遍历这些信息
一个可扩展的架构,将磁盘I/O和网络要求分给几个工作者
共识组件提供一个零信息开销的共识算法,利用图的遍历
Sui共识引擎架构
一个Narwhal实例设置了一个消息传递系统,该系统由一组节点之间分配的利益单位组成,并假设有一个计算上受限的对手控制着网络,可以破坏持有f个利益单位的各方。验证者合作形成一个无领导的交易批次图--文献(在基于DAG的共识的背景下)将其指定为区块,我们将其标记为集合--以强调我们处于mempool数据被未指定的共识算法使用的环境中。
该图的顶点由认证集合组成。每一个由其验证者-作者签名的有效集合必须包含一个整数,并且本身必须由法定的(2f+1)验证者桩签名。我们把这2f+1个签名称为可用性证书。此外,该集合必须包含指向上一轮有效证书(即来自具有2f+1个单位股权的验证人的证书)的哈希指针,这构成了图的边。
每个集合是以下列方式形成的:每个验证人可靠地广播每一轮的集合。在规定的有效性条件下,如果拥有2f+1股权的验证者收到一个集合,他们会用各自的签名来确认它。来自2f+1个验证者的签名形成了一个可用性证书,然后在r+1轮共享并可能包括在集合中。
下图表示这样一个DAG的五轮构建(1到5),当局A、B、C和D参与其中。为简单起见,每个验证者持有1个单位的股权。在A5中,由A的最新一轮确认的集合在图中以全线表示。
Sui共识引擎工作机制
图形结构允许在每个机构和每一轮的系统中插入更多的交易
证书证明了每个集合或块在每一轮的数据可用性
它们的内容构成了一个DAG,可以在每个诚实节点上进行相同的遍历
虽然Bullshark或Tusk共识在几个后验中选择了一个特定的DAG遍历,但它们和外部共识算法都可以在选择区块/集合时增加更多的复杂性,以反映优先级问题。
Sui共识引擎小结
Sui将交易分为两种,一种是简单交易,即交易与区块链状态的其他任意部分没有复杂的相互依赖性,一种是复杂合约,即在这种交易下,合约可能会受益于共享对象,其中多个用户可以改变这些对象。
在简单交易中,Sui使用基于拜占庭一致广播的更简单算法,采取了只为相关数据而不是整个链锁定的方法。在这种情况下,唯一需要的信息是发件人地址,然后一次只能发送一笔交易。
在复杂合约中,Sui 使用共识协议对所有涉及共享对象的交易进行完全排序。Narwhal (内存池协议)提供了一个高吞吐量的数据可用性引擎和一个可扩展的架构,将磁盘 I/O 和网络需求分配给多个对象。Bullshark 利用图遍历提供了一种零消息开销共识算法。两者结合可以提升复杂合约的处理性能。
4. Sui的可扩展性
Sui 采用最先进的Narwhal 共识协议对涉及共享对象的交易进行完全排序。共识子系统还可以扩展,因为Sui 计划有效地对数据存储进行分片,并横向扩展其资源。
Linera
介绍
Linera的创始人兼CEO是Mathieu Baudet,也曾作为基础架构工程师,深度参与Diem和Novi的开发。
目前Linera官方公布的信息非常少,且较Aptos,Sui来讲起步最晚,目前处于非常早期的开发中,公开资料仅有开发理念与创新思路。
特点
支付系统。linera公开信息中指出:“Linera 区块链旨在推广这种方法并将其投入生产,使大多数基于帐户的操作能够在几分之一秒内得到确认”。可以看出linera的定位其实是支付系统,而不是通用型公链。
低延迟。linera致力于让web3应用像web2应用一样拥有极致丝滑的体验,不再被网络延迟的问题所困扰。
线性扩展。Linera 项目将开发和推广适用于线性扩展的新执行模型,那么不通用户账户的操作可以并行执行在不同的线程中。(暂时没完)
基于Rust语言开发。linera公开资料中并未明确表示是用move语言开发,仅指出是基于Rust语言进行开发。
总结
规模化的项目往往对处理时间与稳定性的要求更高。基于web3各赛道近几年涌入大量的开发者和用户,链上交易的用户也越来越多,那么对速度的追求也愈发严格,所以就个人而言对linera还是有较大的期待,不仅仅是因为同源的Aptos和Sui的关注度。希望linera能够破局,解决当前链上排队支付的困境。
2.模块化区块链与Celestia
什么是「模块化」?
模块化区块链是区块链架构的革新,是解决区块链扩容问题的一种创新型方案。在理解模块化区块链之前,我们需要先理解:什么是「模块化」?
在软件工程开发中,「模块化」是指将程序中的代码进行解耦,使每个模块的功能独立,模块之间的耦合程度低,达到模块复用的目的。「模块化」的本质是一种「劳动分工」,而程序就是一个「组织」;不同的模块相互组合能形成不同的程序。
对于区块链,「模块化」是对于「单体化」区块链架构的一种替代,根据区块链各部分的功能对于架构进行分层;新兴的区块链只需要实现某一层的功能,为其他层的区块链提供服务,而无需像「单体化」区块链那样,包含所有层的功能。实现「模块化」的好处在于,增加区块链的去中心化程度,提升区块链的吞吐量和容量。
区块链的架构分层
关于模块化区块链的分层,我们可以从以下方面进行定义:
安全模块: 保证区块链的安全性.
执行层:在执行层中,单笔交易被执行并发生状态更改;对于同批次的交易,计算该批次的状态根。目前主流的执行层解决方案是Rollup,即我们熟知的StarkNet、zkSync、Arbitrum和Optimism等。
结算层:结算出状态承诺,例如主链上的Rollup合约验证状态根的有效性(zkRollup)或欺诈证明(Optimistic Rollup)的过程。
执行环境层: 提供区块链的执行环境.
共识层:共识层是为了在分布式系统中对某件事达成一致,即对状态转换的有效性达成共识。在共识层上,验证者会对交易发生的顺序达成共识,但验证者并不关注交易本身是否有效。
数据可用性层:这一层需要解决的是「数据可用」的问题,即保证在一个新区块产生之后,新区块的所有数据发布在区块链上。如果无法证明区块的数据都发布在了区块链上,则隐藏在区块中恶意交易无法被检测出,区块链也就不具有安全性。
模块化区块链中的最具有代表性的产品是Celestia,一个提供「可插拔的」共识层和数据可用层的POS(Proof of Stake)区块链。在深入理解Celestia之前,我们先了解一下「数据可用性」可能存在的问题。
数据可用性问题
在区块链中,每个区块由两部分组成。
区块头:这是区块的元数据,包括关于区块的一些基本信息,包括交易的Merkle根。
交易数据:这构成了区块的大部分,由实际交易组成。
区块链网络中一般也有两种类型的节点。
完整节点(也被称为完全验证节点):这些是下载并检查区块链中每笔交易是否有效的节点。建立这种节点需要大量的资源和数百GB的磁盘空间,但这些是最安全的节点,因为它们不能被欺骗接受含有无效交易的区块。
轻型客户端:如果你的电脑没有资源来运行一个完整的节点,那么你可以运行一个轻型客户端。轻型客户端不下载或验证任何交易。相反,他们只下载区块头,并假设区块只包含有效的交易,所以轻型客户端的安全性比完整节点要低。
这就提出了一个重要的问题:我们如何让轻客户端拒绝无效区块,让他们不必信任矿工?答案就在于欺诈证明,即证明特定交易无效的证明。
欺诈证明
欺诈和数据可用性证明通过模块化区块链堆栈中的一些关键组件,使轻客户端可以依靠完整的节点来寻找无效的交易,并在检测到任何交易时向他们发送简洁的欺诈证明。欺诈证明基本上只包括有问题的交易本身,前状态根,后状态根,以及该交易的见证者。可以将此发送给轻客户端,轻客户端可以轻松地重新计算该特定交易,并检测到它是无效的,而不需要知道整个区块链的状态。
数据可用性取样(DAS)
这是数据可用性问题发挥作用的地方,为了让全节点生成欺诈证明,所有的基础数据都需要已经发布。如果数据不可用,那么就没有人能够重新计算状态或证明恶意活动。所以,我们真正需要的是一种方法,让轻客户端在检查区块头信息时,检查矿工是否已经将交易数据发布到链上。只要这些数据被公布,并且对全节点可用,那么他们就能产生欺诈证明。这就是为什么需要数据可用性证明。
DAS的关键是,轻客户端可以通过擦除编码将一个区块分割成几块,只对该数据的一个子集进行随机采样,并在这个过程中以统计学上的确定性验证整个区块已经发布。
安全假设
使用DAS允许轻客户端验证一个区块中的所有数据实际上是可以下载的,因此完全验证节点将能够在任何无效交易的情况下产生欺诈证明。结合这些技术,我们能够依赖更弱的安全假设,进而存在以下三种情况:
完整节点:仍然是最安全的方案,完整节点不能被欺骗接受无效的区块。
标准轻客户端:因为他们不验证区块,所以他们假设多数人的共识是诚实的。
轻客户端 + 欺诈证明:我们现在可以用一个更弱的诚实少数人假设来取代状态有效性的诚实多数人假设。你现在只需要最低数量的轻型客户端发出足够多的样本请求,这样他们就能一起重建整个区块。
欺诈证明和数据可用性采样的结合是实现链上区块链扩展的核心(例如,通过分片或增加区块大小),同时保持数据可用性和有效性的有力保证。
Celestia的区块链扩展方案
区块链通常有一个有限的容量,基于终端用户全节点的资源需求。例如,比特币的理论最大容量为4兆字节,这被设定得非常低,以便任何普通用户可以在普通硬件上启动一个节点并验证该区块链。以太坊也有类似的目标,让普通用户验证链,尽管对资源的要求比比特币略高。这种任何人都可以自己检查区块链的能力对于自我主权的概念至关重要,即你不必信任任何第三方来验证网络。对于一组给定的硬件要求和运行一个完整节点的成本,基本上限制了网络的TPS。
Celestia的路线图非常符合这样的理念:使用最小硬件的普通用户应该能够自己验证链,Celestia打算通过使验证更容易来扩大规模。因此,它并不保证容量将总是超过需求,会有一些限制,而且会出现一个收费市场。Celestia提供了比其他当代区块链设计更多的容量,这反过来将带来难以置信的可扩展性和更低的费用。它能做到这一点,是因为它的设计使验证链的计算变得容易(不必担心执行,执行由其他执行层完成)。
Celestia扩展的关键在于,在验证链的过程中,工作量与区块大小呈亚线性。更具体地说,客户只需要下载他们要检查的数据量的平方根。例如,假设你在一个有10,000个块的区块上做DAS。你只需要下载和检查其中的100个。你现在从一个节点需要下载和执行区块中的每一个交易的模式变成了一个你只需要下载和检查区块中数据的平方根量的可用性的模式。让这种验证如此简单是扩展的关键,因为你需要采样的块的数量与区块大小基本无关,所以无论区块大小如何,检查区块的成本都是大致不变的。这允许你增加区块(或分片)的大小,从而增加TPS,而不增加终端用户验证链的成本。然而,区块越大,你需要在网络中下载随机样本的用户越多,以确保用户已经集体采样了区块中的所有内容。因此,安全地托管更多数据的限制只是拥有更多的节点。
总结一下,Celestia创建了一个区块链,它的规模与它的用户(轻客户端)的数量呈线性关系,而且做到这一点非常容易。随着更多的节点(轻客户端)加入网络,你可以安全地增加区块大小而不牺牲安全或去中心化。在传统区块链上增加区块大小会增加验证的硬件要求,反过来牺牲了去中心化和安全性。在Celestia之上的Rollups依赖于它的数据可用性,所以通过增加基础层的数据可用性,这将转化为他们自己执行环境中的扩展性;这就是Celestia提供大规模可扩展性的方式。
全模块化堆栈 --- Cevmos和递归Rollups
Celestia目前正与Evmos团队合作,建立Cevmos(Celestia/EVMos/CosmOS),这是一个令人难以置信的全模块化堆栈,用于托管基于EVM的Rollups。
就背景而言,Evmos是一个与应用无关的链,将与以太坊主网、EVM兼容环境和其他BFT链通过IBC进行互操作。Evmos旨在成为Cosmos的EVM中心,使其能够轻松地部署智能合约并在Cosmos生态系统内进行交流。
在这个新的堆栈中,Cevmos将作为一个优化的结算层,建立在Cosmos SDK上,运行一个受限的EVM。它将以Evmos为基础,并在其之上承载EVM的递归Rollup(Rollup中的Rollup)。这个结算层本身将是一个Rollup,因此我们可以把它称为 结算Rollup。Cevmos结算Rollup将使用Optimint(Optimistic Tendermint)而不是现有Cosmos链上使用的Tendermint核心共识引擎来构建。Optimint是Tendermint BFT的替代品,使开发者能够使用现有的共识和数据可用性层(如Celestia)部署新链。
在它的核心,任何为Rollup构建的结算层都是一个与Rollup有信任最小化的双向桥梁的区块链,在结算层上使用某种争端解决合约。这允许代币在两者之间转移,或通过结算层从一个Rollup转移到另一个Rollup,以信任最小化的方式在任何方向转移。
目前的问题是,以太坊主链并没有只为Rollup结算而优化,因此Rollup结算必须始终与其他应用程序竞争,这变得昂贵且不可扩展。Cevmos的结算Rollup将反而受到更大的限制,只允许:
Rollup智能合约:它必须处理有效性证明的验证和必要的争端,以便在其之上托管ZK和乐观Rollups合约
Rollups之间的简单转移
因为Cevmos结算Rollup将完全等同于EVM,你将能够很容易地移植并在它上面运行你最喜欢的EVM Rollups(Fuel, Optimism, Arbitrum, StarkNet, 等等)。
简而言之,完整的Cevmos堆栈可以包括:
Celestia - 在底部提供数据可用性。
Cevmos结算Rollup - 这个基于Evmos的链将位于Celestia的顶部。它将被完全优化为基于EVM的Rollup的结算层,并置于其上。
基于EVM的Rollup - 处理执行,潜在的大量的执行Rollups将位于堆栈的顶部。
总结
Celestia与传统的解决方案相比具有多种优势:
可扩展性:通过将执行与共识和数据可用性解耦,Celestia能够随着网络上节点数量的增加而实现专业化和线性扩展,执行环境可以自由地在上面进行优化。
简单性:Celestia是一个可插拔的解决方案,目标是能像点击按钮一样轻松部署特定应用的区块链。潜在的许多区块链将在Celestia的顶部有一个自然的家。
共享安全:不再需要作为一个单独的链来启动自己的安全和验证器集。无论这是为原本独立的链,还是为需要启动数据可用性委员会的Validium,这些选择都要困难得多,而且安全问题也很分散。
主权:Celestia简单的设计之美在于它为那些建立在它之上的应用程序提供了极大的自由。不再受执行环境和你所处的链的管理决定的严格约束。
3.新一代隐私公链
Aztec
AZTEC协议(The Anonymous Zero-knowledge Transactions with Efficient Communication)描述了一组定义交易机密处理的零知识证明算法,设计用于支持图灵完备通用计算的区块链协议中。
该协议与Sigma零知识证明协议相结合,创建的新型的通用零知识证明方案——Plonk可以有效地验证加密交易。AZTEC协议在以太坊公链上应用于创建现有数字资产交易的加密显示。目前AZTEC协议在以太坊主网上验证成本约为840,000wei。
AZTEC协议的动机
以比特币网络为代表的公链将隐私性为代价,将任何一笔交易的双方地址,验证算法以及交易资产均进行公开。为抓住市场参与者对隐私性的要求,AZTEC开发团队旨在强调交易的机密性,即通过AZTEC协议外界可以看到交易对手,但不能看到具体的交易额。
隐私:交易双方及交易价值均被隐藏
机密:交易价值被隐藏,但外界知晓交易双方
匿名:交易双方被隐藏,但外界知晓交易价值
AZTEC票据
AZTEC放弃了账户余额的记账方法,采用票据所有权转换的形式来保证交易的机密性,其中AZTEC票据包含的交易价值经过了加密表示。一个AZTEC的票据由一组椭圆曲线系数和三个标量组成:一个查看键,一个消耗键以及票据价值。查看键能够对票据进行解密,从而显示交易信息,其显示结果可以用来创建有效的基于离散聚合的零知识证明。然后这些证明由消耗键进行签名,由此实现价值转移。
离散聚合处理算法被AZTEC协议用于实现交易机密处理
该算法将一系列交易利用票据的销毁与重建,产生与原始交易价值大不相同的新一组交易,并置入离散聚合交易池以混淆各个交易的真实价值。例如将10E拆分为10次AZTEC网络内1E的交\100次AZTEC网络内0.1E的交易\1,000次AZTEC网络内0.01E的交易等以上的一些组合。
当然,为实现这一匿名化过程,在AZTEC网络中需要有足够的资产数量,以支持假设的交易场景。AZTEC协议需要产生一组远远大于原始需求交易场景的总交易数。AZTEC协议描述了如何在零知识证明中构建和验证离散聚合处理的有效性,并保证解密票据价值的地址没有暴露,证明票据“所有权”的地址不会被曝光。
Aztec Connect
前述AZTEC的隐私交易处理模式仅能支持基于Layer2的交易转账,为实现Layer1上的DeFi隐私交互,AZTEC开发了Aztec Connect以通过网关的方式,将Layer2 上的交易聚合至Layer1。当 Aztec 用户想用协议进行交易时,该交易将在完全匿名的情况下通过 Aztec Connect在以太坊主网上与第一层协议进行交互。
AZTEC协议与ERC20代币标准等传统公共数字资产的交互
AZTEC协议能够与AZTEC协议相同的底层区块链的传统数字资产交互。该协议可用于定义两种不同类型的数字资产:完全匿名资产(仅通过优化的AZTEC票据表示)和公共\私有资产。AZTEC协议可以把公开的ERC20值转换成AZTEC票据,或是将AZTEC票据转回ERC20。
AZTEC协议的匿名性
AZTEC协议支持机密交易,其中单个票据的信息是加密的。同时,通过将机密的零知识交易与地址匿名算法结合起来,可以提供交易的完全匿名性。
AZTEC协议的效率分析
在AZTEC当前的技术范式中,被称为UltraPlonk(AZTEC开发的一种优化的Plonk算法,能够在Plonk逻辑电路中实现高效的查找命令)的密码系统向以太坊发布证明的成本约为550,000wei,比AZTEC原始产品zk.money首次推出时便宜约30%。当前系统的单次交易汇总量也从112个扩大到了896个,吞吐量实现了8倍的提升。
AZTEC在单次吞吐量为112项时的工作方式为:
浏览器客户端生成了一个证明
然后将28个客户端证明聚合为一个内部Rollup证明
然后将4个内部Rollup证明聚合为一个外部Rollup证明
随后,这个“外部”的Rollup证明在根Rollup的逻辑电路中进行验证——这个逻辑电路能够确保所有底层工作的有效性。
对最后的证明进行上链。
AZTEC官方认为其Aztec Connect 软件开发工具包可为以太坊DeFi服务节省高达100倍的成本,同时提供完全的隐私保护。并且,随着验证成本的下降以及zkRollup汇总规模的进一步扩大,数据通信成本在未来会占交易成本的近100%。
AZTEC的未来
AZTE协议为私人交易提供了良好的隐私性,并同时兼备成本低廉的特性。同时,AZTEC还通过可编程的私有系统来达到良好的可审计性和合规性。
AZTEC仍在努力探索协议的拓展功能,如尝试提供私密的去中心化交易所、私密的加权投票以及匿名的身份共享方案。结合以上扩展功能,AZTEC协议能为开发者需要的工具来创建下一代私密化去中心化金融服务设施,构建具有绝对隐私且私密化治理的数字资产。
Aleo
Aleo 是一个提供数据完全私有应用程序的平台,其旨在基于零知识密码学建立私密的用户体验。Aleo 通过利用去中心化系统和零知识加密来保护网络上的用户数据来实现这一目标。Aleo 的核心是为用户和应用程序开发人员提供具有绝对隐私的计算服务。
具体来讲,基于零知识密码学,Aleo可以帮助用户拥有数据私有权,而不是公司控制数据获取利益。这不仅仅让用户拥有数据的所有权,它还正在定义用户的数字身份,以便用户决定数据的应用与共享,以获得更加私密、个性化的服务。
Aleo核心技术
LEO语言
Aleo团队开发了一种受Rust启发的静态类型编程语言Leo,其强调了语言的可读性和易用性。Leo语言可以在零知识的情况下直观地表达逻辑,让开发人员直观地在Aleo公链上构建具有隐私和去中心化属性的应用。
AleoStudio
AleoStudio是Aleo开发的专门用于零知识证明的IDE,其主要为隐私赛道开发者提供开发环境支持。
zkCloude:
Aleo开发团队构建了一个组件,它构成了Aleo应用程序更安全、私有和个性化范式的基础。Zkcloude建立的点对点、去中心化的私有计算模型能偶保证被屏蔽的身份可以直接(如在资产转移中)或以编程方式(通过智能合约)进行交互去中心化的私有计算,从而达到保护隐私的目的。研究中只需要清楚:
zkCloud 是点对点、去中心化、私有计算的新模型的基石,可以在本地运行或委托给专门的证明者。
zkCloud实现了受保护身份之间的编程交互,这些身份可以是用户、组织、DAO 等等。
这些交互是通过屏蔽交易发生的,这些交易提供了保证给定程序正确执行的加密证明。
这些交易被提交到更新全球状态的 Aleo 区块链,并将活动锚定在zkCloud上,并提供去中心化和抗审查的数据可用性保证
其中,屏蔽交易是 Zcash 最先创建的一种基本式。但是 Aleo 中的屏蔽交易不仅仅是资产转移。它们描述了用户与用户或程序的各种交互,包括流动性供应、治理投票、身份认证、去中心化通知等等。因为只有交互方知道交易的细节,第三方在做恶时无法了解该交互的细节或以任何方式利用它。
4. AleoBFT
AleoBFT是一种新的共识混合架构,在Aleo测试网3运行的过程中,Aleo 将把它的共识模型转变为一个混合架构,用于证明者和验证者,称为 AleoBFT。首先,AleoBFT 保证每个区块的即时确定性。其次,AleoBFT 确保网络保持充分去中心化。第三,AleoBFT 激励证明会随着时间的推移扩大Aleo生态系统的证明能力。
Aleo共识机制——PoSW
Aleo的区块链网络共识机制由基于SNARK的简洁工作证明(Proof-of-Succinct Work)提供。PoSW是bitcoin基于SHA挖矿难度调整机制的变体,其主要区别在于其底层计算不是哈希函数,而是知识证明。
POSW原理:
Aleo代币经济学
Aleo团队在考虑代币经济学时,对以下属性有严格的要求:
网络的原生代币代表着有意义的价值
该系统激励网络上的参与者为其安全做出贡献
激励措施不鼓励不诚实或任何作恶行为
它能够促进有用应用程序生态系统的开发和使用
它能够促进权力下放,从而没有任何一方可以控制整个系统
Aleo的代币名称叫做Aleo credits,代币总量:10亿。下面两张图片展示了 Aleo 的代币分配情况和挖矿产出时间表。
下图显示了Aleo代币的通货膨胀曲线,可以看出Aleo团队在尽力寻求一个平衡使得代币能够维持Aleo链的正常运作,同时不会引起无限的通货膨胀。
Aleo的未来
Aleo项目的融资额创造了历史,其是唯一一条在二级市场和主网均未上线前就获得了2.98亿美元的融资的公链项目。并且,由于三星等投资机构的投资支持,Aleo的工作一直在平稳进行。毋庸置疑,Aleo一定是Web3隐私赛道的龙头项目之一,只要市场一天有隐私交易及交互需要,Aleo的服务就能够为用户带来隐私保护以及数据的私有化。
4.区块链扩展解决方案
AltLayer
V神曾提出区块链技术的“不可能三角”,即安全性、去中心化、可扩展性无法兼得。现在,通过不断的技术迭代,新公链们正在努力实现三者兼得。运行效率和可承载的用户量是当前区块链进入更主流市场的关键,因此提升扩容能力自然是公链项目的重要努力方向,AltLayer 就是专注于扩容的新公链中热度较高的项目之一。
AltLayer介绍
项目及团队介绍
Altlayer 主要针对 dApps 阶段性的高扩展性需求,是一个可插拔、按需加载,为单个应用程序定制的执行层系统。AltLayer 是基于 Optimistic Rollups 构建的临时扩展层,可以满足一次性使用的需求,且共享 Layer1 或Layer 2 的安全性,为工程师们带来具有高度弹性的执行环境,做到了高度的资源优化。
AltLayer 由 Parity Asia 前总监、Zilliqa 联合创始人兼 CTO Dr.Yaoqi Jia 领导。于 2022年7月1号宣布已经完成了由 Polychain Capital、Breyer Capital 和 Jump Crypto 牵头的 720 万美元种子轮融资。目前 AltLayer 的测试网已经准备完毕,计划在今年 Q3 推出一个完全支持 EVM 的测试网。
项目功能特点
Altlayer 可以直接从 Layer 1 或以递归方式间接从 Layer 2 获得其安全性,被看作为 Layer 3 层协议,主要功能特点如下:
满足dApp个性化需求
高度资源优化
模块化设计
高弹性
低延迟
为什么需要AltLayer —— NFT mint场景痛点
痛点
AltLayer 其中一个适用场景就是 NFT mint event。由于 NFT 通常是限量供应,因此每次的NFT mint event 都会有短期暴增的高 TPS 需求,同时带来了大量的交易失败和网络拥堵。过去,通用链提供的都是共享区块空间的模型,这往往导致一个受欢迎的 dApp 消耗了过多的区块空间,而其他 dApp 的用户由于高昂的手续费和结算时间而导致用户体验不佳。
当前越来越多的项目都在试图用发展二层网络的方式来解决扩容问题,例如 Sandbox, Yuga Labs。由于所有 dApp 之间共享块空间,很多 Layer 2 公链已经面临拥塞问题,即使模块化也仅是提高了部分效率,拥塞问题仍旧未被解决。
解决方案
实际上许多 NFT 项目其实并不需要一个长久的专用区块空间,只需要短时间内占用区块空间。因此 AltLayer 的弹性扩容方案可以更好的满足 NFT 项目 Mint 期间的网络需求,且不会带来长期持续性负担。有效避免了使用频率多的dApp会与大量未使用的dApp争夺区块空间的问题。
AltLayer 满足dAPPs更加专业化定制化的需求,帮助它们更灵活的选择资源,而不是在一层网络中和其他dApp争夺有限的资源,从而提供更好的用户体验。
实现路径
当dApp预期有非常大的访问需求而 Layer 1 无法承接时,Flash Layer就会被调用。一旦需求逐渐减少dApp就会迁移回一层网络,这种高度弹性的方案使得整个系统的资源得到了高度优化。Flash Layer为每个 NFT 项目分配一个特定于 Mint 的执行层。由于区块空间是为项目保留的,这意味着mint event可以与任何其他链上活动完全隔离,从而不会导致网络拥塞,也让NFT 项目在mint过程中不会产生GAS。此外,Flash Layer 还带有一个高吞吐量的执行环境,能够提供 2000 TPS 的专用吞吐量和 1-2 秒的低延迟,提供流畅的体验。
具体路径如下:
1)快速启动一个由一层网络(如以太坊)保证安全性的 Rollup 解决方案;
2)合理利用 Rollup 解决方案,从而防止一层网络的空间堵塞;
3)通过在一层网络进行 “end-of-life ”的结算程序来结束 Rollup 解决方案的调用。
项目优势
自动扩展:当 NFT mint event 结束时,系统会结算Base-chain上的所有资产。与需要用户手动桥接资产的解决方案不同,自动结算可确保所有 NFT 都移至 Base-chain,而无需任何用户干预,消除了任何与桥接相关的安全风险
多链支持:默认支持 EVM 和 WASM
完整的流动性:所有 NFT 在Mint结束时都转移到 Base-chain,因此确保了二级市场参与者不必从一条链跳到另一条链来找到他们希望购买的 NFT
消除Gas War: AltLayer 为每个 NFT 项目都分配一个特定的执行层,可以与任何其他链上活动完全隔离
参考资料:
隐密交易的到来:深入 AZTEC 协议
隐私交易的实现:Aztec 隐私架构介绍
AZTEC 協定簡介
Privacy for Pennies: Scaling Aztec’s zkRollup --- Aztec如何降低交易费用
UTXO VS. ACCOUNT MODEL
数字隐私与零知识证明
How Zero Knowledge is Rebalancing the Scales of the Internet
What does Transparency Cost You?
The Future of Zero Knowledge with Aleo
Aleo核心技术
Zero Knowledge Primitives by Aleo
zkCloud: Decentralized Private Computing
Aleo简介和代币分配
Discover Aleo
Aleo Token Economics
爆火地隐私公链 Aleo 介绍
Aleo——隐私赛道的未来
多方位解析——Aleo价值与未来
Celestia — The Foundation of a Modular Blockchain World
Foresight Ventures:「合久必分」模块化区块链与数据可用性层
IOSG Weekly Brief |拆解数据可用性层:模块化未来中被忽视的乐高积木 #136
-------------------------------
声明:请读者严格遵守所在地法律法规。以上内容不构成任何投资建议。
作者:Medici Larissa 小橙子 Ken Mindy
校对:Medici 排版:秋老师