查看原文
其他

Tempest Labs × Nervos Nation AMA 中文文字稿 | 6 月 30 日

dina.bit CKBfans 2022-07-15
原文链接:https://medium.com/@nervosnation/ama-with-tannr-allard-from-tempest-labs-8c6890d7cc97  
AMA 时间:22 年 6 月 30 日翻译校对:dina.bit

Nervos Nation 社区最近与 Tempest Labs 联合创始人Tannr Allard 举行了一次 AMA,以便了解他们正在 Nervos  Layer1 构建关键基础设施的更多细节。
阅读下面内容,并加入Nervos Nation 英文 Telegram 频道参与更多讨论和 AMA .
Q1:请介绍一下你的背景和个人讯息。
你好,Nervos Nation,感谢所有参与的成员,也感谢 Kevin 的协助。
如你所知,我与其他一些优秀的小伙伴共同创立了 Tempest Labs。我已经在区块链领域工作了一段时间,从 Nervos 测试网发布之前开始我已经在 Nervos 技术栈工作了几年。最近,我也在 MakerDAO 的核心智能合约团队工作,主要负责安全性和验证工作。
Q2:为什么选择在 Nervos 开发?
Nervos 的 Layer1——共同知识库(CKB)——特别适合我们正在构建的特定类型的技术。CKB 的基本状态结构被称为「Cell」,它扩展了比特币的 UTXO 模型,与其他链相比,Cell 模型特别灵活且令人印象深刻。那么,是什么让 CKB 成为首选呢?
作为开发工程师,在选择基础设施时,我们考虑问两个问题。第一个问题是:会不会由于某些原因,基础设施或会禁止我们来构建我们所设想的系统? 第二个问题是:如果这是可能发生的,相对于另一个基础设施,其“发生概率”如何?
在许多链上,比如 Account 和 UTXO 模型,我们是不可能完成我们正在构建的协议的。在其他一些头部 UTXO-模型的链上,虽然 Tempest  某些特性是可以构建的,但实际上还是不可行。
Q3:为什么选择了 L1 而不是 L2?
这有几个原因。首先,考虑到 Tempest 的目标,选择 L2 是不合适的。Tempest 协议的目标是成为一个安全且易于使用的基础设施,能够将数百万开发者带入这个领域(目前,我相信全球 Web3 开发者总数还不到 20K)。最直接的方法就是在 L1 上做,L1 几乎有所有的优势特性。
其次,我认为广义的 UTXO 链能达到的「性能」实际是被低估的。例如,比较 CKB 和以太坊的吞吐量是没有意义的,因为一个由 UTXO 组成的交易仅仅一个“步骤”中都显示了大量的状态变化,这在以太坊上表示出来需要很长的交易序列。所以,在其他所有条件相同的情况下,你开发 L1 dapps  (至少在CKB上是这样),可以在单个 tx 或区块中完成比在其他链更多的事情。简单来讲,我认为我们刚刚触及到 L1 的冰山一角,那为什么要这么早就进入 L2 而徒增更多的复杂呢?
最后,经过大量的实验和研究,很明显,我们现在确实需要 Cell 模型。因此,目前唯一适合我们的 L2 是与 CKB 本身提供的编程模型具有完全相同属性的 L2(译者注:目前 Cell 模型只有 L1 上有,不过团队也在探索在 L2 上建立 Cell 模型的可能性)。
Q4:我听说 Tempest 有自动交易/投资功能,用户是否不需要太多多频交易知识也能使用?
没错,用户不需要成为交易或分析方面的专家,因为自动化网络将代表用户实现他们的最终目标。任何开发者都可以对各种交易策略编码,它们可以作为附加合约提交给网络。
随着越来越多的 dApp 建立在 Tempest 上,Solver 网络可能将使用更复杂的方法为终极用户创造利润。这不仅是我们正在构建的 DEX 的福利,也是在 Tempest 上构建的所有 dApp 的一个优势。
从本质上讲,DEX 是加入某个网络的一个特殊「门户」或「视角」,DEX 部分功能也反应了其一部分能力。
Q5:Tempest Labs 将如何在 Nervos 的 Layer 1 上引入 USDC、BTC、ETH 等加密货币?它们会以交易对出现吗?DEX 的代币是什么?
Tempest 不会特别关注任何交易对——当然了,生态成员可以使用 Tempest 来实现一些特定的交易对,如果你提交了一个没有在 DEX 中 Listed 的两种代币的交易订单,Solver 将试着找到支持该交易对的方法以便用户交易。因此,DEX 中的「交易」可以是 在 CKB 上的任何资产(尽管有些交易对可能没那么好或不容易实现)
不同于其它 DEX ,在其他 DEX 中,交易对以某种方式被「批准」或「列入白名单」,但这不是 DEX 在 Tempest 上的工作方式。这在一定程度上是因为,与许多其他平台不同,我们可以在 DEX 合约中对其它代币的安全属性和要求进行编码,这些合约与 Solver 相结合,将确保这些属性不变。因此我们可以确保,例如,只有具有理想属性的代币才作为交易对添加到 DEX 中,不需要任何手动操作过程。
同时,我们正在研究 Force Bridge,我们正在探索在发布前后使用 Force Bridge 将现有代币注入生态系统的各种交易对进行潜在支持。
Tempest 也有自己的代币,也会在 DEX 中上线 (CKB也是如此) 。
Q6:项目背后的团队实力如何?
我们团队里有很多优秀人才。我们有共同的愿景,那就是希望在领域少一些肤浅的东西,多一些实质的内容。我们都相信长期可持续发展,都相信深入思考的发展,而不是夸张和虚假的声明。
除我之外,团队中有一名全职的高级 rust 开发工程师 Pablo,他在区块链领域工作了一段时间,现已在 Nervos 生态系统工作了两年左右。另一名全职成员 Clint 是电子信息工程专业的5年级博士生。他在随机和动态系统的数学建模、基于代理的建模和模拟以及金融工程方面做了大量工作。我们做出的每一个经济决策都经过一系列计算实验的验证,以确保我们的假设是有充分依据的。另一位联合创始人是 Michael Deakin。他对商业、伙伴关系和人际交往有着惊人的天赋。他曾多次担任创始人,目前管理着业内最顶尖的招聘公司之一。
我们还有第三位联合创始人,他处于匿名状态。关于他我能说的就是,他已经创办并成功运营了多家公司,在多个区块链项目中担任董事/高管级别的职务(其中一些是家喻户晓的项目),我迫切希望他不要再匿名了,这样大家就可以直接和他交流了。
Q7:究竟是什么让 DEX 有自主性,谁应该为熊市负责?
我来回答第一个问题,是什么让它自动化运作,因为我不确定问题的第二问题是什么意思。
首先,我们必须了解 Tempest Labs 正在并行构建两个项目:1.协议本身(它为所有人提供了一种运行处理事务的自主代理的方式);2.基于该协议的 DEX 产品。
可以将该协议视为「自治」 dApp 的「去中心化后端」;通过在 Tempest 上构建 dApp,dApp 本质上是自主的。对于 dApp 来说,「自治」在实践中意味着开发者不需要编写一堆代码来实现他们的业务逻辑。相反,他们只需要以声明指定他们的业务逻辑,而协议将提供该功能。我们可以将其视为「声明性智能合约」的自然延伸。
回想一下,对于基于 UTXO 的链,我们获得了一些切实的好处,例如确定性(交易的整个结果在处理该交易之前是已知的)。但是我们还必须处理链上代码实际上不能改变状态的事实;它仅根据合约中定义的某些规则检查当前合约是否有效。因此,基于 UTXO 的平台上的 dApp 需要软件来生成提交到链上的交易,以及验证由验证器处理的交易。后一种软件就是我们所说的「智能合约」,或者用 Nervos Network 的术语来说,就是「脚本」。
由于脚本仅仅是验证规则,它们自然适合于声明性编程。
声明性编程语言使程序员能够指定他们希望发生*什么*,这与命令性语言相反,命令性语言期望程序员指定虚拟机或计算机应该*如何*完成任务。
虽然声明性编程与 UTXO 结合起来感觉非常自然,但声明性智能合约语言实际上对于任何支持智能合约的区块链都是可行的——不管是否是 UTXO。
Tempest 的不同之处在于,我们进一步扩展了声明性编程的概念:用于使用 Tempest 编写智能合约的声明性语言不仅可以在链上执行以进行验证,而且它还是机器可读的,可以根据合约中定义的规则自动生成交易。
这意味着我们可以为交易生成和验证定义一个接口。即时这样也不够好,所以 Tempest 技术不仅是将声明性代码编译成可构建特定 dApp 交易的软件……这样的代码仍须托管在某个服务器上。它仍是声明性,并不是完全「自治」,因为它是你的服务器,你可以随时修改,并且遵循所有旧规则。
Tempest 比这更进一步,它实际上提供了一个通用网络,称为「Solver网络」。它为用我们的语言编写的任何智能合约系统生成交易。任何人都可以通过运行 Solver 软件来参与这个去中心化的 Solver 网络。
Solver 遵循自己的协议并遵守自己的规则。它们旨在学习和提高代表用户生成交易的能力。
Solver 网络在某种程度上取代了服务器的角色。基于 Tempest 协议构建的各种 dapp 用户通过将他们的「目标」或「意图」提交给 Solvers 与 dApp 交互,然后他们代表用户执行目标。因此,「dApp」实际上只是用我们的语言编写并显示在特定前端的一组行为。
Q8:可以提供哪些服务来帮助其他人在 L1 创建项目?
首先,我们正在为 CKB 开发一个名为「Trampoline」的全栈开发框架。它正在积极开发中,并且已经开源。Trampoline 极大地简化并缩短了构建 dapp 所需的时间。
其次,我们正在开发一种声明性的、基于逻辑的语言,称为「Validity」。这个名字的原因是它的发音与「Solidity」非常相似,但在语法和语义上却大不相同。
第三,Tempest 协议为在网络上编写 Validity 代码的开源开发者提供了创收机会。这一切都是以自动方式完成的。这种建立在网络上的持续收入流,为开源开发人员提供了全新的商业模式。目前,只有当你是 OSS 的公司员工,或申请 gitcoin 赠款或请求捐赠/赞助之类的事情时,才会资助开源开发。其中许多将寻找资金的担子压在了开发人员身上,这在我看来是不幸的。
最后,将上述内容与 Solver 网络相结合,开发人员能够在很短的时间内构建 dApp,而不会损害最终用户的安全性。DeFi 开发通常面临着快速行动和交付的巨大压力。这种压力不利于安全和保障。同时,金融系统比应用程序、游戏、网站等软件需要更高的保证。
例如,传统的金融软件被认为是「关键性软件」,在正确性和保障性等方面有很多要求。区块链现在还太不能达到这些同等的要求(这在无许可系统中很难实施),并且常常会出现大量漏洞和质量低的代码。因此,我们提供了一种在这个领域构建高质量软件的方法,既不会落后,成本又只是其中的一小部分(审计和安全服务通常每年花费项目数百万美元)。
Q9:请问你们公司的哪些因素会影响锁定的字节数量?我知道 CKB 的价值随着链上价值/数据的增加而增加,但是什么是价值/数据?什么可以在  L2  上运行并且永远不会影响 L1/CKB?
Cell 模型的美妙之处在于代码、数据、资产/代币和其他任何东西都可以存储在 Cell 的数据中,而 Cell 的数据容量受到该单元中 $CKB 数量的限制(1 $CKB = 1 字节存储)。因此,随着网络上对任何代币的需求增加,对存储的需求也会增加(因为网络上的任何代币都必须占用空间)。合约也需要存储,因此开发活动也将推动对 CKB 的需求。当然,这对我们有好处,因为 CKB 估值的增加相当于「安全预算」的增加。
许多事情可以使用各种加密结构在 L2 上运行,这些加密结构充当 L1 上的累加器。此时,Tempest 协议的技术要求只能在 L1 上满足。当然,随着对 $CKB 需求的增加,我们将继续努力,负责任地寻找使用现有存储空间的方法。
Q10:Cell 模型和/或 Nervos 的特性使项目的哪些功能成为可能?听到一些有潜力的未来发展也很棒。
在我们的合约中强制执行更高阶属性的能力纯粹是由于脚本能够自省整个交易。例如,你可以编写一个脚本来强制执行「只有当所有代币 X 都存入一个只接受具有上限的可替代代币的保险库时,交易才有效」的规则。请注意,该规则在代币 X 的脚本中,它与保险库无关,而是与保险库将来可能与之交互的其他代币有关。这些类型的高阶属性实现了全新自动化水平,这是人们尚未在其他平台上实现的。
所以这种表达是由 Cell 模型实现的。
Cell 模型支持的另一方面是安全的可组合性。实际上,这不是严格意义上的 Cell 模型,而是交易模型,它包括「依赖」字段,这些字段可以包含单元,而不必「花费」这些单元。我们充分利用了这一点,因为它允许我们用额外的有意义的信息来丰富交易(在其它 UTXO 链中,让 UTXO 进入交易的唯一方法是使用它——即使您只想查看 UTXO 中的一些数据)
最后,CKB 的虚拟机足够低级别,我们有能力很自然地实现很多自定义逻辑和语义。
Q11:Tempest Lab 的工作会为 L1 上更多 dapp 铺平道路吗?(如工具、框架、文档等)
是的。如上所述,我们正在构建工具和框架(trampoline)、编程语言(validity)、开发人员基础设施(solvers ),并且正在积极地为 Tempest 特定的技术以及整个CKB开发文档、维基和教程做准备。
Q12:你认为在 Nervos 的 L1 上构建的主要挑战是什么——特别是对于来自EVM/Solidity领域的开发者来说?
在性能 + 灵活性和易用性之间进行权衡。CKB 编程模型比以太坊开发者习惯的编程模型要更底层,因此从以太坊上的智能合约开发到 CKB 上的智能合约开发是一个非常重大的转变。
此外,它非常灵活,以至于切换过来的好处并不总是很明显。要让某人切换到新的技术堆栈,仅仅*和替代方案一样好*是不够的,因为切换会花费时间、精力并产生机会成本。因此,转换必须物有所值。这来自于实现全新的可能性,或提供巨大的改进。
我认为,总的来说,作为社区成员,我们都知道 CKB 因其灵活性而支持全新类别的去中心化技术——我们今天在座的许多人都曾在某个时候提出过这样的主张。然而,如果有人问你:「哪些是 CKB 在 dapp 中能实现,而在以太坊中不可能实现的?」你能回答吗?
有一阵子,连我都做不到。直到我深入研究以太坊并开始萌生创建 Tempest 的想法(这意味着我亲自寻找了许多问题的解决方案),我才对它在 dApp 级别启用的各种功能有一个非常清晰和明确的认知,这些功能在其他链上是不可能实现的。
所以,我认为这是主要的挑战:也是开发人员提出的一个点——CKB 更不容易上手,它更加底层且需要更多的技能,而且对于习惯于以太坊的开发人员来说是陌生的——这是一个艰难的点。
Tempest 展示了迄今为止不可能实现的多种功能,希望我们在 Tempest 构建的技术将足够令人信服。

