Cointime

扫码下载App
iOS & Android

CosmWasm 之父 Ethan:开发应用链首选 CosmWasm

本文编译自 CosmWasm 之父 Ethan Frey 对 CosmWasm 的系统论述,全面细致的分析了区块链开发者实践过程中需要面对的问题以及 CosmWasm 的解决之道。

现在我们已经发布了 CosmWasm v1.0,并且许多区块链将在接下来的几个月内增加对此的支持,现在是加入的好时机。您是否一直在考虑启动您的项目以太坊或基于 EVM 的可扩展性解决方案之一,或正在考虑启动主权区块链,您很可能会发现 CosmWasm 是一种更便宜、更简单、更安全的解决方案。

比较概览

CosmWasm 可以与领先的智能合约引擎以及原生区块链 SDK 竞争。

默认情况下,CosmWasm 中不提供“自定义级别”和“原生链功能”,但如果将其嵌入到自定义 Cosmos SDK 链中,则可以启用。有一些链将 CosmWasm 连接到 GPU,还有一些链用智能合约取代了 dPOS 实现。一旦您拥有了解 API 的熟练 Rust 开发人员,CosmWasm 的开发就会很快。但是,学习曲线可能会很高,尤其是如果他们需要学习 Rust。

这些说法并非夸张。我之前构建了多个区块链 SDK,并将我从这些和其他我研究过的所有知识整合到 CosmWasm 的设计中。我是 Cosmos SDK 的原始架构师,并在 2017 年撰写了第一份 IBC 白皮书。2018 年,我离开去创建 Weave(“另一个 Cosmos SDK”),它在技术上是正确的,但缺乏开发人员的采用。事实上,它开创了 Protobuf API 并拥有丰富的 JS 客户端(这是 CosmJS 的基础)。Cosmos SDK 的许多后星际之门设计都通过研究我早期的工作得到了很多信息。

我也使用过 Solidity 并看到了良好的开发人员工具的重要性。然而,我也看到将设计决策融入平台的基础设施如何使它们在未来变得脆弱和难以适应,并确保我们允许链定制和扩展 CosmWasm,同时保持兼容性并避免分叉。

优于 EVM

值得赞扬的是,以太坊和 EVM 是一个巨大的成功故事。从“世界计算机”的想法出发,一个小团队创造了第一个可以挑战比特币的区块链,并推出了第一个智能合约平台。它现在的市值高达 1000 亿美元,并且得到了巨大的开发者采用。事实上,迄今为止,大多数被大量开发人员采用的智能合约链都是以太坊的分叉并运行 EVM。为什么没有人选择它?

安全。Solidity 和 EVM 充满了设计中内置的攻击向量。即使遵循最佳实践并获得信誉良好的审计,我们也会看到一个接一个的黑客攻击,尤其是在 DeFi 世界中。其中大部分基于非常难以保护的强大架构。即使在他们的合同中使用重入守卫,CREAM Finance 最近也因重入攻击而被剥削了数百万美元。和 Parity MultiSig Hack 以今天的价值损失了 15 亿美元的 ETH 是由顶级以太坊开发人员编写的。该漏洞利用涉及库合约和代理……CosmWasm 不需要的强大但危险的结构。CosmWasm 通过设计防止重入,并提供一流的迁移合约体验,而不是某种 “library contract”模式。事实上,CosmWasm 可以防止 Solidity 中存在的大多数类型的攻击

测试。即使一个项目三重检查所有门并且没有已知的“attack vector”,许多项目仍会成为业务逻辑中基本错误的受害者。if 条件或循环守卫中的错误可能会泄漏数百万。最近 Compound 错误地捐赠了 9000 万美元,原因是使用< rather than <= 在 if 语句中。这是一个很难审计的问题,但很容易用单元测试覆盖……如果对 Solidity 进行单元测试很容易的话。CosmWasm 从第一天起就将多个级别(单元、集成和全栈)的测试作为一等公民,并且可以轻松地为关键业务逻辑提供可靠的覆盖。

性能 / 成本。以太坊上的 gas 价格暴涨,这已经推动了许多项目转向 BSC、Polygon 或 Fantom。这是由于该链的高人气以及每秒约 30 tx 的限制和空间的市场定价。CosmWasm 每秒可以轻松处理数百笔交易,并部署在多个连接的链上,分担负载并保持低成本……很像以太坊 2.0 的愿景。

