进入到 2021 年,公链领域的竞争已经从单纯的底层技术之争,演变成了对生态以及开发者的争夺。从最早的 BSC 开始,兼容 EVM 的策略便屡试不爽。毕竟,开发者们更愿意使用自己熟悉的编程语言,并且以太坊在事实上有着最为繁荣的应用生态。
近期,即便是 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 日上线主网,感兴趣的读者可以自行前去体验。
当前公链之间的竞争,已经逐渐进入到了白热化的阶段。曾经沉寂很久的 Nervos 也凭借 Godwoken 迎头赶上。在目前众多兼容 EVM 的公链中,有不少靠着市场运营、高额补贴等,甚至 Fork 知名项目来推进生态建设。而 Nervos 却始终坚持着技术优先的发展方向,注重构建长期价值。相信随着 Godwoken 的上线,Nervos 生态将会得到更好地发展。
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia