Entering 2021, the competition in the field of public chain has evolved from a simple fight for underlying technology to a fight for ecology and developers. Evm-compatible strategies have worked well since the earliest BSC. After all, developers prefer to use programming languages they're familiar with, and Ethereum actually has the most thriving app ecosystem.
近期,即便是 Solana 这样曾经不依托 EVM 而发展起来的公链,也开始通过 Neon 对 EVM 实现兼容。可见至少在短期,EVM 已经变成了公链行业事实上的「Windows 操作系统」,即便天生带有诸多的缺陷,却依然是所有公链平台无法绕过的必备功能。
诞生于 2019 年的 Nervos 在近期上线了可以兼容 EVM 的 Layer 2 扩容解决方案 Godwoken,正式拥抱以太坊生态的开发者。
但是,如果仅仅是兼容 EVM,一般只能在短期对公链生态产生一定的促进作用。正如我们在 Polygon 身上看到的一样,如果公链平台本身缺乏独特的优势,那么依然难以长期与其他公链相抗衡。
那么 Nervos 在面对其他 EVM 兼容公链时还有哪些独特的优势?这就要从 Nervos 创立时选择的技术路径开始讲起。
Nervos 向来以其社区浓厚的技术氛围而著称,这在 Crypto 圈子中显得难能可贵,属于少有的致力于底层技术构建的专业团队。并且,Nervos 在一开始,便在技术架构的选择与扩容方案上,采用了一条与绝大多数公链完全不同的发展方向。
Nervos 在技术路线选择上的独特性,首先体现在其最底层的账户体系。当前各个公链的账户模型主要分为两类,一种是以以太坊为代表,并被绝大多数智能合约公链所采用的 Account 模型。
Account 模型其实很好理解,就像我们日常使用的银行账户,每一个账户保留了其中的资金余额。在智能合约型公链中,这些账户余额也称为状态。而搭建在其上的智能合约可以很轻松地调用这些状态,并对其进行编程,以便构建各种复杂的智能合约。
这种基于 Account 的账户模型看起来更符合人们的直觉,似乎理应成为唯一存在的账户体系解决方案。因此,绝大多数以支持智能合约为目的的区块链平台,都采用了这种看似更加直观的账户体系。
然而 Nervos 所采用的,却是更加独特的 UTXO 模型,Nervos 的 Cell 模型是 UTXO 模型的通用化。UTXO 的全称是 Unspent Transaction Output,该账户体系最早由比特币发明并使用。虽然 UTXO 在区块链行业更加具有正统性,但除了比特币以外,当今真正采用这种模型的主流公链很少。
尤其是对于普通用户来说,这种模型似乎难以理解,就更提不上了解其独特的优势了。因此,这里我们需要抛开复杂的技术词汇,重新解释一下 UTXO 模型。
与将 Account 账户模型类比为银行账户类似,UTXO 模型更像是我们日常生活中的纸币。
是的,我们日常使用的用于存放现金的钱包,也是没有所谓账户余额概念的。每个存放纸币的钱包里只有一张张不同面额的纸币(也就是所谓 UTXO),当需要支付的时候,我们便从中选出一些合适的「UTXO」,同时将对方支付的找零重新放回到钱包中。而当你需要统计你的钱包余额时,只需要将钱包中所有的「UTXO」总额进行加总计算即可。
那么这种账户体系的好处是什么?对于一个智能合约平台来讲,使用 UTXO 账户模型最大的优势,便是可以面向资产进行编程。
不同于以太坊只能针对账户的余额(也就是所谓状态)进行编程,采用 UTXO 的 Nervos,可以让开发者对每一张钱包中的纸币资产(也就是 UTXO)进行编程,这便给开发人员提供了极大的灵活性。
当然,在取得了 UTXO 的这个显著的优势后,Nervos 也相应付出了一些代价,这个我们后面再谈。
区块链的扩容无疑是行业内无可争议的迫切需求。但对于实现扩容的具体方案,一直以来便是一个争议不断的话题。根据以太坊 2.0 的路线图,以太坊一直把分片作为了实现扩容的主要方向。
然而随着以太坊 2.0 升级方案一次又一次的推迟,人们也逐渐开始认识到,自己或许过于乐观地估计了分片的难度。因此在去年 10 月,以太坊基金会对以太坊扩容的路线图进行了修改,基本上放弃了在近期实现分片的目标,而是改为采用分层扩容技术,以便能够更快地解决当前对交易速度的急迫需求。
可以说,以太坊在扩容方向上兜兜转转了一圈,最终却回到了 Nervos 在 2018 年便已经选定的技术路径上来。
Nervos 在项目的创立伊始,便对今后的扩容方向有过深度的思考。正如组成了当前互联网的技术堆栈一样,区块链的未来也一定会向着分层的方向发展。因此,作为一个底层公链来说,首先应该考虑的不是如何在 Layer 1 上实现区块链需要实现的全部功能,而是在一开始,便为今后的 Layer 2 们打好牢固的技术基础。
因此,Nervos 相对于以太坊,在支持 Layer 2 扩容上不但具有了先发优势,还天然地站在了更高的技术起点之上。
可以说,Nervos 是一个继承了区块链 1.0 时代诸多优点,并且准确抓住了当今区块链技术发展方向的公链。以至于有人将其概括为,Nervos 是建立在比特币技术基础上,并实现了以太坊 2.0 Layer2 扩容方案的区块链项目。
在上文中我们已经提到,采用了 UTXO 模型的 Nervos 公链,在获得了面向资产编程的能力的同时,也付出了一定的代价。一旦当开发者开发的项目涉及到投票、众筹等需要整合全局状态的功能时,UTXO 模型导致的状态分离,便会使得开发的难度大大上升。
但好在,以上提到的由于状态分离而引发的问题是完全可以解决的。在 Nervos 中,项目团队利用了类似 Rollup 的方案,在 UTXO 的底层架构上,开发了一个基于账户模型,对开发者更加友好的 Layer 2,也就是本文需要详细介绍的 Godwoken。
通过 Godwoken 进行开发,开发者可以更简单的共享全局状态,而不会再受制于 UTXO 带来的诸多限制,使得开发者在享受面向资产开发优势的同时,免除状态分离带来的开发成本的提高。这样,开发者可以以更熟悉的思路开发应用程序,并最终实现兼容 EVM 虚拟机的目标。
其实,对于大多数普通读者来说,可以直接将 Godwoken 近似地理解为以 Nervos 为主链,兼容 EVM 的
Optimistic Rollup 扩展层。其他以太坊生态的成熟项目,可以在仅需改变少量代码的情况下,直接部署到 Godwoken 之上。
而所有这些基于 Godwoken 开发的程序,将同时可以享受到由 Nervos 的 Layer 1 所提供的安全性。这同时也意味着,当 Nervos 正式部署了 Godwoken 解决方案之后,Nervos 已经站在了和目前众多主流公链完全相同的起跑线上。
Godwoken 目前已经推出 Mainnet Beta,并且部分项目已经进入 Nervos 官方的白名单。
目前,基于 Godwoken 的第一个去中心化交易平台 YokaiSwap 已经部署到了 Godwoken 上。可以看到,YokaiSwap 有着与以太坊生态类似的交易界面,并且可以直接通过 Metamask 进行登陆,其操作体验已经与主流的 EVM 公链交易平台极为接近。YokaiSwap 已于 12 月 1 日完成 ID0,并将于 12 月 3 日上线主网,感兴趣的读者可以自行前去体验。
The competition between current public chain has gradually entered the stage of white-hot. Nervos, once quiet, has caught up with Godwoken. At present, many EVM compatible public chains rely on market operation, high subsidies, and even Fork well-known projects to promote ecological construction. Nervos, on the other hand, is committed to technology first and building long-term value. We believe that with the launch of Godwoken, the Nervos ecosystem will be better developed.
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia