...
This question can be deconstructed into two questions:
How does the blockchain accept support massive users? That is the blockchain's scaling problem.
In what way should applications be combined with the chain? That is the relationship between the chain and the Web3 application.
...
如何在 Layer1 校验 Layer2 的执行结果并进行仲裁?Layer3 到 Layer2 同理。
Layer2 以及 Layer3 能否依赖 Layer1 的合约? 这个影响智能合约跨层的可组合性。
合约的状态如何在不同的层之间迁移?
Key Solutions
...
For mergeable state , such as Token, for example, 1000 A Token and 100 A Token can be merged into 1100 Token. each mergeable state needs to accumulate a total number in Layer1 and be verified when migrating across layers to ensure that Layer2 cannot create Token out of thin air.
For non-mergeable state, such as NFT, or user-contracted free state, Layer1 generates a state tree for all original state moved from Layer1, and records the root hash of the tree to ensure that the state is not changed when it is moved across layers. Non-mergeable state, moved from Layer1 to Layer2, can only change the ownership and cannot be updated in Layer2.
技术架构
Technical Architecture
Drawio | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
整体上分为三层,整体架构分为三层,
Layer1 通过 PoW 共识保证安全(Security)和无准入(Permissionless)。这部分已经实现。
Layer2 通过 PoS 共识给 Layer1 提供终局性(Finality),同时给 Rollup 的 Accumulator 提供去中心化能力。 Rollup 方案可以让网络整体的 TPS 提高到 10~100 倍。
Layer3 通过状态通道(State Channel)以及 DAppChain ,将不同的应用的共识隔离在应用的局部网络中,可提供无限的扩展能力。
Rollup
Rollup 是一种相对成熟的扩容机制,一些项目已经实现,在 Rollup 中有几个角色:
累加器(Accumulator),在其他项目中叫定序器(Sequencer)或者聚合器(Aggregator)。它主要的功能是给交易排序,并且定期将 Layer2 的交易提交到 Layer1 。Stargate 的 Rollup 方案中,它不仅仅提供排序,同时会将交易哈希进行累加,用于提供交易的顺序证明。累加器同时也要执行交易,并且定时将每个交易执行之后的状态树的根哈希提交到 Layer1。
状态提供者(State Provider),按照累加器提供的交易顺序,执行交易,给第三方提供状态查询接口。
校验者(Verifier),执行交易并与累加器提交到 Layer1 的状态树的根哈希进行比较,如果发现累加器作弊则向 Layer1 提交欺诈证明。
当前 Stargate 的 Rollup 方案属于 Optimistic Rollup 的一种。Optimistic Rollup 方案下,Layer1 并不会校验 Layer2 的每个交易,而是乐观的相信 Layer2 的 Accumulator 节点,直到有校验者提出欺诈证明,这样相当于把计算和状态都迁移到了 Layer2。
考虑到未来可能引入 ZK Rollup 方案,Stargate 的架构上,交易的校验机制设计为一种抽象的方案,可以通过富状态交易的重复执行的方式实现,也可以通过零知识证明的方式实现,可以通过统一的架构适配不同的方案。
Stargate 的 Rollup 方案相对于其他的 Rollup 方案有几个差异点:
累加器复用 Layer1 的 PoS 共识机制以及节点集群,实现去中心化以及高可用。
通过累加器提供的顺序证明,以及富状态交易的验证机制,让钱包客户端也具有验证交易的能力,从而承担校验者的能力。
数据可用性由 Layer2 PoS 共识网络以及钱包客户端来保证,累加器可以只给 Layer1 提交 Layer2 交易的哈希,这样 Rollup 可以将吞吐再提升一个量级。
Rollup 依然依赖 Layer1 的全局共识,所以受限于 Layer1 的吞吐能力。它的主要目标是降低 Layer1 的计算成本,将状态维护在链下,通过乐观(Optimistic)挑战机制保证安全,可以即时确认 Layer2 的交易状态,给用户提供类似互联网应用的体验,同时也为 Layer3 的扩展方案打好基础。
State Channel
状态通道(State Channel) ,或者叫支付通道(Payment Channel),以闪电网络(Lightning Network )为代表,也是一种比较成熟的扩容方案。它的思路是双方各自抵押一部分资产在链上,然后在链下维护一个两个参与方(理论上也可以扩展到多个参与方)的局部共识状态,每次变更都需要双方确认。但为了解决单方不合作难题,任何一方都可以单方在链上发起关闭通道的交易,等待一个挑战期后,通道自动关闭,参与方按最后一次双方确认的状态进行清算。
Stargate 中的 State Channel 方案和其他状态通道有几个差异点:
State Channel 中可以执行合约,这样通道不仅仅用来转账,还可以执行一些复杂的,有状态累计的合约。
因为它可以执行合约,所以也可以支付任意类型的 Token,以及 NFT。
状态通道构建在 Layer2 之上,而不是 Layer1 之上,主要是要依赖 Layer2 的即时确认能力,降低建立通道的成本以及确认时间。
状态通道之所以没有大规模的应用,其中一个关键门槛是,Layer1 上的状态通道创建成本比较高,等待确认时间比较长。
但如果状态通道在 Layer2 之上,则可以消除这个门槛。这样 Starcoin/Stargate P2P 网络中的任意两个节点,都可以将自己的 P2P 连接升级为状态通道,然后通过状态通道进行数据传输和流式计费。同时,也为 DAppService 提供了基础设施。
DAppService
基于 Stargate 框架搭建的,通过状态通道网络提供付费的 RPC 服务。
DAppService 本身不是去中心化的,但它运行在 P2P 网络上,可以通过 P2P 网络进行服务发现以及远程调用,通过状态通道进行计费。
它相当于 Web2 服务到 Web3 服务的一个桥,任意当前的互联网服务都可以将自己的付费机制变更为流式计费机制,直接接入到 Web3 的 P2P 网络中。
DAppChain
基于 Stargete 框架搭建的,包含子共识机制的 DApp Chain。它的核心逻辑由合约写成,并且注册到 Layer2 中,注册时需要抵押一定数额的链上资产。它的安全受 Layer2 约束,但因为它是一个局部共识,Layer2 并不知道它的所有交易,所以安全性比 Rollup 方案要低。如果用户遇到欺诈,可向 Layer2 提交欺诈证明,Layer2 会对 DApp 进行惩罚,但惩罚的上限以 DApp 的注册抵押资产为上限。
整体概览架构如下图:
...
Layer1 与 Layer2,Layer3 以及用户的终端钱包,都在同一个 P2P 网络中,都通过 P2P 网络进行通信。
终端钱包有自己在 P2P 网络中的身份,可以执行和验证交易,可以存储交易历史,提供数据可用性,如果发现 Layer2 节点作弊可以直接提交 Layer1 仲裁。同样,也可以提交 DApp 的欺诈证明给 Layer2。
不同的 DApp,比如 X DApp, Y DApp 可选择不同的方案接入到 Starcoin 网络。
最后回答一下,开篇提出的两个问题:
区块链如何接受大规模用户?Starcoin 通过分层的方案来实现扩容。并且一个链要支持大规模的 DApp 接入,仅仅靠 Rollup 方案很难达到目的,必须考虑局部共识机制,所以 Stargate 提供了整体的解决方案。
应用应该以什么形态和链结合?未来应用会以两种方式和链结合,一种是只将链作为付费通道,Stargate 提供 DAppService 可以将传统的 WebService 直接接入到 Web3 的基础设施中。另外一种是 DApp 本身作为一个链,Stargate 提供一个应用链框架,可以快速搭建应用链,并接入到 Starcoin 网络中,安全受 Layer2 和 Layer1 的约束,资产可以在不同的层以及 DApp 之间迁移。
路线图
...
说明: 这个路线图包含了三个主要的方向:
Layer1 , Layer2,Layer3,主要目标解决链的扩展性难题以及给 DApp 提供集成方案。
Move 以及 DApp 生态,主要目标是降低开发者的学习门槛以及给开发者提供全栈工具。
多链生态的互操作性,主要目标是尽可能和其他链互通,融入到其他链的生态中去。
其中,箭头表示依赖关系,虚线表示可能的探索方向。
Starcoin 团队在团队成立最初的一年多时间里,尝试在 Bitcoin 以及 Ethereum 上试验 Layer2 的方案,得出了两个基本的结论:
Bitcoin 由于 Script 的限制,Layer1 很难给 Layer2 的交易提供仲裁能力,必须通过复杂的协议,将仲裁逻辑转换成锁模式(哈希锁,时间锁),很难支撑面向 DApp 的 Layer2 的需求。
Ethereum 的智能合约功能强大,但由于它的合约状态都绑定在合约账户内,无法做到跨层的状态迁移以及类型复用。一方面很难实现通用的状态迁移,另外一方面跨层的智能合约之间很难发挥出组合能力,等应用之间的关系进一步复杂就会遇到瓶颈。
所以 Starcoin 团队尝试了一种新的智能合约语言 Move,并先通过模拟 Layer1 的方式来对 Stargate 技术思路进行 PoC 试验,尝试在状态通道中执行智能合约,然后决定做一条新的 Layer1 for Layer2 的公链,在 Layer1 引入 Move 智能合约。
2021 年 5月,Starcoin 主网上线。经过半年的稳定运行和持续迭代,到现在(2022 年 1月)Layer1 已经初步具备了 Layer2 的关键依赖,所以继续 Stargate 项目的设计与开发,有以下几个关键节点:
EasyGas,实现以任意 Token 支付 Gas 的能力。该特性依赖于链上的 swap。大约在 2022 年第一季度实现。
轻节点,轻节点虽然不保存全局状态,但可以执行交易,校验区块,生成富状态交易。嵌入式轻节点(浏览器或者手机客户端)依赖轻节点的实现,富状态客户端钱包依赖嵌入式轻节点的实现。
分层的混合共识机制,在 PoW 基础上新增一套 PoS 的共识机制,给 Layer1 提供终局性。
Rollup 第一阶段,不考虑 Accumulator 的高可用,主要实现富状态交易的验证,状态的在不同层之间的迁移,以及跨层的合约依赖。
Rollup 第二阶段,将 Rollup 和 PoS 共识整合在一起,解决 Accumulator 高可用和去中心化的问题。
P2P 网络之上的 RPC 框架,这个是一个通用的 P2P 网络服务框架,用来简化 P2P 网络上的 RPC 服务的开发。
基于 Rollup 的状态通道,以及状态通道之上的 DAppService 框架。
基于 Rollup 的 DAppChain 框架。
术语说明
...
The overall architecture is three-layer.
Layer1 ensures Security and Permissionless through PoW consensus. This part has been implemented.
Layer2 provides finality to Layer1 through PoS consensus and decentralization to Rollup's Accumulator. The Rollup solution can increase the overall TPS of the network to 10 to 100 times.
Layer3 isolates the consensus of different applications in the application network through State Channel and DAppChain, which can provide unlimited scalability.
Rollup
Rollup 是一种相对成熟的扩容机制,一些项目已经实现,在 Rollup 中有几个角色:
累加器(Accumulator),在其他项目中叫定序器(Sequencer)或者聚合器(Aggregator)。它主要的功能是给交易排序,并且定期将 Layer2 的交易提交到 Layer1 。Stargate 的 Rollup 方案中,它不仅仅提供排序,同时会将交易哈希进行累加,用于提供交易的顺序证明。累加器同时也要执行交易,并且定时将每个交易执行之后的状态树的根哈希提交到 Layer1。
状态提供者(State Provider),按照累加器提供的交易顺序,执行交易,给第三方提供状态查询接口。
校验者(Verifier),执行交易并与累加器提交到 Layer1 的状态树的根哈希进行比较,如果发现累加器作弊则向 Layer1 提交欺诈证明。
Rollup is a scaling solution and there are several roles in Rollup:
Accumulator, called Sequencer or Aggregator in other projects. Stargate's Rollup solution, not only provides sorting but also accumulates transaction hashes, which are used to provide proof of the order of transactions. The accumulator also executes transactions and periodically commits the root hash of the state tree to Layer1 after each transaction is executed.
The State Provider executes the transactions according to the transaction order provided by the accumulator and provides the state query API to users.
Verifier, executes transactions and compares them with the root hash of the state tree submitted to Layer1 by the accumulator, and submits proof of fraud to Layer1 if the accumulator is found to be cheating.
当前 Stargate 的 Rollup 方案属于 Optimistic Rollup 的一种。Optimistic Rollup 方案下,Layer1 并不会校验 Layer2 的每个交易,而是乐观的相信 Layer2 的 Accumulator 节点,直到有校验者提出欺诈证明,这样相当于把计算和状态都迁移到了 Layer2。
考虑到未来可能引入 ZK Rollup 方案,Stargate 的架构上,交易的校验机制设计为一种抽象的方案,可以通过富状态交易的重复执行的方式实现,也可以通过零知识证明的方式实现,可以通过统一的架构适配不同的方案。
The current Stargate rollup solution is a type of Optimistic Rollup, where Layer1 does not verify every transaction in Layer2, but optimistically trusts Layer2's Accumulator node until a verifier presents proof of fraud, which is equivalent to migrating both computation and state to Layer2.
Considering that the ZK Rollup scheme will be introduced in the future, Stargate's architecture is designed as an abstract solution for the verification mechanism of transactions, which can be implemented by verifying FullStatusTransactions or by verifying zero-knowledge proofs, and the different solutions can be adopted through a universal architecture.
Stargate 的 Rollup 方案相对于其他的 Rollup 方案有几个差异点:
累加器和 Layer1 共享一套 PoS 共识网络,实现去中心化以及高可用。
通过累加器提供的顺序证明,以及富状态交易的验证机制,让钱包客户端也具有验证交易的能力,从而承担校验者的能力。
数据可用性由 Layer2 PoS 共识网络以及钱包客户端来保证,累加器可以只给 Layer1 提交 Layer2 交易的哈希,这样 Rollup 可以将吞吐提升 100x。
Rollup 依然依赖 Layer1 的全局共识,所以受限于 Layer1 的吞吐能力。它的主要目标是降低 Layer1 的计算成本,将状态维护在链下,通过乐观(Optimistic)挑战机制保证安全,可以即时确认 Layer2 的交易状态,给用户提供类似互联网应用的体验,同时也为 Layer3 的扩展方案打好基础。
Stargate's Rollup solution differs from other Rollup solutions in several points.
The accumulator and Layer1 share a PoS consensus network, achieving decentralization and high availability.
The accumulator provides the sequential proofs and the verification mechanism for StateFullTransaction, allowing the wallet client to verify the transactions and take on the verifier role.
Data availability is guaranteed by the Layer2 PoS consensus network and the wallet client, and the accumulator can submit hashes of Layer2 transactions to Layer1 only, allowing Rollup to increase throughput by 100x.
Rollup still relies on the global consensus of Layer1, so it is limited by the throughput capacity of Layer1. Its main goal is to reduce the computational cost of Layer1, maintain state off-chain, and ensure security through an optimistic challenge mechanism. It can instantly confirm the transaction status of Layer2, providing users with an Internet-like application experience, and also laying the foundation for the Layer3 solutions.
State Channel
状态通道(State Channel) ,或者叫支付通道(Payment Channel),以闪电网络(Lightning Network )为代表,也是一种比较成熟的扩容方案。它的思路是双方各自抵押一部分资产在链上,然后在链下维护一个两个参与方(理论上也可以扩展到多个参与方)的局部共识状态,每次变更都需要双方确认。但为了解决单方不合作难题,任何一方都可以单方在链上发起关闭通道的交易,等待一个挑战期后,通道自动关闭,参与方按最后一次双方确认的状态进行清算。
State Channel, or Payment Channel, represented by Lightning Network, is also a proven scaling solution. The idea is that each participant pledges a certain amount of assets on the chain, and then maintains a local consensus state off-chain for both participants (theoretically, it can be extended to multiple participants), and each transaction requires confirmation from both participants. However, in order to solve the problem of non-cooperation, either party can be forced to initiate a liquidation transaction on the chain, and after waiting for a challenging period, the channel will be automatically closed and the participants will be liquidated based on the last confirmed state by both participants.
Stargate 中的 State Channel 方案和其他状态通道有几个差异点:
State Channel 中可以执行合约,这样通道不仅仅用来转账,还可以执行一些复杂的,有状态累计的合约。
因为它可以执行合约,所以也可以支付任意类型的 Token,以及 NFT。
状态通道构建在 Layer2 之上,而不是 Layer1 之上,主要是要依赖 Layer2 的即时确认能力,降低建立通道的成本以及确认时间。
状态通道要大规模的应用,其中一个关键门槛是,Layer1 上的状态通道创建成本比较高,等待确认时间比较长。
但如果状态通道在 Layer2 之上,则可以消除这个门槛。这样 Starcoin/Stargate P2P 网络中的任意两个节点,都可以将自己的 P2P 连接升级为状态通道,然后通过状态通道进行数据传输和流式计费。这也是 DAppService 的基础设施。
The State Channel solution in Stargate differs from other state channels in several points:
SmartContract can be executed in the State Channel so that the channel can be used not only to transfer Token but also to execute complex, stateful contracts.
As it can execute contracts, it can also pay any type of Assert, as well as NFTs.
State Channel are built on Layer2 instead of Layer1, mainly because they rely on Layer2's instant confirmation capability to reduce the cost and confirmation time to create the channel.
One of the key thresholds for the massive adoption of State Channel is that the cost of creating a channel on Layer1 is high and the waiting time is long.
However, if the State Channel is on Layer2, this threshold can be eliminated. This allows any two nodes in the Starcoin/Stargate P2P network can upgrade their P2P connections to a State Channel, and then perform data transfer and streaming billing over the State Channel. This is also the infrastructure of DAppService.
DAppService
基于 Stargate 框架搭建的,通过状态通道网络提供付费的 RPC 服务。
DAppService 本身不是去中心化的,但它运行在 P2P 网络上,可以通过 P2P 网络进行服务发现以及远程调用,通过状态通道进行计费。
它相当于 Web2 服务到 Web3 服务的一个桥,任意当前的互联网服务都可以将自己的付费机制变更为流式计费机制,直接接入到 Web3 的 P2P 网络中。
Built on the Stargate framework, it provides a paid RPC service through State Channel network.
DAppService is not decentralized, but it runs on a P2P network, allowing service discovery and remote call through the P2P network, and billing through the State Channel.
It is equivalent to a bridge from Web2 service to Web3 service, and any current Web2 service can change its payment method to a streaming billing method and enter into Web3 P2P network directly.
DAppChain
基于 Stargete 框架搭建的,包含子共识机制的 DApp Chain。它需要注册到 Layer2 中,同时抵押一定数额的 Layer2 资产。如果用户遇到 DApp 的欺诈,可向 Layer2 提交欺诈证明,Layer2 会对 DApp 进行惩罚,但惩罚的上限以 DApp 的注册抵押资产为上限。
The DApp Chain is built based on the Stargete framework and includes a sub-consensus mechanism, which requires registration in Layer2 and collateralizing a certain amount of Layer2 assets. If a user encounters a fraudulent DApp, he can submit proof of fraud to Layer2, and Layer2 will punish the DApp, but the penalty is limited to the maximum amount of the DApp's registered collateral assets.
整体网络概览架构如下图:
The overview of network architecture is shown in the following figure:
Drawio | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Layer1 与 Layer2,Layer3 以及用户的终端钱包,都在同一个 P2P 网络中,都可以通过 P2P 网络进行通信。
充分发挥终端的作用。终端钱包有自己在 P2P 网络中的身份,可以执行和验证交易,可以存储交易历史,提供数据可用性,可以提交 Layer2 的欺诈证明给 Layer1。同样,也可以提交 DApp 的欺诈证明给 Layer2。
不同的 DApp,比如 X DApp, Y DApp 可选择不同的方案接入到 Starcoin 网络。
Layer1 is in the same P2P network as Layer2, Layer3, and the user's endpoint wallet, all of which can communicate through the P2P network.
The endpoints are fully exploited. The endpoint wallets have their own identity in the P2P network, can execute and verify transactions, can store transaction history, provide data availability, and can submit Layer2's fraud proofs to Layer1. similarly, they can submit DApp's fraud proofs to Layer2.
Different DApps, such as X DApp, Y DApp, can choose different options to access the Starcoin network.
最后回答开篇提出的两个问题:
区块链如何接受大规模用户?Starcoin 通过分层的方案来实现扩容。并且一个链要支持大规模的 DApp 接入,仅仅靠 Rollup 方案很难达到目的,必须考虑局部共识机制,所以 Stargate 提供了整体的 Layer1 + Layer2(Rollup) + Layer3(DAppService + DAppChain) 解决方案。
应用应该以什么形态和链结合?未来应用会以两种方式和链结合,一种是只将链作为付费通道,Stargate 提供 DAppService 可以将传统的 WebService 直接接入到 Web3 的基础设施中。另外一种是 DApp 本身作为一个链,Stargate 提供一个应用链框架,可以快速搭建应用链,并接入到 Starcoin 网络中,安全受 Layer2 和 Layer1 的约束,资产可以在不同的层以及 DApp 之间迁移。
Finally, to answer the two questions in the opening paragraph.
How does a blockchain support massive users? Starcoin achieves scaling through a layered solution. Moreover, if a chain wants to support massive DApp users, it is difficult to achieve the goal by Rollup solution alone, so local consensus mechanism must be considered. Therefore, Stargate provides the integrated Layer1 + Layer2 (Rollup) + Layer3 (DAppService + DAppChain) solution.
In what way should applications be combined with the chain? In the future, applications will be combined with chains in two approaches, one is to use the chain as a payment channel, and Stargate provides DAppService that can connect traditional WebService directly to the Web3 infrastructure. The other is application chains, where Stargate provides an application chain framework to quickly build application chains and integrate them into the Starcoin network, securely governed by Layer2 and Layer1, and where assets can be moved between different layers and DApps.
路线图
Drawio | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
路线图包含了三个主要的方向:
Layer1 , Layer2,Layer3,主要目标解决链的扩展性难题以及给 DApp 提供集成方案。
Move 以及 DApp 生态,主要目标是降低开发者的学习门槛以及给开发者提供全栈工具。
多链生态的互操作性,主要目标是尽可能和其他链互通,融入到其他链的生态中去。
其中,箭头表示依赖关系,虚线表示可能的探索方向。
Roadmap contains three main areas:
Layer1, Layer2, Layer3, the main goal is to solve the chain scalability problem and provide integration solutions for DApps.
Move and DApp ecosystem, the main goal is to reduce the learning threshold of developers and provide full-stack tools to developers.
Interoperability of multi-chain ecosystem, the main goal is to interoperate with other chains and integrate into the ecosystem of other chains as much as possible.
Where arrows indicate dependencies and dashed lines indicate possible exploration areas.
Starcoin 团队在团队成立最初的一年多时间里,尝试在 Bitcoin 以及 Ethereum 上试验 Layer2 的方案,并得出了两个基本的结论:
Bitcoin 由于 Script 的限制,Layer1 很难给 Layer2 的交易提供仲裁能力,必须通过复杂的协议,将仲裁逻辑转换成锁模式(哈希锁,时间锁),很难支撑面向 DApp 的 Layer2 的需求。
Ethereum 的智能合约功能强大,但由于它的合约状态都绑定在合约账户内,无法做到跨层的状态迁移以及类型复用。一方面很难实现通用的状态迁移,另外一方面跨层的智能合约之间很难发挥出组合能力,等应用之间的关系进一步复杂就会遇到瓶颈。
所以 Starcoin 团队尝试了一种新的智能合约语言 Move,并先通过模拟 Layer1 的方式来对 Stargate 技术思路进行 PoC 试验,尝试在状态通道中执行智能合约,然后决定做一条新的 Layer1 for Layer2 的公链,在 Layer1 引入 Move 智能合约。
The Starcoin team tried to explore the Layer2 solution on Bitcoin and Ethereum during the first year and came to two basic conclusions:
Bitcoin's Script limitations make it difficult for Layer1 to provide arbitration ability for Layer2 transactions, and the arbitration logic must be converted to lock mode (hash lock, time lock) through a complex protocol, making it difficult to support the requirements of DApp-oriented Layer2.
Ethereum's smart contracts are powerful, but because its contract state is bound in the contract account, it cannot do cross-layer state movement and type reuse. On the one hand, it is difficult to achieve universal state movement, and on the other hand, it is difficult to support the composability of smart contracts across layers, and the bottleneck will be encountered when the relationship between applications is more complicated in feature.
Therefore, the Starcoin team adopted a new smart contract language, Move, and first conducted PoC tests on the Stargate technology idea by simulating Layer1, trying to execute smart contracts in the State Channel, and then decided to make a new Layer1 for Layer2 public chain, introducing Move smart contracts in Layer1.
2021 年 5月,Starcoin 主网上线。经过半年的稳定运行和持续迭代,到现在(2022 年 1月)Layer1 已经初步具备了 Layer2 的关键依赖,所以继续 Stargate 项目的设计与开发,有以下几个关键节点:
EasyGas,实现以任意 Token 支付 Gas 的能力。该特性依赖于链上的 swap。大约在 2022 年第一季度实现。
轻节点,轻节点虽然不保存全局状态,但可以执行交易,校验区块,生成富状态交易。嵌入式轻节点(浏览器或者手机客户端)依赖轻节点的实现,富状态客户端钱包依赖嵌入式轻节点的实现。
分层的混合共识机制,在 PoW 基础上新增一套 PoS 的共识机制,给 Layer1 提供终局性。
Rollup 第一阶段,不考虑 Accumulator 的高可用,主要实现富状态交易的验证,状态的在不同层之间的迁移,以及跨层的合约依赖。
Rollup 第二阶段,将 Rollup 和 PoS 共识整合在一起,解决 Accumulator 高可用和去中心化的问题。
P2P 网络之上的 RPC 框架,这个是一个通用的 P2P 网络服务框架,用来简化 P2P 网络上的 RPC 服务的开发。
基于 Rollup 的状态通道,以及状态通道之上的 DAppService 框架。
基于 Rollup 的 DAppChain 框架。
In May 2021, the Starcoin main network was launched. After half a year of stable operation and continuous iteration, by now (January 2022) Layer1 has the initial key dependencies of Layer2, so the design and development of the Stargate project will continue.
The Stargate roadmap has the following key milestones:
EasyGas, which implements the ability to pay for Gas with any Token. This feature relies on swap on the chain and will be implemented around Q1 2022.
Light nodes, do not keep all states but can execute transactions, verify blocks, and generate rich state transactions. Embedded light nodes (browser or mobile clients) rely on the implementation of light nodes, and rich-state client wallets rely on the implementation of embedded light nodes.
Layered hybrid consensus mechanism, adding a PoS consensus mechanism on top of PoW, providing finality to Layer1.
In the first phase of Rollup, the Accumulator is not considered highly available but focuses on the verification of FullStateTransactions, movement of state between different layers, and cross-layer contract dependencies.
In the second phase of Rollup, Rollup and PoS consensus are integrated to solve the problems of Accumulator high availability and decentralization.
RPC framework on top of the P2P network. it is a generic P2P web service framework to simplify the development of RPC services on P2P networks.
Rollup-based state channel, and DAppService framework on top of state channel.
Rollup-based DAppChain framework.
术语说明
自由状态:在 Move 中,如果某种类型的实例可以由外部 Module 持有,则认为该状态的自由的。
Glossary of Terms
Free state: In Move, if an instance of a type can be held by other Modules, the state is regarded as free.