赞
踩
综合概述
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 并行执行引擎
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。