可组合性。以太坊在 DeFi 中取得成功的关键在于能够组合多个项目,或者说“构建 DeFi 乐高”。连接合约很容易,但我们看到这种组合非常危险——即使另一个合约是合法的,组合也会增加漏洞利用的攻击面,并且极难测试。CosmWasm 提供了以太坊中合约组合的所有功能,并具有架构支持,可让您安全地构建复杂的组合。您可以将 Anchor Protocol 视为一个建立在 CosmWasm 早期版本上的相当复杂的过程。正如 Mars Protocol 和其他人将展示的那样,该设计现在更加强大。

锁定。一旦将项目部署在一条链上,就很难切换。特别是当您与其他项目集成时。无法跨多个链进行组合,也无法将项目迁移到另一个区块链。然而,在 Cosmos SDK 和 IBC 的基础上,CosmWasm 提供了这样的能力。

“如果你的项目变得太大并且你想移动到你自己的主权区域,你可以轻松地启动一个基于 wasmd 的新 CosmWasm 区域,并内置区块链间通信。然后你可以迭代新的多链协议作为 CosmWasm 合约和允许用户选择加入你的新链,同时仍然保持与原始链上协议的一流连接。”

这是一个很大的领域,后面再继续展开讨论。我确实认识到以太坊有一个巨大的开发者锁定,许多项目都未能尝试取代以太坊作为通用智能合约平台。这就是 CosmWasm 专注于提供多种专业智能合约平台的原因。有了 IBC 和 Bridges 的新世界,您不必在以太坊上运行就可以与之组合……只需查看 Sommelier 的示例即可。

优于 Cosmos SDK 模块

Solidity 实际上是一个非常容易挑战的目标,在构建 CosmWasm 时,我们将自己与顶级区块链构建工具包之一的 Cosmos SDK 进行了比较。它允许您在 Go 中编写本机代码,并快速连接来自多个来源的模块,以生成功能强大的、特定于应用程序的区块链。Cosmos SDK 内置了惊人的功能。世界一流的 POS 系统,如 Cosmos Hub、链上治理和 IBC。你只需要用你的自定义逻辑在 Go 中编写一些模块并将它们连接起来。

但是,如果你想扩展 Cosmos SDK,CosmWasm 为你提供了原生模块的大部分功能、类似的性能和更简单、更稳定的接口。它还消除了运行您自己的区块链以启动 DEX 的需要。在某些情况下,您确实需要原生 Cosmos SDK 模块。如果您正在研究一种新的共识机制(以取代标准的 dPOS)、彻底改革费用处理机制或集成 GPU 计算引擎,请使用原生 Go 模块,它提供无限的灵活性和原生的能力。然而,对于大多数区块链项目,你最好在 CosmWasm 中编码你的想法(即使你确实在主权区域启动它)。

无需开发链。启动和维护独立链有很多开销。虽然 Cosmos SDK 简化了很多技术工作,但开发人员仍然需要吸引并充分激励强大的验证者社区来运行网络,这对于早期项目来说可能是一项艰巨的任务。使用 CosmWasm,您可以简单地部署到您选择的现有区块链,并且可以在需要时迁移到您自己的链(或不同的链)上。

易于迁移。Stargate 已经做了很多工作来简化 Cosmos SDK 模块的升级,但仍然很难。CosmWasm 内置了一个经过许可的、每个合约的迁移功能。这允许您将合约逐个迁移到新的代码库,并运行迁移功能以在此过程中进行任何所需的数据转换。不需要全链协调。

稳定的 API。Cosmos SDK 在不断添加功能的同时,也在不断破坏 API。任何使用 Cosmos 一段时间的项目都知道,每次升级都会浪费开发人员的大量时间。CosmWasm 现在已致力于 v1.0 的稳定性,您的代码将在 Cosmos SDK 0.42、0.44、0.45 及更高版本上运行而无需修改。CosmWasm 的未来版本将提供可选功能(例如 BLS 签名验证),但完全向后兼容。

更好的存储 API。Cosmos SDK 中我个人的痛点之一是缺少围绕原始 byte -> byte 键值存储的包装器。Weave 框架引以为豪的源泉是类似 ORM 的助手。CosmWasm 通过 cw-storage-plus 走得更远,cw-storage-plus 是原始存储的可选包装器。(Addr, u32) -> Vote 它允许您使用一行代码轻松映射类似内容,从而获得对数据库的类型安全访问。如果需要,它还提供自动二级索引和惰性快照。

