目录:
综合概述
1.基于MOVE语言的生态调研
Aptos
Sui
Linera
2.模块化区块链与Celestia
什么是「模块化」?
区块链的架构分层
数据可用性问题
Celestia的区块链扩展方案
全模块化堆栈---Cevmos和递归Rollups
3.隐私公链
Aztec
Aleo
4.区块链扩展解决方案
AltLayer
综合概述
近日,明星公链Aptos主网刚上线流通市值即超10亿美元,本篇我们将从基于MOVE语言的公链生态、模块化区块链生态、隐私公链与区块链扩展解决方案来探索公链中潜在的新机遇。
在「基于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的资源永远不能被复制或隐式丢弃,只能在程序之间移动。
Movevssolidity
目前,区块链语言领域的主要参与者是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项目中积累的开源技术和开发经验来搭建的。其中MoShaikh和AveryChing的两个Aptos创始人,曾深度参与Meta加密钱包Novi的开发。
截止2022年7月27日,Aptos总共完成3.5亿美元融资,其中a16z、FTXVentures、MulticoinCapital三家机构均参与了目前为止的两轮融资。
特点
MOVE语言开发
AptosMove遵循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包括了一个类型验证器,MoveProver,能够根据给定的规范,验证Move程序的功能正确性,该类型验证功能已经集成到了Move语言中。
Move编码系统为资源提供了针对性的安全保护。Move资源不可复制,重复使用或销毁。一个资源类型仅能被定义其类型的模块创建或销毁。Move虚拟机将通过静态字节码验证,并拒绝未通过字节码验证的的程序运行,以此确保其安全性。
可验证性
Move语言具有多种验证方式。通常,最好的验证方式就是将字节码提交到链上进行真实验证,但这样很明显会加重链的负担,影响交易的速度。所以,我们在Move中尽可能多在链上做轻量级的验证,而在语言级别做线下的静态验证。
Aptos状态同步
状态同步是允许非验证节点分发、验证和持久化区块链数据并确保生态系统中所有节点同步的协议。Aptos网络中的节点,包括验证节点和全节点,必须始终同步到最新的Aptos区块链状态。运行在每个节点上的状态同步组件负责这个同步。为了实现这种同步,状态同步从对等点识别并获取新的区块链数据,验证数据并将其持久化到本地存储。
Aptos状态同步模式
Aptos状态同步以两种模式运行。所有节点将在启动时引导,然后持续同步。
其中引导模式有三种:
执行自创世以来的所有交易
应用自创世以来的交易输出
直接下载最新状态
连续同步模式有两种:
执行交易
应用交易输出
Aptos状态同步架构
Aptos状态同步组件由四个子组件组成,每个子组件都有特定的用途:
Driver:同步进度。它负责验证节点从对等点接收到的所有数据。数据通过数据流服务从对等方转发。数据验证后,Driver将数据持久化到本地存储中。
数据流服务:为客户端创建数据流,使客户端从对等点流式传输新的数据块,无需担心哪些对等点拥有数据,也不关心数据请求如何管理。
Aptos数据客户端:数据客户端负责处理来自数据流服务的数据请求。对于流式传输所有事务的数据流服务,发出多个请求并将这些请求发送到对等点。数据客户端接受请求,确定哪个对等方可以处理请求并将请求发送给它们。
存储服务:存储服务是每个节点提供的一个简单的存储API,对等点通过API调用获取数据。
Aptos并行执行引擎
为了实现高吞吐量和低延迟,Aptos区块链在交易处理的关键阶段采用了流水线和模块化方法。具体来说,交易传播、区块元数据排序、并行交易执行、批量存储和账本认证都同时运行。这种方法充分利用了所有可用的物理资源,提高了硬件效率,并实现了高度并行的执行。
Aptos区块链从数据模型和执行引擎两方面着手实现并行处理。由于Move语言数据模型本身支持数据和模块的全局寻址,Aptos使用Move语言实现交易的并行执行。同时设计并实现了一个高效、多线程、内存中的并行执行引擎Block-STM,依靠Rayon、Dashmap和ArcSwapcrates实现并发。
并行数据模型
Aptos区块链引入了一个新概念,deltawrites,它描述了对账户状态的修改,而不是修改后的账户状态。所有交易处理都可以并行完成,然后以正确的顺序对冲突值进行deltawrites操作,以确保确定性结果。
随着时间的推移,Aptos区块链将继续通过提高并发性以及改善开发体验的方式来增强数据模型,让开发人员更自然地创建、修改和组合链上值。Move为语言级别和平台特定功能上的改进提供了灵活性。
并行执行引擎
Block-STM并行执行引擎检测和管理有序交易的冲突,同时进行乐观并发控制,以实现在特定顺序下最大并行度。
批量交易采用乐观锁并行,并在执行后得到验证。验证失败会导致重新执行。Block-STM使用多版本数据结构来避免写-写冲突。所有对同一位置的写入都与它们的版本一起存储,其中包含它们的ID和被乐观重试的次数。当事务tx读取内存数据时,它会按预设顺序,从多版本数据结构中获取出现在tx之前的区块高度最高的交易,写入该交易的值及其相关版本。
Block-STM已经集成到Aptos区块链中。为了解Block-STM的性能潜力,我们使用内存数据库,将有意义的点对点Move交易作为独立的,仅执行的基准进行测试。
Aptos共识协议
Aptos通过AptosBFT共识算法来实现共识机制。AptosBFT沿用了DiemBFT,并在其基础上已经进行了第四次迭代。
迭代功能之一为:添加一个主动起搏器。它使用超时来同步验证器,远快于等待增加的超时,区块只需两次网络往返即可提交,从而使亚秒级的最终确定性成为常见情况。其二是Aptos添加了一个信誉系统。通过检查链上数据并自动更改领导者轮换以解决无响应的验证者。
Sui
介绍
Sui是Meta系公链中起步最早的一个项目,由MystenLabs团队开发,MystenLabs团队创始人EvanCheng等也是从Diem和Novi项目离开的。
Sui旨在创建一款环保、低成本、高吞吐量、低延迟的无权限区块链。相比传统区块链,Sui最关键的创新在于Sui的数据模型及交易处理通道。
2021年12月,Sui公布了3600W美金的A轮融资,2022年7月,Sui爆出正在寻求2亿美元B轮融资,估值已经达到20亿美元。其中A轮融资资方包括a16z与NFX、ScribbleVentures、Redpoint、Lightspeed、ElectricCapital、SamsungNEXT、SlowVentures、StandardCrypto、CoinbaseVentures等。
特点
1.基于CoreMove改造的SuiMove
以Sui对象为中心的全局存储:在CoreMove中,全局存储是编程模型的一部分,可以通过特殊操作访问,例如move_to、move_from和更多全局存储操作符。SuiMove中没有与全局存储相关的操作,存储只发生在Sui内,Sui显式地将所有需要访问的对象传递给Move。
地址代表对象ID:在Move中,有一种特殊的地址类型。此类型用于表示CoreMove中的地址,因为CoreMove在处理全局存储时需要知道账户地址。在SuiMove中是使用地址类型来表示对象ID。
Sui对象具有全局唯一ID:在CoreMove中,key可以用作全局存储的key。Sui要求任何具有键能力的结构都必须以具有ID类型的id字段开头,Sui通过字节码验证器来确保ID字段是不可变的并且不能转移到其他对象。
Sui的模块初始化:初始化函数在模块发布时由Sui运行时执行,目的是预初始化特定于模块的数据。初始化函数必须具有以下属性才能在发布时执行:函数名是init;函数必须是单参数类型;没有返回值;私有函数。
Sui将对象引用作为输入:Sui提供了可以直接从Sui调用的入口函数,以及可从其他函数调用的函数。
2.Sui的数据模型及交易处理通道
Sui创始人指出:Sui的做法是通过「对象」来区分、组织数据。某款NFT、某个代币的余额、某项智能合约,这些都是不同的对象,意味着Sui链上的交易可以根据对象的不同来分组处理。
常规区块链所有交易都需要集体排序,然后执行。对于Sui来说,所有交易都会根据一定的逻辑区分、整理后再排序,然后执行。数据模型可以使不同交易之间的依赖关系更清晰,只有共享对象的交易才需要集体排序,特定对象的交易则不需要这一共识协商过程。
总结来说即Sui对于特定对象类交易可以并行执行,共享对象型交易彼此间也可并行执行,但在各个共享的对象是需要顺序执行的。这一架构可以同时解决如下产品问题:
水平扩容能力:在Sui之上,每组交易都是并行处理的。
可组合性:将资产作为参数传递给函数,从函数中返还某种资产,再将资产存储在一个数据结构内,或是直接存储在另一个资产内。
链上存储:类资产数据,比如游戏的种族、等级、经验等等,都可以存储在Sui的对象中。
部分重播能力:区块链提供了所有交易的历史记录,Sui的构架允许这些项目只关注它们所关心的对象的演化,即部分重播。
3.Sui的两种交易共识机制
Sui的共识机制分成了两部分:Narwhal和Tusk,但在2022年8月,Bullshark取代了共识协议的Tusk组件作为默认设置,以减少延迟并支持公平性。所以可以理解为Narwhal和Bullshark或Tusk构成了Sui共识引擎。
Sui共识引擎的特点
一个高吞吐量的数据可用性引擎,在一个主节点上有数据可用性的加密证明
一个结构化的图形数据结构,用于遍历这些信息
一个可扩展的架构,将磁盘I/O和网络要求分给几个工作者
共识组件提供一个零信息开销的共识算法,利用图的遍历
Sui共识引擎架构
一个Narwhal实例设置了一个消息传递系统,该系统由一组节点之间分配的利益单位组成,并假设有一个计算上受限的对手控制着网络,可以破坏持有f个利益单位的各方。验证者合作形成一个无领导的交易批次图--文献将其指定为区块,我们将其标记为集合--以强调我们处于mempool数据被未指定的共识算法使用的环境中。
该图的顶点由认证集合组成。每一个由其验证者-作者签名的有效集合必须包含一个整数,并且本身必须由法定的验证者桩签名。我们把这2f+1个签名称为可用性证书。此外,该集合必须包含指向上一轮有效证书的哈希指针,这构成了图的边。
每个集合是以下列方式形成的:每个验证人可靠地广播每一轮的集合。在规定的有效性条件下,如果拥有2f+1股权的验证者收到一个集合,他们会用各自的签名来确认它。来自2f+1个验证者的签名形成了一个可用性证书,然后在r+1轮共享并可能包括在集合中。
下图表示这样一个DAG的五轮构建,当局A、B、C和D参与其中。为简单起见,每个验证者持有1个单位的股权。在A5中,由A的最新一轮确认的集合在图中以全线表示。
图片来源Sui官网
Sui共识引擎工作机制
图形结构允许在每个机构和每一轮的系统中插入更多的交易
证书证明了每个集合或块在每一轮的数据可用性
它们的内容构成了一个DAG,可以在每个诚实节点上进行相同的遍历
虽然Bullshark或Tusk共识在几个后验中选择了一个特定的DAG遍历,但它们和外部共识算法都可以在选择区块/集合时增加更多的复杂性,以反映优先级问题。
Sui共识引擎小结
Sui将交易分为两种,一种是简单交易,即交易与区块链状态的其他任意部分没有复杂的相互依赖性,一种是复杂合约,即在这种交易下,合约可能会受益于共享对象,其中多个用户可以改变这些对象。
在简单交易中,Sui使用基于拜占庭一致广播的更简单算法,采取了只为相关数据而不是整个链锁定的方法。在这种情况下,唯一需要的信息是发件人地址,然后一次只能发送一笔交易。
在复杂合约中,Sui使用共识协议对所有涉及共享对象的交易进行完全排序。Narwhal提供了一个高吞吐量的数据可用性引擎和一个可扩展的架构,将磁盘I/O和网络需求分配给多个对象。Bullshark利用图遍历提供了一种零消息开销共识算法。两者结合可以提升复杂合约的处理性能。
4.Sui的可扩展性
Sui采用最先进的Narwhal共识协议对涉及共享对象的交易进行完全排序。共识子系统还可以扩展,因为Sui计划有效地对数据存储进行分片,并横向扩展其资源。
生态
Linera
介绍
Linera的创始人兼CEO是MathieuBaudet,也曾作为基础架构工程师,深度参与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合约验证状态根的有效性或欺诈证明的过程。
执行环境层:提供区块链的执行环境.
共识层:共识层是为了在分布式系统中对某件事达成一致,即对状态转换的有效性达成共识。在共识层上,验证者会对交易发生的顺序达成共识,但验证者并不关注交易本身是否有效。
数据可用性层:这一层需要解决的是「数据可用」的问题,即保证在一个新区块产生之后,新区块的所有数据发布在区块链上。如果无法证明区块的数据都发布在了区块链上,则隐藏在区块中恶意交易无法被检测出,区块链也就不具有安全性。
模块化区块链中的最具有代表性的产品是Celestia,一个提供「可插拔的」共识层和数据可用层的POS(ProofofStake)区块链。在深入理解Celestia之前,我们先了解一下「数据可用性」可能存在的问题。
数据可用性问题
在区块链中,每个区块由两部分组成。
区块头:这是区块的元数据,包括关于区块的一些基本信息,包括交易的Merkle根。
交易数据:这构成了区块的大部分,由实际交易组成。
区块链网络中一般也有两种类型的节点。
完整节点:这些是下载并检查区块链中每笔交易是否有效的节点。建立这种节点需要大量的资源和数百GB的磁盘空间,但这些是最安全的节点,因为它们不能被接受含有无效交易的区块。
轻型客户端:如果你的电脑没有资源来运行一个完整的节点,那么你可以运行一个轻型客户端。轻型客户端不下载或验证任何交易。相反,他们只下载区块头,并假设区块只包含有效的交易,所以轻型客户端的安全性比完整节点要低。
这就提出了一个重要的问题:我们如何让轻客户端拒绝无效区块,让他们不必信任矿工?答案就在于欺诈证明,即证明特定交易无效的证明。
欺诈证明
欺诈和数据可用性证明通过模块化区块链堆栈中的一些关键组件,使轻客户端可以依靠完整的节点来寻找无效的交易,并在检测到任何交易时向他们发送简洁的欺诈证明。欺诈证明基本上只包括有问题的交易本身,前状态根,后状态根,以及该交易的见证者。可以将此发送给轻客户端,轻客户端可以轻松地重新计算该特定交易,并检测到它是无效的,而不需要知道整个区块链的状态。
数据可用性取样
这是数据可用性问题发挥作用的地方,为了让全节点生成欺诈证明,所有的基础数据都需要已经发布。如果数据不可用,那么就没有人能够重新计算状态或证明恶意活动。所以,我们真正需要的是一种方法,让轻客户端在检查区块头信息时,检查矿工是否已经将交易数据发布到链上。只要这些数据被公布,并且对全节点可用,那么他们就能产生欺诈证明。这就是为什么需要数据可用性证明。
DAS的关键是,轻客户端可以通过擦除编码将一个区块分割成几块,只对该数据的一个子集进行随机采样,并在这个过程中以统计学上的确定性验证整个区块已经发布。
安全假设
使用DAS允许轻客户端验证一个区块中的所有数据实际上是可以下载的,因此完全验证节点将能够在任何无效交易的情况下产生欺诈证明。结合这些技术,我们能够依赖更弱的安全假设,进而存在以下三种情况:
完整节点:仍然是最安全的方案,完整节点不能被接受无效的区块。
标准轻客户端:因为他们不验证区块,所以他们假设多数人的共识是诚实的。
轻客户端+欺诈证明:我们现在可以用一个更弱的诚实少数人假设来取代状态有效性的诚实多数人假设。你现在只需要最低数量的轻型客户端发出足够多的样本请求,这样他们就能一起重建整个区块。
欺诈证明和数据可用性采样的结合是实现链上区块链扩展的核心,同时保持数据可用性和有效性的有力保证。
Celestia的区块链扩展方案
区块链通常有一个有限的容量,基于终端用户全节点的资源需求。例如,比特币的理论最大容量为4兆字节,这被设定得非常低,以便任何普通用户可以在普通硬件上启动一个节点并验证该区块链。以太坊也有类似的目标,让普通用户验证链,尽管对资源的要求比比特币略高。这种任何人都可以自己检查区块链的能力对于自我主权的概念至关重要,即你不必信任任何第三方来验证网络。对于一组给定的硬件要求和运行一个完整节点的成本,基本上限制了网络的TPS。
Celestia的路线图非常符合这样的理念:使用最小硬件的普通用户应该能够自己验证链,Celestia打算通过使验证更容易来扩大规模。因此,它并不保证容量将总是超过需求,会有一些限制,而且会出现一个收费市场。Celestia提供了比其他当代区块链设计更多的容量,这反过来将带来难以置信的可扩展性和更低的费用。它能做到这一点,是因为它的设计使验证链的计算变得容易。
Celestia扩展的关键在于,在验证链的过程中,工作量与区块大小呈亚线性。更具体地说,客户只需要下载他们要检查的数据量的平方根。例如,假设你在一个有10,000个块的区块上做DAS。你只需要下载和检查其中的100个。你现在从一个节点需要下载和执行区块中的每一个交易的模式变成了一个你只需要下载和检查区块中数据的平方根量的可用性的模式。让这种验证如此简单是扩展的关键,因为你需要采样的块的数量与区块大小基本无关,所以无论区块大小如何,检查区块的成本都是大致不变的。这允许你增加区块的大小,从而增加TPS,而不增加终端用户验证链的成本。然而,区块越大,你需要在网络中下载随机样本的用户越多,以确保用户已经集体采样了区块中的所有内容。因此,安全地托管更多数据的限制只是拥有更多的节点。
总结一下,Celestia创建了一个区块链,它的规模与它的用户的数量呈线性关系,而且做到这一点非常容易。随着更多的节点加入网络,你可以安全地增加区块大小而不牺牲安全或去中心化。在传统区块链上增加区块大小会增加验证的硬件要求,反过来牺牲了去中心化和安全性。在Celestia之上的Rollups依赖于它的数据可用性,所以通过增加基础层的数据可用性,这将转化为他们自己执行环境中的扩展性;这就是Celestia提供大规模可扩展性的方式。
全模块化堆栈---Cevmos和递归Rollups
Celestia目前正与Evmos团队合作,建立Cevmos,这是一个令人难以置信的全模块化堆栈,用于托管基于EVM的Rollups。
就背景而言,Evmos是一个与应用无关的链,将与以太坊主网、EVM兼容环境和其他BFT链通过IBC进行互操作。Evmos旨在成为Cosmos的EVM中心,使其能够轻松地部署智能合约并在Cosmos生态系统内进行交流。
在这个新的堆栈中,Cevmos将作为一个优化的结算层,建立在CosmosSDK上,运行一个受限的EVM。它将以Evmos为基础,并在其之上承载EVM的递归Rollup。这个结算层本身将是一个Rollup,因此我们可以把它称为"结算Rollup"。Cevmos结算Rollup将使用Optimint而不是现有Cosmos链上使用的Tendermint核心共识引擎来构建。Optimint是TendermintBFT的替代品,使开发者能够使用现有的共识和数据可用性层部署新链。
在它的核心,任何为Rollup构建的结算层都是一个与Rollup有信任最小化的双向桥梁的区块链,在结算层上使用某种争端解决合约。这允许代币在两者之间转移,或通过结算层从一个Rollup转移到另一个Rollup,以信任最小化的方式在任何方向转移。
目前的问题是,以太坊主链并没有只为Rollup结算而优化,因此Rollup结算必须始终与其他应用程序竞争,这变得昂贵且不可扩展。Cevmos的结算Rollup将反而受到更大的限制,只允许:
Rollup智能合约:它必须处理有效性证明的验证和必要的争端,以便在其之上托管ZK和乐观Rollups合约
Rollups之间的简单转移
因为Cevmos结算Rollup将完全等同于EVM,你将能够很容易地移植并在它上面运行你最喜欢的EVMRollups。
简而言之,完整的Cevmos堆栈可以包括:
Celestia-在底部提供数据可用性。
Cevmos结算Rollup-这个基于Evmos的链将位于Celestia的顶部。它将被完全优化为基于EVM的Rollup的结算层,并置于其上。
基于EVM的Rollup-处理执行,潜在的大量的执行Rollups将位于堆栈的顶部。
总结
Celestia与传统的解决方案相比具有多种优势:
可扩展性:通过将执行与共识和数据可用性解耦,Celestia能够随着网络上节点数量的增加而实现专业化和线性扩展,执行环境可以自由地在上面进行优化。
简单性:Celestia是一个可插拔的解决方案,目标是能像点击按钮一样轻松部署特定应用的区块链。潜在的许多区块链将在Celestia的顶部有一个自然的家。
共享安全:不再需要作为一个单独的链来启动自己的安全和验证器集。无论这是为原本独立的链,还是为需要启动数据可用性委员会的Validium,这些选择都要困难得多,而且安全问题也很分散。
主权:Celestia简单的设计之美在于它为那些建立在它之上的应用程序提供了极大的自由。不再受执行环境和你所处的链的管理决定的严格约束。
3.隐私公链
Aztec
AZTEC协议描述了一组定义交易机密处理的零知识证明算法,设计用于支持图灵完备通用计算的区块链协议中。
该协议与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协议描述了如何在零知识证明中构建和验证离散聚合处理的有效性,并保证解密票据价值的地址没有暴露,证明票据“所有权”的地址不会被曝光。
AztecConnect
前述AZTEC的隐私交易处理模式仅能支持基于Layer2的交易转账,为实现Layer1上的DeFi隐私交互,AZTEC开发了AztecConnect以通过网关的方式,将Layer2上的交易聚合至Layer1。当Aztec用户想用协议进行交易时,该交易将在完全匿名的情况下通过AztecConnect在以太坊主网上与第一层协议进行交互。
AZTEC协议与ERC20代币标准等传统公共数字资产的交互
AZTEC协议能够与AZTEC协议相同的底层区块链的传统数字资产交互。该协议可用于定义两种不同类型的数字资产:完全匿名资产和公共\私有资产。AZTEC协议可以把公开的ERC20值转换成AZTEC票据,或是将AZTEC票据转回ERC20。
AZTEC协议的匿名性
AZTEC协议支持机密交易,其中单个票据的信息是加密的。同时,通过将机密的零知识交易与地址匿名算法结合起来,可以提供交易的完全匿名性。
AZTEC协议的效率分析
在AZTEC当前的技术范式中,被称为UltraPlonk的密码系统向以太坊发布证明的成本约为550,000wei,比AZTEC原始产品zk.money首次推出时便宜约30%。当前系统的单次交易汇总量也从112个扩大到了896个,吞吐量实现了8倍的提升。
AZTEC在单次吞吐量为112项时的工作方式为:
浏览器客户端生成了一个证明
然后将28个客户端证明聚合为一个内部Rollup证明
然后将4个内部Rollup证明聚合为一个外部Rollup证明
随后,这个“外部”的Rollup证明在根Rollup的逻辑电路中进行验证——这个逻辑电路能够确保所有底层工作的有效性。
对最后的证明进行上链。
AZTEC官方认为其AztecConnect软件开发工具包可为以太坊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的简洁工作证明提供。PoSW是bitcoin基于SHA挖矿难度调整机制的变体,其主要区别在于其底层计算不是哈希函数,而是知识证明。
POSW原理:
Aleo代币经济学
Aleo团队在考虑代币经济学时,对以下属性有严格的要求:
网络的原生代币代表着有意义的价值
该系统激励网络上的参与者为其安全做出贡献
激励措施不鼓励不诚实或任何作恶行为
它能够促进有用应用程序生态系统的开发和使用
它能够促进权力下放,从而没有任何一方可以控制整个系统
Aleo的代币名称叫做Aleocredits,代币总量:10亿。下面两张图片展示了Aleo的代币分配情况和挖矿产出时间表。
下图显示了Aleo代币的通货膨胀曲线,可以看出Aleo团队在尽力寻求一个平衡使得代币能够维持Aleo链的正常运作,同时不会引起无限的通货膨胀。
Aleo的未来
Aleo项目的融资额创造了历史,其是唯一一条在二级市场和主网均未上线前就获得了2.98亿美元的融资的公链项目。并且,由于三星等投资机构的投资支持,Aleo的工作一直在平稳进行。毋庸置疑,Aleo一定是Web3隐私赛道的龙头项目之一,只要市场一天有隐私交易及交互需要,Aleo的服务就能够为用户带来隐私保护以及数据的私有化。
4.区块链扩展解决方案
AltLayer
V神曾提出区块链技术的“不可能三角”,即安全性、去中心化、可扩展性无法兼得。现在,通过不断的技术迭代,新公链们正在努力实现三者兼得。运行效率和可承载的用户量是当前区块链进入更主流市场的关键,因此提升扩容能力自然是公链项目的重要努力方向,AltLayer就是专注于扩容的新公链中热度较高的项目之一。
AltLayer介绍
项目及团队介绍
Altlayer主要针对dApps阶段性的高扩展性需求,是一个可插拔、按需加载,为单个应用程序定制的执行层系统。AltLayer是基于OptimisticRollups构建的临时扩展层,可以满足一次性使用的需求,且共享Layer1或Layer2的安全性,为工程师们带来具有高度弹性的执行环境,做到了高度的资源优化。
AltLayer由ParityAsia前总监、Zilliqa联合创始人兼CTODr.YaoqiJia领导。于2022年7月1号宣布已经完成了由PolychainCapital、BreyerCapital和JumpCrypto牵头的720万美元种子轮融资。目前AltLayer的测试网已经准备完毕,计划在今年Q3推出一个完全支持EVM的测试网。
项目功能特点
Altlayer可以直接从Layer1或以递归方式间接从Layer2获得其安全性,被看作为Layer3层协议,主要功能特点如下:
满足dApp个性化需求
高度资源优化
模块化设计
高弹性
低延迟
为什么需要AltLayer——NFTmint场景痛点
痛点
AltLayer其中一个适用场景就是NFTmintevent。由于NFT通常是限量供应,因此每次的NFTmintevent都会有短期暴增的高TPS需求,同时带来了大量的交易失败和网络拥堵。过去,通用链提供的都是共享区块空间的模型,这往往导致一个受欢迎的dApp消耗了过多的区块空间,而其他dApp的用户由于高昂的手续费和结算时间而导致用户体验不佳。
当前越来越多的项目都在试图用发展二层网络的方式来解决扩容问题,例如Sandbox,YugaLabs。由于所有dApp之间共享块空间,很多Layer2公链已经面临拥塞问题,即使模块化也仅是提高了部分效率,拥塞问题仍旧未被解决。
解决方案
实际上许多NFT项目其实并不需要一个长久的专用区块空间,只需要短时间内占用区块空间。因此AltLayer的弹性扩容方案可以更好的满足NFT项目Mint期间的网络需求,且不会带来长期持续性负担。有效避免了使用频率多的dApp会与大量未使用的dApp争夺区块空间的问题。
AltLayer满足dAPPs更加专业化定制化的需求,帮助它们更灵活的选择资源,而不是在一层网络中和其他dApp争夺有限的资源,从而提供更好的用户体验。
实现路径
当dApp预期有非常大的访问需求而Layer1无法承接时,FlashLayer就会被调用。一旦需求逐渐减少dApp就会迁移回一层网络,这种高度弹性的方案使得整个系统的资源得到了高度优化。FlashLayer为每个NFT项目分配一个特定于Mint的执行层。由于区块空间是为项目保留的,这意味着mintevent可以与任何其他链上活动完全隔离,从而不会导致网络拥塞,也让NFT项目在mint过程中不会产生GAS。此外,FlashLayer还带有一个高吞吐量的执行环境,能够提供2000TPS的专用吞吐量和1-2秒的低延迟,提供流畅的体验。
具体路径如下:
1)快速启动一个由一层网络保证安全性的Rollup解决方案;
2)合理利用Rollup解决方案,从而防止一层网络的空间堵塞;
3)通过在一层网络进行“end-of-life”的结算程序来结束Rollup解决方案的调用。
项目优势
自动扩展:当NFTmintevent结束时,系统会结算Base-chain上的所有资产。与需要用户手动桥接资产的解决方案不同,自动结算可确保所有NFT都移至Base-chain,而无需任何用户干预,消除了任何与桥接相关的安全风险
多链支持:默认支持EVM和WASM
完整的流动性:所有NFT在Mint结束时都转移到Base-chain,因此确保了二级市场参与者不必从一条链跳到另一条链来找到他们希望购买的NFT
消除GasWar:AltLayer为每个NFT项目都分配一个特定的执行层,可以与任何其他链上活动完全隔离
转自1435Crypto
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。