AMA 后的问题
Q13:感谢 Tannr 提供如此全面的答案。Trampoline 是否允许轻松创建具有可定制功能的 sUDT?我记得你不久前分享过一张截图。
A:是的,Trampoline 确实内置了对 sUDT 交互、部署和扩展的支持 :)
Q2:将来在 Solver和 Batcher(例如使用 Cardano 的 DEX 的解决方案)之间进行一些比较会很有趣。UTXO 不断被吐槽需要一个集中的链下解决方案来处理交易,例如 Uniswap 风格的 DEX。我认为这将是一场有趣的辩论,可以让您在该领域获得知名度。
A:是的,这会很有趣。我已经阅读了每篇 Cardano DEX 包含的文章,它们都有某种形式的批处理。我看到的主要区别是 Solver 正在遵守由激励机制定义的特定“规则”,而且它们是通用的,因为它们将构建任何交易,而不仅仅是与 DEX 相关。
(完)

往期回顾





BlockJam2022 ③ | 针对初学者的分享:账户和地址 & 如何在 Godwoken 使用 MetaMask
BlockJam 2022 ② | 是什么让 Nervos Network 与众不同 by Kylee 中文字幕版
BlockJam2022正式开幕,开营仪式① | 中文字幕版



了解 Nervos :
官网:https://www.nervos.org/
CKB浏览器:https://explorer.nervos.org/

相关中文渠道:
Nervos 公众号:搜索 字节元CKB  / CKBFans
Discord:https://discord.gg/X2VGqQX6zT
电报群:https://t.me/NervosNetworkcn
字节元宇宙推特:https://twitter.com/CKBMeta

如果你是开发者,可以参考以下文档:
github:https://github.com/nervosnetwork/
技术论坛:https://talk.nervos.org
中文技术文档:https://docs.ckb.dev

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存