简单的组合。虽然 Cosmos SDK 中内置了许多模块,并且不难导入其中的一些模块以向您的链添加多种功能,但将它们相互集成并不那么容易。允许两个不同的模块相互通信需要一些复杂的功能连接,以及对调用另一个模块的任何模块进行修改。

如果一个项目将 3 或 4 个模块构建为一个产品,则此方法效果很好。但是当多个项目想要将它们的模块集成在一起时就没那么容易了……更不用说运行非沙盒外来代码的信任问题了。另一方面,CosmWasm 使多个项目可以轻松上传合约并将它们连接在一起,并内置许多安全保证。

其他竞争者

通用平台还有一些其他竞争者来构建新的系统,但并不多。除了 EVM 和 CosmWasm 之外,唯一在 DeFi 中获得很大吸引力的智能合约平台是 Solana。说实话,没有人能在吞吐量上接近 Solana。但是 API 是超底层和困难的。最好优化大类的简单合约。

大多数区块链都分叉了比特币或以太坊。那些还没有定制单个区块链的人。除了 Cosmos SDK,我只知道另外一个可以让你快速将模块组合到你自己的区块链中的“区块链开发工具包”Parity 的 Substrate。你可以与 Cosmos SDK 争论相对优点,它确实有更好的升级故事。但是上面的大部分论点仍然成立(平行链很昂贵),而且我还没有看到任何严肃的项目使用编程 ink!语言。

评论

所有评论

