节目,他们正在Sui上构建一个非常酷的DeFi项目。他们在展示系统架构时,讲述了不同组件如何协同工作。他们说,如果他们用Solidity来编写这个项目,可能需要八个月的时间,但是用Sui Move只用了两个月,而且他们对其安全性非常有信心。这门语言的工作方式非常贴近他们头脑中项目组合的想法。而在Solidity领域,这种联系就没那么直接。 这只是一个例子,但我们听到了很多类似的情况,人们说他们在这门语言上的开发速度更快,完成后更有信心。听到这些让我感到高兴。但在某种程度上,这并不令人意外,我们研究了Solidity并了解了其中的问题。我们明确地设计了围绕如何使其更安全、更快速的方案。我们审视了使用这门语言的开发者们试图做什么,以及如何设计符合他们需求的语言,而不是迎合已有的情况。这门语言就是为人们遇到的问题而设计的,所以当他们进行切换时,他们真的会非常欣赏这门语言。 他们说先发优势很重要,但我想在这种情况下,是后发优势更重要。 没错,就是这样。 Q7、在您提到Sui Move和Sui整体的面向对象的特性时,您已经谈到了这一点。但您能更明确地阐述Sui Move的设计与Sui能够实现Web3的大规模采用、低延迟、低成本和可扩展性之间的联系吗? 我们在为Sui做出贡献时非常警惕的一点,也是其他平台所面临的问题,就是如果你的容量有限,无论是像以太坊的每秒15个交易(TPS)还是100或1,000个交易,如果是一个固定的数字,那么当平台过于成功时,它将达到容量的上限。此时,每个使用平台的人的体验都会下降。如果只有1,000个空位,你必须选择最重要的1,000个,可以通过gas竞价或其他方式进行选择。对于所有人来说,gas价格都会上涨,延迟会增加,或者两者兼有。许多使用案例被排除在外,因为只有能够支付最高费用的使用案例才会成功,而其他人不得不转向其他地方或等待更长时间。这不是一个好的情况。 Sui的目标是水平可扩展性。如果分配了一定数量的硬件,就可以实现一定数量的吞吐量。如果需要更多的吞吐量,验证节点可以引入更多的硬件设施,没有上限。这就是每个Web2服务的工作方式。我的意思是,你必须解决一些工程上的约束,这并不是一件确定或简单的事情,但是每个人在设计可扩展的Web服务时都希望实现水平可扩展性。 如果Sui有更多的客户或用户,我们的目标就是使Sui能够继续增长,一切都应该正常运行。当然,同时保持非常低的延迟。你不希望在增加吞吐量的同时牺牲延迟性。 在Libra系统中,没有考虑到这些特性。它只是一个小规模的支付系统,有几百个支付运营商,每天可能有数千万笔支付,但也不会更多。所以我们采用了单一盒子架构,这样更简单也足够用。但在Sui中,我们知道Libra系统行不通,因为它没有水平可扩展性的特性。所以我们想,如何从零开始设计一个能够实现这一点的系统。这就是面向对象的数据模型的来源。我们基本上抛弃了旧的基于账户的数据模型,因为它使实现水平可扩展性变得非常困难。相反,如果你将所有内容都组织成对象,全局状态就只是一个从对象ID到对象的大型映射。这是一个键值对存储,我们知道如何扩展键值对存储,这是一个简单的工程问题。 然后问题就是,我们如何设计一个事务结构,使其适应从键值存储中获取数据和更新数据的过程?我们如何分片键值对存储?我们如何决定事务应该在哪里被处理?这基本上就是它的来源。也就是说,我们知道如何扩展这些东西。我们如何将它变成具有区块链属性、可验证读取、可与Move合作等功能的东西。然后如何尽可能平稳地将它们结合在一起。 Q8、从更高的层面上讲,您如何与Web2中质疑的开发者讨论去中心化技术的潜力? 我认为区块链和加密货币在根本上是一种去除摩擦的技术。存在一些障碍,使得我们在进行金融交易、构建应用程序或设置信息时变得非常困难,因为信息无法跨越这些障碍,或者如果跨越这些障碍,就需要某些第三方的帮助,而这些第三方为能够提供帮助而收取一定的费用。 人们喜欢用的一个经典例子是购买房屋。有一个购房者和一个卖房者,但当你实际进行支付时,必须有一个托管代理人,他除了坐在那里托管资金以外什么都不做,因为买方和卖方彼此并不完全信任。这是生活的现实。我们要处理这个问题。但是,如果托管代理人可以是双方都可以查看的代码,或者经过某个第三方的验证,那么它就可以免费或者以更少的费用来完成这个工作。区块链的目的不是消除房地产中的托管代理人。这只是其中的一个用例,但通常都是这样。 如果不再有应用A和应用B之间的互操作性障碍,而是建立在相同的基础平台上,这样你就可以使事物从一个应用流向另一个应用,无论是应用内物品、数据、跨促销活动,还是构建在两者之上的第三方产品。或者想象一下互联网,网站通过cookie与彼此共享数据,但这些cookie只是只读元数据。如果这些cookie可以成为货币呢?或者可以成为可花费的物品呢?或者可以成为忠诚计划和优惠券呢?一切都内置了这个功能。这是非常抽象的,但这是潜力所在。通常,一个正在构建的人会认为这些是他可以用来构建更有吸引力的东西的新超能力。 Q9、对于终端用户来说,即使他们不具备技术知识,当他们考虑代码信任时,你是否感觉到他们有所犹豫,即使另一种选择是一个不透明的大型中心实体? 我不这么认为。因为我们每天都在做这样的事情,对吧?当我登录我的电子邮件时,我并不担心代码会删除我的某封邮件,或者当我发送邮件时,它实际上不会发送。如果发生这种情况,那么我可能会停止使用电子邮件,或者使用其他提供者。我认为这是非常相似的,当然,并不是每个人都能够真正阅读某些内容并检查其工作方式。 而且,你知道,如果我想检查电子邮件的代码,我不能,因为代码不在那里。所以透明度是其中一个重要方面。虽然不是每个人都能够做到这一点,但有些人可以进行抽样检查。而且,与任何事物的重复使用相结合,再加上不可变性。这就是这里的关键。当我登录电子邮件时,我不知道自从上次我做某事以来代码是否发生了变化。对此没有透明度。即使了解到这个信息,在Web3中你可以得到,而在其他地方你得不到。 Q10、您对Sui Move在未来的发展有什么期望? 我们目前关注的许多功能都是基于我们与发布其初始批次的Sui Move包的开发者的经验,然后观察他们希望如何发展这些功能,哪些功能易于发展,哪些功能较难。Sui Move是一个非常适合第一次发布包的语言,但是对于我要改变这种类型,我要添加一些字段,我要添加一些函数,我要以一种有凝聚力但不违背使用初始包的用户的信任的方式进行操作,这变成了一个非常具有挑战性的问题。我们所做的很多工作是研究这一点,并确定我们可以添加哪些语言级别的功能,既能给程序员提供扩展的灵活性,同时又能保持原始代码用户的信任。 我们正在研究许多与此相关的功能,尤其是枚举类型。我们还在改善将Move与前端代码连接的体验方面做了很多工作。我们常常开玩笑说,一个典型的Sui应用程序是5%的Move代码和95%的前端代码。因此,我们非常关注这95%。我们花费了很多时间讨论Move,但我们也非常关注如何使其他部分更加高效,并使连接更加容易。总的来说,我们非常关注如何使应用程序更多地由Move组成,以获得更多的安全性。同时,我们如何使这95%的代码对Move程序员和非Move程序员都易于理解。 来源:金色财经lg...