Web3行研会分享(2023/03/31期):探索 Celestia 的核心技术与最新进展(In Chinese)

YouTube:

Bilibili:


Celestia 在线分享笔录第一部分——核心概念

Celestia Online Sharing Transcript Part 1 - Core Concepts

第二部分:白皮书中的核心技术

Part2:Core Technology in Whitepaper

第三部分:最近进展,测试网和翻译

Part3:News and Progress, Testnet Practice and Translation

第四部分:市场评估

Part4:Market Evaluation

(后面三部分暂时不打算弄了,因为实在太长,而且技术有关的东西,也需要演示,感兴趣的朋友请看视频)

( I don't plan to work on the remaining three parts for now because they are too long and also involve technical demonstrations. Interested friends please watch the video. )


Host:

欢迎大家来到我们 web3 行研会每周的分享,这次非常高兴是来自 w3.hitchhiker 的 hyot,为我们带来 celestia 的技术的分享。
Welcome everyone to our weekly sharing at the web3 research seminar. We are delighted to have Hyot from W3.Hitchhiker to share with us about the technology of Celestia.

Speaker:

大家好,我是 W3 的技术合伙人 hoyt,很高兴今天 web3 行研会提供这么一个机会,让我来分享 celestia 相关的一些核心技术和进展。
Hello everyone, I'm Hoyt, the technical partner at W3. I'm delighted to have this opportunity at the web3 research seminar today to share with you some of the core technologies and progress related to Celestia.

我们 w3 团队是一个小的投研团队,也是一个一级基金,目前主要的人员来自传统的金融机构,互联网以及游戏大厂,推崇技术导向的基础设施协议,致力于和项目方共同成长。
Our W3 team is a small research and investment team, as well as a first-tier fund. Currently, most of our team members come from traditional financial institutions, famous internet entities, and large gaming companies. We advocate for technology-driven infrastructure protocols and are committed to growing together with project teams.

来这个会讲的一般都是项目方,但我们不是项目方,所以我先把项目方介绍一下。
Meet the team:

https://celestia.org/team/

Usually, the speakers at this seminar are project teams, but we are not the project team. So, let me introduce the project team first.

因为今天时间有限,我就不详细介绍,第一排就是一些创始人,第二排主要就是核心的开发人员,然后下面还有一些其他的比如说 yas,是社区的主要的沟通者,基本上算是发言人,包括项目方的在线会议一般都是由他来主持,然后其他还有一些像在 discord 上面,一直测试网为大家服务的 pops 的几位运维的大牛,我跟这上面还对不上号,我也不是特别清楚,所以大概的一个项目方的介绍就先到这里了。
Due to time constraints today, I won't go into detail. The first row consists of the founders, and the second row mainly includes core developers. There are also others need to be mentioned, such as Yas, who is the main communicator in the community and serves as a spokesperson. He usually hosts online meetings for the project team. Additionally, there are some experts in operations and maintenance, such as Pops team, who have been helping the community very well on the testnet on Discord for a long time. I'm not very familiar with all of them, so this is a brief introduction of the project team.

回到今天的项目这一块,那么先说一下什么是 celestia。 celestia 是一个专注于模块化的公链项目,那么在区块链的领域,这个模块化是一个怎么样的概念,也是一个新提出来的概念,我们稍后会花时间来重点讲一下这一块。
Moving on to today's project, let's first talk about what Celestia is. Celestia is a public chain project that focuses on modularity. In the field of blockchain, modularity is a new concept that we will spend some time later on to discuss in detail.

其实很多人了解 celestia 主要是从数据可用性的这一块进来的,之前的很多中文的介绍材料都是集中在数据可用性这块,我今天提出来这一点,其实也是想跟大家更正一下,大家都有一个误解,其实 celestia 核心的这一块是在模块化,我稍后会详细展开来讲。
Actually, many people came to know about Celestia mainly from the aspect of data availability. Many Chinese introductory materials about Celestia have focused on this aspect. Today, I want to point out that there is a misunderstanding among many people. In fact, the core of Celestia is modularity, and I will explain this in detail later.

然后说到数据可用性,其实这也是大家长久以来的一个很大的误解,什么是数据可用性?
Speaking of data availability, it has been a longstanding misunderstanding among many people. So what is data availability?

大家一直认为是说数据可以从网络中下载到,随时可以下载到,这个是数据可用,这个望文生义就很明白了,但是其实这个不是 celestia 所定义的数据可用性的概念,celestia 定义的数据可用性,是说数据没有被出块者隐瞒,这个可能就不是很好理解,如果对比 BTC ,对比 ETH 来说,这是个什么意思?这数据怎么会被隐瞒了,你一个块出来要做共识对不对?你肯定得发到网上,那怎么会有隐瞒的情况,所以其实是跟链的一个安全模型是有关系的,就像 BTC,ETH 这种它的安全模型,大家可以看到它是一个基于多数诚实假设的要求,链上大部分节点是诚实的,通过一个拜占庭容错的机制来确保。在这个链当中大部分的节点,都是全节点,轻节点是没有什么安全性的,它们是这样一种情况。
Many people have always believed that data availability refers to the ability to download data from the network at any time. However, this is not the definition of data availability in Celestia. Celestia's definition of data availability is that the data has not been hidden by the block producer. This may be difficult to understand. If we compare it to BTC or ETH, what does it mean for data to be hidden? Don't you need to broadcast the block for consensus? Therefore, this is related to the security model of the chain. Just like BTC and ETH, their security models are based on the assumption of the majority being honest. Most nodes on the chain are honest, and this is ensured through a Byzantine fault-tolerant mechanism. In this chain, most of the nodes are full nodes, and light nodes do not have much security. They are in such a situation. celestia

就完全是另外一种假设,它假设多数节点是不诚实的,目的主要是为了支持轻节点。轻节点顾名思义就是说它不会下载全部的数据,它只会有一部分数据,一个轻节点如果是连接到比如说 n 个全节点,那么在 n 个全节点中,只要有一个是诚实的,那么轻节点的安全就可以在很大程度上得到保障。它是这么一个概念。既然它没有完整的数据,他怎么知道数据是真正被发布到网上了,他怎么来确认这一点呢?所以这个就是一个数据可用性的概念。
Celesita is a completely different assumption, where it assumes that most nodes are not honest, and its purpose is mainly to support light nodes. A light node, as the name suggests, does not download all the data, it only has some of the data. If a light node is connected to, for example, N full nodes, as long as one of them is honest, the security of the light node can be largely guaranteed. This is the concept behind it. Since the light node does not have all the data, how does it know if the data has really been published on the internet and how does it confirm this? So, this is a concept of data availability.

对全节点来说是没有这个问题的,轻节点会有这个问题,那么为什么要有轻节点,这就是为了做数据扩容。如果你链上都是全节点的话,大家都要参与共识,大家都要把所有的数据从头到尾处理一遍,那么要协调这么多的节点,要保证链的安全的话,扩容是非常难做的。
For full nodes, this is not a problem, but for light nodes it is. So why do we need light nodes? It is for data scaling. If all the nodes in the chain are full nodes, everyone must participate in consensus and process all the data from beginning to end. Coordinating so many nodes and ensuring the security of the chain makes scaling very difficult.

这是现在 ETH 面临的一个突出的问题,那么 celestia 就提供对轻节点的支持,来达到扩容的目的。但是这个数据可用性我刚才讲了,它其实不是 celstia 最核心的一块,为什么?等一会儿也会要讲到,那么它真正最核心的一块,是模块化,模块化也是个新概念,是个什么意思呢?
This is a prominent problem that ETH is facing now, and Celestia provides support for light nodes to achieve scalability. However, as I mentioned earlier, data availability is not actually the most critical part of Celestia. Why? We will talk about it in a moment. The truly core aspect of Celestia is modularity, which is a new concept. What does modularity mean?

**就是说像 ETH 这样的链大家都知道它是在一条链上面把执行层、结算层还有共识,包括数据的存储这些东西,它都打包在一起了,我们把称为整体的链或者是集成的链,它每一条链都有完整的端到端功能,包括 ETH 也好,像什么 AVAX 这些对吧,它都是这样一种形态的。
**In other words, chains like ETH integrate the execution layer, settlement layer, consensus, and data storage into one chain. This integrated chain is referred to as monolithic chain, where each chain has complete end-to-end functionality, including ETH, as well as other chains like AVAX.

Celestia 就提出来一种新的形态,就是我一条链只做这其中的一种功能,就比如我这条链只做共识,我这条链只做执行,我这条链只做结算这样的,就把整体的链的功能做了打散,这样有什么好处?从技术上看,打散以后,我每一个技术团队,我可能精力是有限的,我只负责我自己最擅长的那一块,比如我擅长做执行提高效率,那么我就只做执行这一块。然后我不用去考虑太多对链的整体的影响,就精力会更集中一点。
Celestia proposes a new approach where each chain only performs one of these functions. For example, one chain may only handle consensus, another may only handle execution, and yet another may only handle settlement. By breaking down the functions of the integrated chain, it has several benefits. From a technical perspective, breaking down the chain allows each technical team to focus on their core strengths and responsibilities. For instance, a team that excels in improving execution efficiency can concentrate solely on the execution aspect, without needing to consider the overall impact on the chain. This approach enables teams to better concentrate their efforts and resources on a specific function.

现在 ETH,比如你想要实现一个功能,那么首先要社区讨论,然后要 EIP,又要开发客户端,要上测试网测试,最后你要等待一个发布的时机,这个功能才能上线。这样就会拖得比较长,可能一年两年前你要一个功能,到现在还没出现,这样对技术的发展就会有一定的阻碍。所以 celestia 这个模块化想要解决的一个问题,我相信大部分做技术的朋友可能会更喜欢这样一种,更专注于自己那一块的方式。
Currently, for ETH, if you want to implement a new feature, you first need to discuss it with the community and create an EIP. Then you need to develop a client, test it on the testnet, and wait for the feature to be released. This process can take a long time, and the technical development can be hindered. Celestia's modularity approach aims to address this issue. I believe most technical professionals would prefer a more focused approach, where they can concentrate on their core expertise, and avoid being slowed down by the overall development process.

下面我们说回到 celestia 整个架构提供一些什么样的特性?主要就三个特性,首先最重要是安全性,就是刚才讲了它是最小诚实假设的这么一个模型。然后还有扩展性,通过做模块化来提供的扩展性,以及吞吐量的问题,最后他又提出来一个概念是链的主权的问题,主权问题我们也等一下再详细来讲。
Let's talk about the features provided by the Celestia architecture? There are three main features. Firstly, the most important one is security, as we mentioned earlier, it is based on the dishonest-majorities-assumption model. Secondly, there is scalability, which is achieved through modularity. There is the issue of throughput also. Finally, the concept of chain sovereignty is introduced, and we will discuss this in more detail later.

首先说安全性的问题,共享的安全性的话,它是一个什么意思?就是说由不同的模块或者是不同的应用加入到整个网络里面来,每个应用每个网络它可能只关心自己的数据,但是它在维护整个网络的安全性的时候,它是不分彼此,大家是共同来维护网络安全。比如它在数据采样的时候,它不是只采样自己的数据,它在用数据的时候它只下载自己的数据,但是它在数据采样的时候,它实际上是会去下载别人的数据来来做采样,但是采样的数据只是整体数据的很小的一部分,就不会对它带来特别大的负担,那么大家这样来共同维护链的安全性。
First, let's talk about the issue of security. What does "shared security" mean? It means that different modules or applications are joined together in the network, and each application or network may only care about its own data. However, when maintaining the security of the entire network, everyone works together to maintain network security. For example, during data sampling, it does not only sample its own data. When using data, it only downloads its own data. However, during data sampling, it actually downloads other people's data to do sampling, but the sampled data is only a small part of the overall data, so it won't bring a particularly large burden to it. In this way, everyone works together to maintain the security of the chain.

然后反复说了,基于最小诚实假设。那么它对于安全性的要求就是不要求多数节点诚实,就是只要求连接到的节点中一部分是诚实的就可以了,所以这样它在某一个方面来说是会比 eth 这样更安全一些,但是它有相对来说没那么好的地方,在后面我们再讲,这些就是安全性的一块。
I emphasize again that Celestia's security is based on the dishonest-majorities-assumption. This means that it does not require the majority of connected nodes to be honest, and only a portion of the nodes need to be honest to ensure security. In this aspect, Celestia may be more secure than Ethereum. However, there are also drawbacks to this approach, which will be discussed later. This concludes the discussion on the security aspect of Celestia.

然后还有扩展这一块,它主要就是通过刚才说的模块化的这样一个方式来实现的。然后他认为这样,比如链上做执行的项目可能有两三家,然后做共识,做结算的项目可能又有两三家,那么你如果是做应用的话,你可以根据你自己的需求,来选择不同的项目来进行组合,最后做成一个端到端的,给用户提供服务的一个应用。
The next aspect is scalability, which is mainly achieved through modularization as mentioned earlier. The idea is that there may be two or three projects that handle execution on the chain, and another two or three projects that handle consensus and settlement. As an application developer, you can choose different projects based on your own needs and combine them to create an end-to-end application that provides services to users.

那么它跟 ETH 这种就很不一样,ETH 本身它就提供了完整的功能,你拿着这一条链,就可以直接在上面开发合约,做应用,开发 DAPP 什么的,你就直接可以做了。但是 celestia 是不行的,它这样一个模块化的概念之后,它 celestia 的主链只是承担了一个简单的共识,和数据可用性的功能,其他的功能它是没有的。所以你只是用主链的话,你几乎什么也做不了,你只能做一些像存储这样的,业务逻辑非常简单的这样一些应用,所以这个是很不一样,那么现在就需要两方面,一个是要有项目组来提供其他的一些模块,另一个是要有人来把这些模块给串起来,这是 celestia 要面对的两个问题。所以为什么大家一直觉得 celestia 项目提出了这么久,好像也很难落地,好像有点空,就是这个原因。因为项目组,就 celestia 自己项目组它是不愿意去做。其实这是他的理念,他是不愿意去把所有的这些功能都做了,一是他自己精力有限,他不认为他能够做到有竞争力。二是如果什么模块都有一个官方的,可能就挤占了第三方的一些发展空间,这样就不利于整个社区生态的繁荣,所以这个是他的理念。
Compared to Ethereum, Celestia is very different. Ethereum provides a complete set of functionalities, so developers can develop contracts, applications, and DApps directly on the chain. However, Celestia cannot do this. After introducing the concept of modularity, the main chain of Celestia only provides simple consensus and data availability functions, and lacks other functionalities. If you only use the main chain, you can hardly do anything, except for some very simple applications with simple business logic, such as storage. Therefore, there are two issues that Celestia needs to address: one is to have project teams to provide other modules, and the other is to have people to integrate these modules. This is why people have felt that Celestia has been proposed for so long but has yet to be implemented. This is because the Celestia project team is not willing to do everything. This is their philosophy. First, their own resources are limited, and they don't believe they can be competitive in all areas. Second, if there is an official module for everything, it may squeeze the development space of third parties, which is not conducive to the prosperity of the entire community ecology.

另外,说到吞吐量,大家知道 celestia 它的所谓的吞吐量,它是没有执行,然后又没有结算,没有这些东西,然后他就说他吞吐量很大,有人就会觉得就很没有意思,你这个什么都不做,然后你吞吐量很大有什么意思?但其实这个不是bug,这是一个特性,为什么这样说呢?比如说执行,你需不需要这个是看你的应用的需求。假如说你真的只是做像存储这样的应用的话,那么你其实不需要执行对不对?那么确实它可以实现很高的吞吐量。如果是在 ETH 上面?你要实现一个存储,即使这么简单的功能,你还是要去弄一个合约,做一些接口,你还要走 calldata ,费用又很高,就减不下来,已经那么复杂了,就是上去了,就下不来,有这个问题。然后假如你这个应用,你真的需要执行层,或者结算层什么的,那么你去选择一个高性能的执行层,选择一个高性能的结算层。刚才说了可能有那么两三家在竞争的,你去选择一个最好的,最有利于你的一个项目,这样对项目方来说,他们就也有一个竞争。适度的竞争,也会促进整个技术的发展,所以 celestia 的理念是这样子。
Regarding throughput, you may know that Celestia claims to have a high throughput, but it doesn't involve execution or settlement. Some people may think it's not meaningful to have a high throughput when you're not doing anything. However, this is not a bug, it's a feature. Whether you need execution or not depends on your application requirements. For example, if you're only doing storage-related applications, you don't need execution, and it can achieve a high throughput. However, if you're on ETH, even if you're implementing a simple storage function, you still need to create a contract, do some interfaces, and use calldata, which is expensive and complicated. If your application really needs execution or settlement, you can choose a high-performance execution or settlement layer. As mentioned earlier, there may be two or three competitors to choose from, and you can choose the best one that suits your project, which will promote competition and the development of technology. This is the philosophy of Celestia.

再就是主权的问题,它认为有两方面的主权,一个是说你的状态的最终确认的一个主权。比如说 ETH 上,APP 是在二层的话,你提交到主链上面,有一个合约来验证你,然后如果这个合约通过的话,那么 ETH 的基本的逻辑,6个块以后,你链的状态固定下来,就认为你是完全有效的这么一个状态,那么最终有一个合约来验证。可能因为突发情况,或者临时情况,你以前合约里面没考虑到的一些东西,你现在验证不通过,即使整个社区都认为应该是这样子,但是你没办法,做不了,你要先升级合约对吧?等等。
Another issue is the sovereignty. Celestia believes that there are two aspects of sovereignty, one being the sovereignty over the final confirmation of your state. For example, on Ethereum, if your app is on layer 2 and you submit it to the main chain, there is a contract that verifies it. If the contract passes, Ethereum's basic logic is that after 6 blocks, your chain state is fixed and considered to be a completely valid state, verified by the contract. However, due to unforeseen or temporary circumstances, some things that were not considered in the previous contract may now cause the verification to fail. Even if the entire community thinks that it should be verified, you cannot do it, and you need to upgrade the contract.

那么 clestia 就认为,你为什么要这样?就是认为链的一个基本的概念,你加入一个网络,加入一条链,那么你认可链上面的一些数据,这个数据才对你有意义,如果大家都认可这个数据,大家就达成了共识,所以根本上是一个社区的共识,而不是需要一层的链来做监管这样的一个东西。
Celestia believes that the fundamental concept of joining a network and joining a new chain is based on the community's consensus on the data on that chain. The data on the chain is only meaningful to you if you agrees on it, so do everyone in the community. Therefore, it is fundamentally a consensus of the community, rather than a need for a layer of chain to act as a regulator.

但一层监管就是因为大家都已经认可了 ETH,所以你利用一层监管。但是在 celestia 看来,对于很多应用场景来说是没有必要,如果社区自己可以决定什么样是规范链,那么 celestia 来说,传上来的数据我照单全收,只要是你有签名的我照单全收,然后我再把这个数据吐回给你的网络中的节点,至于你这些节点认不认可这些数据,这些节点你们自己社区说了算。所以说这个是一个最终状态的主权。
But the reason for the first layer of supervision is because everyone has already recognized Ethereum, so you can use first-layer supervision. However, from Celestia's perspective, for many use cases, it is not necessary. If the community can decide what is the canonic chain, then for Celestia, it will accept the data you send as long as you have a signature, and then it will return this data to the nodes in your network. As for whether these nodes accept this data, it's up to your community to decide. Therefore, this is a matter of final sovereignty.

还有就是功能升级的主权。功能主权是什么意思?功能指的是,比如 ETH 就是 EVM 我想增加一个操作码。那也就是刚才说的,就一整套的复杂流程你要去走,你要考虑方方面面的一些事情,升级做起来就非常得麻烦。celestia 就不这样,因为模块化,每个人专注自己的这一块,你想做什么功能你就做,就放到市场上就市场来检验。大家认不认可你的功能,就看市场就好了。这样就很简单,很直接,你就有一个自由升级,自由分叉的这样一个主权。celestia 它认为就是这两方面来构成了主权。
Another aspect of sovereignty is the ability to upgrade functionality. What does functionality sovereignty mean? It refers to the ability to add new functionalities to a system, such as adding an opcode to the EVM in Ethereum. However, this process can be complicated and requires a lot of considerations. Celestia takes a different approach by using a modular system, where each person focuses on their own area of expertise. If you want to create a new functionality, you can do so and put it on the market for evaluation. Whether or not your functionality is accepted by the community is determined by the market. This approach is simple and direct, and it provides the freedom to upgrade and fork the system as needed. Celestia believes that these two aspects together constitute sovereignty.


声明:本文内容仅供参考、交流,不构成任何投资建议。若存在明显的理解或数据的错误,欢迎反馈。

本文内容系 W3.Hitchhiker 原创,如需转载请标明出处。

商务合作:rex@w3hitchhiker.com

官网:https://w3hitchhiker.com/

W3.Hitchhiker 官方推特:https://twitter.com/HitchhikerW3

Subscribe to W3.Hitchhiker
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.