推荐阅读

  • 法官再次驳回马斯克高额薪酬计划 特斯拉:上诉

    美国特拉华州法官再次驳回马斯克在特斯拉的高额薪酬计划,特斯拉官方社交媒体对此回应称,法院的判决是错误的,我们要上诉。这一裁决如果没有被推翻,就意味着是法官和原告律师在管理特拉华州的公司,而非它们的合法所有者——股东。

  • OpenAI回应被马斯克起诉:申请重复且依然毫无根据

    近日马斯克要求美国一法院阻止美国开放人工智能研究中心 OpenAI 非法转型为营利性企业。OpenAI 的一位发言人表示,马斯克的申请重复,且依然毫无根据。 今年 2 月,马斯克提起诉讼,称其在为 OpenAI 的创立提供资金等支持时,与该公司两名联合创始人曾有协议,OpenAI 应为非营利组织,但 OpenAI 违背了创始目标和使命,转而追求利润。6 月,马斯克撤回这一诉讼,8 月份又重新起诉。今年 11 月,马斯克对 OpenAI 提起的诉讼再度升级,指控 OpenAI 试图垄断生成式人工智能市场。

  • 国际刑警组织:警惕一种涉及稳定币的新兴加密货币欺诈行为

    国际刑警组织金融犯罪行动创纪录逮捕 5,500 人,缴获价值超过 4 亿美元的赃物。在行动期间发布了紫色通告,国际刑警组织警告各国警惕一种涉及稳定币的新兴加密货币欺诈行为。成员国被告知“USDT 代币批准骗局”,该骗局允许欺诈者访问和控制受害者的加密货币钱包。该两步方法首先使用浪漫诱饵技术引诱受害者,指示他们通过合法平台购买流行的 Tether 稳定币(USDT 代币)。一旦骗子赢得了受害者的信任,就会向受害者提供钓鱼链接,声称允许他们设置投资账户。实际上,通过点击,他们授权骗子完全访问,然后他们可以在受害者不知情的情况下将资金从钱包中转出。

  • 马斯克称SpaceX市值可能突破万亿美元

    有网友在社交媒体平台X发帖称,世界上有9家市值超万亿美元的公司,其中8家是美国公司。 对此,马斯克回复称,SpaceX有一天可能会成为它们中的一员。

  • 韩国再次推迟征收加密货币税,至2027年

    在今日的新闻发布会上,韩国最大在野党共同民主党(Democratic Party of Korea)院内领袖朴赞大(Park Chan-dae)宣布,放弃在 2025 年实施加密货币利得税的计划,同意再推迟两年至 2027 年。“推迟加密货币利得税”的提案由韩国政府和执政党国民力量党(People Power Party)提出,共同民主党此前称,推迟征税是执政党的政治伎俩。 最初,韩国计划对加密货币收益征收 20% 税款(22% 为地方税),原定于 2022 年 1 月 1 日生效。由于投资者和行业的强烈反对,该计划已两次推迟至 2025 年 1 月 1 日。今日新闻发布会后,将该税征收再次推迟至 2027 年。执政党国民力量党(People Power Party)还提出,“加密利得税宽限期 2 年仍不足够,应当放宽至 2028 年征收,对加密货币快速征税不可取,投资者可能会因此离开市场。国民力量党希望将实施时间推迟到 2028 年,以兑现在选举期间的承诺。”

  • 社区反馈链上AI代理Spectral交互合约遭黑客攻击

    12月1日消息,据 X 用户@RuslanMoody 发文提醒:“请勿与链上 AI 代理 Spectral 网站交互,其交互合约已遭黑客攻击。注:这不适用于流动性已在 Uniswap 上锁定的代币。” 另据 X 用户@0xYong_W 表示,Spectral 内盘已被别人“掏池子”。

  • 日本金融厅建议放宽信托银行发行稳定币的准备金要求,并实施旅行规则

    日本金融厅(FSA)近日向金融系统委员会支付服务工作组提出了一些有关加密货币和稳定币的想法,其中提到不愿允许信托银行以外的银行发行稳定币。而对于信托银行发行的稳定币,金融厅希望放宽目前要求所有资产必须以银行活期存款形式持有的准备金要求。但是,金融厅还希望实施旅行规则,要求信托银行发行的稳定币转账必须进行 KYC。 日本于 2022 年通过了稳定币立法,支持银行、持牌汇款公司和信托公司发行稳定币。作为其工作组演示的一部分,金融厅区分了在许可区块链上发行的稳定币和在公共区块链上发行的稳定币。它对这三种稳定币都存在于许可链上感到满意,但对允许持牌存款机构在非许可链上发行稳定币持谨慎态度。

  • 安全机构:Clipper遭攻击损失超50万美元,650万美元资金存在风险

    安全机构 fuzzland 联合创始人shoucccc 于 X 发文表示:“DEX Clipper 因 API 漏洞(如私钥泄露)遭到黑客攻击。目前损失超过 50 万美元,650 万美元资金面临风险,请用户立即提款。”

  • 日本金融厅提议为非交易所加密中介机构制定轻量级立法

    日本正在考虑为非加密货币交易所的加密货币中介机构制定新的轻量级立法。近期,日本金融厅(FSA)向金融系统委员会支付服务工作组提出了自己的想法。 日本于 2017 年为加密资产交易服务提供商(CAESP)引入了立法,涵盖了加密货币的买卖、充当经纪人、管理与这些服务相关的资金或提供托管。然而,许多不经营加密货币交易所的所谓 introducer 并不认为自身是 CAESP。 因此,金融厅正在考虑要求他们注册为中介的提案。introducer 有义务向用户提供信息,将受到广告限制,如果出现问题,可能会承担损害赔偿责任。 金融厅还考虑了如何处理损害赔偿。当前对不属于较大集团的其他金融服务中介机构的规定要求提供保证金以支付潜在损害赔偿。如果中介机构隶属于加密货币交易所,则损害赔偿可能由交易所承担。

  • 欧盟报告认可无需许可区块链在传统金融中的潜力

    欧盟近日发布了一份报告,探讨了传统金融(TradFi)中无需许可区块链的潜力。报告认为,无需许可的区块链至少应被视为传统金融和金融市场基础设施的选择,但需谨慎采用。 报告认为,此类区块链可以比私有区块链更中立,从而鼓励竞争。公共区块链实现的不受限制的访问与正在激增的孤立的许可区块链形成鲜明对比。虽然公共区块链有缺点,但有许多众所周知的解决方法可以解决它们的挑战,特别是通过在智能合约级别添加权限。 报告称,无需许可的区块链可以为 L2 区块链(包括受监管的区块链)提供互操作性层。当智能合约位于单个链上时,它们能够组合成更复杂的功能。 同时,报告也提到了公共区块链的缺点,例如可扩展性、隐私性、终结性和治理。它深入研究了每个主题,以及有争议的 MEV 问题。