运行在区块链上的智能合约可以提供抗审查和持续运营的能力,但是用户在接入这些智能合约之前,如何确保前端体验也能提供同样的去中心化特性?
撰文:潘致雄
上周,Uniswap 协议背后的开发团队 Uniswap Labs 迫于监管压力,宣布将 审查官网前端并主动下架存在监管风险的代币 ,特别是像追踪特斯拉股票价格的 sTSLA 代币等在不久前被美国 SEC 主席 Gary Gensler「点名」的 「股票代币」 、「 由证券支持的稳定价值代币」 和 「提供基础证券合成风险的虚拟产品」 。
针对「去中心化」的监管时刻正式到来,不过「去中心化」就因此失败了吗?
答案也许是否定的。因为即使 Uniswap 官方网站入口无法进行部分代币的交易,Uniswap 协议本身还是 「无需许可」 的,这也就意味着它作为「协议层」依旧是中性的,用户还是可以和协议本身交互,完成任何需要的交易。
举一个更极端的例子,哪怕未来所有的前端网页都面临监管的风险,但用户只要运行一个以太坊节点,还是可以进行任何交易的,只要矿工的数量足够多即可。
不过这还远远不够,如果前端也能抗审查,是不是更好?其实,我们已经有一些解决方案了。
DeFi 应用「前端中心化」的状况普遍存在
现在很多基于区块链的应用都在将核心的业务逻辑通过智能合约实现。比如 DeFi 应用中的 资金交互 以及游戏或 NFT 市场中对于 资产的调用 等,都需要在链上完成。
通过智能合约执行的业务可以确保其去中心化的特点,特别是抗审查和提供持续不间断业务的能力,任何交易都可以被安全无误地执行,且该业务也会在区块链上永久运行下去。只有少部分直接在智能合约中就集成了审查能力的应用是例外,比如美元稳定币 USDT 以及 USDC 等都已经将部分以太坊地址列入了黑名单,但绝大多数 DeFi 应用并不具备这一条件。
但与核心逻辑普遍去中心化不同的是,目前绝大多数 链上应用的前端 呈现仍然广泛采用移动端的 App 或者网页等互联网时代的形式。这些网页前端除了可以辅助用户提交链上交易之外,还有一些纯前端的功能和定位,比如这个产品是否「易用」,而且还可以提供更多展示层面的功能,辅助用户决策 (数据、图表) 。
不过由于现在绝大多数的网页前端还是通过传统的互联网架构实现的,这就导致了 「前端中心化」 痛点的出现,而最典型的组件就包括 域名 、 网络服务 、 服务器 、 存储服务 等,这些都很容易成为被监管的对象。
前端可以去中心化吗?
当然可以,但是由于需要考虑到与目前互联网架构的 「兼容性」 ,还是会引入一小部分的中心化服务,以实现更优质的用户体验。不过随着基础设施的不断升级,兼顾 「完全去中心化的前端」 与 「更好的用户体验」 是有可能实现的。
一个简单的例子,虽然现在访问 app.uniswap.org 是无法交易 XAUT 了,但是访问 uniswap.eth.link 是可以提交兑换 XAUT 的链上交易的。 (Uniswap 团队表示,XAUT 被禁是因为合约漏洞)
「uniswap.eth.link」是什么?
简单来说,它组合了 「去中心化域名 ENS」 、 「去中心化存储 IPFS」 和 「中心化接入口 (Cloudflare 或 eth.link 等) 」,可以实现在所有浏览器中直接访问 Uniswap 的去中心化版前端。
「去中心化版前端」和「中心化版前端」 最核心的区别 在于,「去中心化版」是任何人均可部署的,它没有一个单一的节点负责该页面的部署和维护,这些页面是网络共有的,这也就意味着可以提供抗审查的能力。
至于为什么要加入「中心化接入口 (Cloudflare 或 eth.link 等) 」,是因为目前的网页浏览器还未能原生支持「去中心化域名」和「去中心化存储」的接入能力,所以这类中心化服务可以提升现有互联网用户的用户体验。
但是有些浏览器一直在往这个领域努力,逐渐提供去中心化服务的原生接入能力。
去中心化前端的组成
如果用现有的互联网进行类比,去中心化的版本也可以分为浏览器、域名、存储、计算等组件。
浏览器
网页浏览器作为用户访问互联网的 入口级工具 ,几乎是操作系统之后 最核心的应用 ,而绝大多数浏览器也为了尽可能支持更多用户,都采取了多平台的策略,兼容包括 Linux、macOS、Windows,甚至是 iOS 和安卓系统。
当然,从广义的加密货币领域来说, 加密货币钱包也是浏览器 ,因为现在大多数钱包不仅仅是一个私钥管理器,更是一个提供各种应用和服务的入口。
在所有网页浏览器中,对去中心化服务支持度最好的是 Opera 和 Brave,二者的部分平台版本已经支持了 IPFS 和 ENS 域名的原生接入能力,后续还会继续扩展到更多平台和更多服务。而装机量更大的 Chrome 和 Firefox 两种浏览器也凭借丰富的插件生态,提供了较好的适配能力。
去中心化域名以及域名解析
传统的域名是提供一种接入服务的能力,比如用户知道在浏览器中访问 google.com 就能访问到 google 的搜索服务。但是这种接入能力是完全中心化管理和维护的,由 ICANN 统一管理。
而 「去中心化的域名」 服务则是将域名完全运行在一个去中心化的网络中,任何人都可以公平和不被审查地完成域名的注册。所以区块链是去中心化域名的一种解决方案,比如从最早期的 Namecoin 开始,就有很多团队开始了这方面的尝试。
而目前最广泛被使用的则是运行于以太坊网络中的 「以太坊域名服务」 (ENS) 。其中 ENS 域名的注册、登记信息、更改信息、续期等业务都是通过以太坊上的智能合约实现的。ENS 选择的域名是「.eth」,和以太坊的代币符号保持了一致。
由于 ENS 的数据储存在以太坊网络中,所以对于浏览器来说,读取这个数据的最安全方式就是通过以太坊全节点来获取,不过由于这样的成本略高,所以之前提到的「中心化接入口 (Cloudflare 或 eth.link 等) 」就是帮助现在的 Web2 用户解决体验问题的。
也就是说在浏览器没有原生支持「.eth」的解析能力时,ENS 团队购买下的 eth.link 这个传统的域名 (也就普通浏览器可以解析 eth.link) ,可以为所有的 eth 域名进行解析。
这个 路径 就是:任何用户——> 任何浏览器——>uniswap.eth.link——>uniswap.eth 的资源。
以上这条路径,就是通过「中心化接入口」,实现了和现有 Web 设施的集成。除了 ENS 之外,还有 Handshake、Unstoppable Domains、DAS 等团队也在提供类似的功能。
当然,未来是有可能实现将「中心化接入口」去除掉的可能性的,一种方式是提供这类服务的公司越来越多 (间接获得抗审查能力) ,一种方式是浏览器可以通过自己运行的以太坊全节点获取这些数据 (直接获得抗审查能力) 。
去中心化存储与计算
存储和计算也会逐渐实现去中心化,不过对于目前的去中心化应用来说, 「去中心化存储」 可能是最迫切的,因为轻量级的计算是可以交给浏览器实现的。
而在这个领域,被广泛使用的是 IPFS ,因为这个协议完全不存在代币,也没有区块链,比 Filecoin 更纯粹。而为了确保存储的长期和有效,也可以考虑使用 Filecoin 和 Arweave 等方案。目前 uniswap.eth 解析到的网页就是存储在 IPFS 网络中的。
参考阅读:《 Uniswap Interface + IPFS 》
目前 Opera 和 Brave 也通过一些合作的「中心化接入口」实现了 IPFS 的访问能力。但是运行一个 IPFS 的服务成本远低于运行一个以太坊节点,就是访问速度还有待提高,现阶段还是需要依赖于「中心化接入口」。
所以补充一下就是:任何用户——> 任何浏览器——>uniswap.eth.link (通过中心化服务实现)——>uniswap.eth 在 IPFS 上的资源 (通过中心化服务实现) 。
这些前端的网页一般不需要很大量的存储和网络带宽,但是如果未来有需要更大带宽的网络接入能力提供更多类型的服务,还可以通过 Meson 或者 Theta 这类的服务实现。
而对于重度的「去中心化计算」,目前也是有一些解决方案的,比如就可以通过 DFINITY 的「互联网计算机」、GOLEM 等服务实现,不过还处于早期。
其他解决方案?
以上这些解决方案就足够用来组合出一些去中心化的网页前端了,除了 Uniswap.eth 之外, Synthetix (synthex.snx.eth) 等不少以太坊 DeFi 应用也都部署了去中心化的前端版本,可用来实现抗审查。
而除了这套解决方案之外,其实还有一些其他解决方案,比如 全栈的 DFINITY ,就实现了从区块链、交易、服务器等全套服务,但是这些方案还处于更早期的阶段。
对于现有的团队来说,通过 ENS、IPFS 等组件的结合,可以更快的实现前端的去中心化,解决当下的燃眉之急。
当然监管的力度也可能会不断加强,也不清楚后续还有哪些招数可以使用。或许,只要创新速度更快一点,那监管就只能相对的慢半拍了。