在这篇文章中,我们分析了单写原则应用是如何工作的和它们能实现什么,以及最关键的“为什么 Sui 将有机会构建 Web3 中最快的应用程序?
原文:Trace推特
编译:深潮 TechFlow
虽然很多人都看好 Sui,但他们其实并不知道 Sui 在协议实现中的一个最重要的功能:单写原则应用。
在这篇文章中,我们分析了单写原则应用是如何工作的和它们能实现什么,以及最关键的“为什么 Sui 将有机会构建 Web3 中最快的应用程序?
Sui 是如何处理交易的?
Sui 有一个双重共识模型——依赖交易是按顺序排列和处理的,而独立交易是并行执行的。
依赖交易利用了新颖的 Narwhal 和 Bullshark 协议处理。Narwhal 是一个内存池协议,而 Bullshark 是一个共识协议,与 Narwhal 有效整合以达成共识。
依赖交易模型只需要与它们所关联的其他事务按顺序执行。Sui 将它们分批整理,同时并行执行每一批。
Sui 最初计划使用 Narwhal 和 Tusk,但最近将 Tusk 换成了 Bullshark。
Tusk 和 Bullshark 是类似的共识协议,但 Bullshark 的吞吐量略低,速度更快。
Narwhal + Bullshark 的速度非常快(约 2 秒)。
不过,当交易完全独立时,Sui 的真实速度才会显现出来。对于这些交易,Sui 并没有使用 Narwhal + Bullshark,它使用一种不同的方法,叫做拜占庭一致广播(BCB)。
在此路径中,网络无需全局共识即可提交交易,使其几乎可以立即处理交易。
请注意,这并不会导致安全性或有效性保障的减弱。
Sui 交易模型有 2 条路径:
- Narwhal + Bullshark 用于因果关系的依赖交易(约 2 秒的延迟)
- BCB 用于独立交易(几乎是即时的)。
那么,Sui 上的交易何时是独立的?
在 Sui 中,存储的基本单位是对象,而不是账户。对象可以是 NFT、DeFi 协议、游戏,或者其他任何你想建立的东西,每个对象都有一个 "所有者 "属性,指定谁可以与该对象交互。这里有 4 种不同类型的所有权:
1) 由一个地址拥有(这就是你在 Sui 上 "拥有 "东西的意思,例如:代币)。
2) 由另一个对象拥有(例如:一个 NFT 是另一个 NFT 的一部分)。
3) 不可变的(没有人可以改变它,任何人都可以与它互动)。
4) 共享(任何人都可以读取或写入该对象。 例如:AMM )
那么,这些所有权类型如何融入 Sui 的双重共识?
与共享对象的交易需要被排序——因为用户可以改变他们所交互的对象,所以交易的排序很重要。
但是,如果一个对象归某个地址所有,那么只有这个地址可以在交易中使用它。如果所有者想与他们的对象进行交互,它完全独立于其他交易,这意味着它可以使用 BCB。
任何只有一个所有者的 Sui 应用程序或对象,几乎可以立即执行与该对象互动的交易。
这意味着 Sui 支持以 Web2 速度运行的 Web3 应用程序,Mysten Labs 将这些应用程序称为 "单写原则应用"。
当然,并不是每个 Web3 应用都可以写成单写原则应用。
实际上,大多数流行的应用程序,如 DEX 和货币市场,必须有多个写入者,与这些协议的交互可能需要几秒钟的时间来处理。
但是,Sui 支持一长串的单写原则应用,这些应用将提供无与伦比的 Web3 体验。
下面是一些最令人激动的潜在的单写原则应用:
Sui Pay:
资产转移只需要一个所有者,使其能够利用 BCB。
开发人员可以建立一个利用 Sui 进行快速支付的支付平台,同时将他们的资产保持在一个可组合的 Web3 生态系统内。
公共布告栏:
用户可以在链上发布数据、文件或文本,并互相阅读对方的信息。注意 Sui 的存储模型消除了导致状态膨胀的问题。用户要支付数据存储费用,并可以随时删除数据以获得退款。
消息服务:
消息和响应可以在 Sui Move 中被编程为单写原则 NFT,使其能够利用 BCB,应用程序和用户可以以极快的速度交换信息。
社交网络:
与消息传递服务类似,社交网络的所有功能都可以设计为单写原则 NFT,例如帖子。
非互动游戏:
像许多单人游戏一样,不涉及共享对象的加密游戏可以是单写原则应用,性能一直是 Web3 游戏的一个关键瓶颈,而 Sui 的架构将有助于释放其潜力。
预言机报价:
预言机数据源的更新速度越快,DeFi 市场就越有活力。预言机数据馈送完全可以被编写为单写原则应用,为借贷市场、预测市场和其他受益于高数据流的应用提供新的机会。
对速度极快的单写原则应用的支持是 Sui 最强大的功能之一,我已经迫不及待地想要看到未来在 Sui 上会出现什么样的应用了。