原文:《主网上线在即,如何向你的朋友介绍Sui Network?》
4月15日,OKX、Bybit、Kucoin 等交易所宣布将上线Sui Token ,相关交易所均有推出 Sui Token 的WL白名单的认购机制。Sui Network 主网上线更进一步,但Sui 究竟是什么以及它是如何工作的,很少有详细的解释。本文来自Sui ecosystem 的核心团队成员ALEX MAC'EVOY,由Sui World 编译,Sui ecosystem是 Move Accelerator 的合作伙伴之一。(相关阅读:《Sui对标Aptos至少涨10倍?速览如何参与代币销售?》)
首先,我们需要了解“区块链”,区块链的另一个定义是分布式数据库或分类账本,最接近的类比是云服务,有几家行业巨头,如谷歌、亚马逊和微软,为全球数百万项目和公司提供数据存储和计算能力。云本质上是共享资源以充当单一平台的服务器聚合。
但是,依赖中心化的云服务意味着一些限制:
1)使用的服务器可以被平台关闭;
2)隐私性被牺牲。
区块链能够解除以上的限制,提供去中心化服务,简而言之,没有一个人或公司控制区块链网络和数据,区块链由连接到它的所有机器或服务器维护,只要这些服务器中的一小部分仍在连接和运行,网络就无法关闭。 在 Sui 上,我们将这些服务器称为「validators」验证者,因为它们验证区块链上的交易。
Sui 是一个layer1 的区块链,这意味着它是一个基础级别的区块链,其软件运行在一组独立维护的「validators」验证者上。 相反,layer2 或更高级别的区块链是对 layer1 区块链的补充。layer2 区块链可能构建在 layer1 之上,以增加可扩展性或添加原链上中不存在的功能。
这张 Sui 网络架构图显示了应用程序如何将交易发送给验证者进行验证
接下来解释「proof-of-stake」的概念,支持区块链的验证者必须就发生的哪些交易是有效的达成一致,这一过程称为共识。当一个公司运行所有服务器时,共识不是问题,但当有许多独立运营商时,必须有一种机制让他们就批准交易时达成一致。「proof-of-stake」机制本质上是让这些独立运营商证明他们有权批准交易的凭证。
运行支持 Sui 区块链的「validators」验证者独立运营商也应该为他们的付出获得回报,因为运行服务器需要花钱。Sui 通过链上原生Token —— SUI 来奖励这些验证者运营商。
也可以将 Sui 视为类似于 Linux、Windows 和 macOS的操作系统。构建者可以在这些操作系统上编写运行的应用程序。 在 Sui 上,构建者使用一种相对较新的编程语言—— Move。具体来说,Sui 使用了一种我们称之为 Sui Move 的变体,这与其他区块链的通用编程语言比如 Rust 和 Solidity 是完全不同的。
Sui Capys 是一款在 Sui Devnet 上发布的游戏,每个 Capy 作为一个对象存在于 Sui 网络上。
涉及共享对象的交易必须由区块链上的验证者批准,这是一个资源密集型过程,在大多数区块链上,所有对象都是共享的,因此每笔交易都必须经过这个审批流程,导致所需要花费的时间成本和经济成本提高,Sui 上的许多交易都涉及简单的一对一交换,从而降低了资源成本。
为了获得更多技术性,每个 Sui 对象必须具有以下字段:
Unique ID:类似于以太坊上的哈希或合约 ID;
版本:显示对象的交易数量,从1开始;
交易摘要:表示包含该对象作为输出的最后一笔交易;
Owner 字段:显示所有者,可以是账户地址、另一个对象、不可变的或共享的
当然,构建者可以通过包含其他字段来自定义对象, Sui 允许在对象设计中发挥大量的创造力。
作为一个流行的用例,构建者可以创建一个由对象组成的游戏。例如,在赛车游戏中,玩家的汽车就是一个对象,玩家拥有该对象,游戏中的汽车可以改装,因此玩家可以添加油漆工作、更改轮胎、升级增压器等,使汽车更具有竞争力。这些升级中的每一个都是一个单独的对象,当玩家获得并添加到汽车时,这些对象将在 Sui 的中归汽车对象所有。
我们在上面提到了共享和拥有的对象,让我们更深入地了解 Sui 如何使用这些不同类型的对象处理交易,当提到 Sui 验证交易的验证者时,我们提到了共识,Sui 只需要对共享对象达成共识,涉及拥有对象的普通交易不需要达成共识。
拥有的对象不包含在区块链的“块”中,他们使用简化的算法直接与 Sui 上的验证者交互,由于这种架构,拥有的对象交易几乎是瞬间发生的,实际上,这些简单的交易可能涉及一名玩家在赛车游戏中向另一名玩家赠送汽车、某人向社交网络发布消息或在投票中提交投票。
Sui 新颖的共识机制可以执行简单和复杂的交易,前者需要的资源更少,处理速度非常快
Sui 是如何进行验证简单交易的?
1)发送者向所有 Sui 验证者广播交易;
2)每个 Sui 验证者都会对该交易进行投票,每个投票都有一个基于验证者的质押的权重;
3)发送者将对抗拜占庭式的多数选票收集到证书中,并将其广播回所有 Sui 验证者,该操作处理交易,将其记录在Sui 上,并确保交易不会被删除或者撤销。
面对更复杂的交易,Sui 是按照如以下步骤进行验证的:
1)发送者向所有 Sui 验证者广播交易;
2)每个 Sui 验证者都会对该交易进行投票,每个投票都有一个基于验证者的股份的权重。
3)发送者将抗拜占庭式的多数选票收集到证书中,并将其广播回所有 Sui 验证者。然而,这一次,证书通过称为拜占庭协议的过程进行排序,验证者必须在该过程中达成共识,一旦交易成功排序,发送方将证书广播给验证者以结算交易。
如上所述,单个交易绕过共识并几乎立即处理。使用共享对象的交易必须经过共识。如果 Sui 使用共享对象同时处理许多交易,则每个共识必须按顺序发生,这可能会延迟交易。 大多数其他区块链只允许后一种交易类型,并且无法绕过共识。
Sui 的分布式计算模型更像是传统的云服务,而不是典型的区块链。许多区块链使用代币经济学模型来控制服务器负载:随着负载的增加,gas 费用也会增加。更高的GAS 费减少了交易数量,因为用户只能支付特定金额。
随着 Sui 上负载的增加,验证节点可以简单地增加更多的处理能力,类似于 Amazon Web Services 在客户端流量增加时可能添加更多服务器的方式。验证节点可以赚取更多的Gas费而不是花费更高,所以会被激励增加验证服务器。这种模式不仅让 Sui 规模化以支持增加的用户流量,还保持平稳稳定的 Gas 费用,让更多用户加入Sui 的生态。通过这种方式增加网络容量可以确保游戏快速运行,应用app 可以快速响应以及social 应用的发布,构建者不会因为上涨的Gas 价格设置费用,网络不会因为Gas war 造成故障。
Sui Move 是 Sui 的原生编程语言,Sui Move 所基于的核心 Move 语言创建于 2018 年,是专门用于区块链上开发的智能合约编程。Move 的创建者看到了对资产和访问控制的抽象需求,这在以前的区块链编程语言中是不存在的,这些抽象对区块链很有意义,因为去中心化将资产和访问控制是网络大多数活动的中心。
然而,随着 Sui 的创始团队开始开发这个新的区块链,他们认为有必要进一步完善 Move。尽管 Move 专为区块链上的智能合约编程而设计,但它仍然缺乏对账户、交易、时间和密码学等区块链特定概念的原生支持。区块链需要构建对这些功能的支持,这不仅耗时,而且会导致安全等关键功能的实施不一致。Sui Move 旨在整合区块链开发人员创建高性能、安全、功能丰富的应用程序所需的一切。