作者:laobao.eth @ Contributor of PermaDAO
审阅:Xiaosong HU @ Contributor of PermaDAO
Web3 安全事故频发,为何采用去中心化前端成为必然选择?
近日,知名 AMM 平台 Balancer 遭遇 BGP 路由劫持攻击,损失高达 23.8 万美元,再一次引发了广大 Web3 用户对于采用中心化前端的去中心化应用安全的担忧。此前在 2021 年 12 月,去中心化组织 Badger DAO 被黑客利用应用程序编程接口 (API) 密钥窃取了 1.3 亿美元的资金,黑客通过 Cloudflare 将恶意脚本注入网站用户界面,可以在用户不知情的情况下确认交易将代币转走。尽管大多区块链安全事件都是后端或合约遭受攻击,但目前绝大多数前端仍是通过传统中心化架构实现,DNS 域名解析、用户权限管理、服务器、代码存储等方面都存在很多潜在的威胁,而且由于开发者总是将工作重心放在合约与后端,而针对前端的安全往往容易被忽视,Web3 正在呼唤去中心化前端的到来,4EVERLAND 负重前行……
什么是 BGP 路由劫持攻击
BGP 是边界网关协议(Border Gateway Protocol)的缩写,是运行于 TCP 上的一种自治系统(Autonomous System) 的路由协议。当用户键入网站名称、而浏览器找到并加载该网站名称时,BGP 的作用就是尽可能有效地让请求和响应在用户的 IP 地址和网站的 IP 地址之间来回传递。每个 BGP 路由器都存储一个含有自治系统之间最佳路线的路由表。随着每个自治系统广播它们拥有的新 IP 前缀,这些路由表几乎不断更新。BGP 始终偏爱从一个自治系统到另一个自治系统的最短、最直接的路径,以便通过网络中尽可能少的跃点到达各个 IP 地址。DNS(域名系统)服务器提供 IP 地址,而 BGP 提供到达该 IP 地址的最有效方法。
如果 DNS 是互联网的地址簿,那么 BGP 就相当于互联网的交通指南!
举一个很恰当的例子,BGP 劫持就好比有人改变一段高速公路上的所有标志,将汽车重新引导到错误的出口。
BGP 劫持是指攻击者恶意重新路由互联网流量的情况,攻击者通过不实地宣布实际上没有拥有、控制或路由到的 IP 地址组(称为 IP 前缀)的所有权来实现此目的。BGP 被劫持后,互联网流量可能走上错路、被监控或拦截、进入“黑洞”,或作为在途攻击的一部分被定向到虚假网站,但用户可能并未感知到,用户甚至还会在该虚假网站上连接钱包或授权钱包,接下来我相信大家也知道会发生什么。
「前端中心化」的 DApp 并不是真正的去中心化应用
绝大多数基于区块链的 DApp 都把业务的核心逻辑通过智能合约来实现,的确通过智能合约执行的业务可以确保其去中心化的特点,特别是 DeFi 应用中的大规模资金交互以及游戏或 NFT 相关的应用中频繁对于链上资产的调用,充分发挥链上抗审查和提供持续不间断业务的能力,任何交易都可以被安全无误地执行,且该业务也会在区块链上永久运行下去。
但与核心逻辑普遍去中心化不同的是,目前绝大多数链上应用仍然广泛依赖 Cloudflare 和 Amazon 等大公司来实现前端托管。根据 StateDApps 在 2022 年公布的统计数据,在近 3000 个主流的 DApp 中有 75% 运行在中心化云服务器上,亚马逊网络服务占总数的 60%。可以说,如果明天亚马逊决定不想与 Web3 世界有任何关系,那么将对整个 Web3 世界来说将会是灭顶之灾。
而且,当前使用传统网络托管的 DApp,都是完全受政府和其他超国家机构的支配!
去年链上混币器 Tornado Cash 遭受制裁并导致前端被封禁,当时也引发了用户的大规模讨论。的确,顶级域名由 ICANN 管理,该机构对其他子域级 DNS 服务器进行认证,这些 DNS 服务器将 Web 域名与静态 IP 地址相关联,通过一系列证书颁发机构为 Web 内容提供服务。政府可以随时通过法院命令或国家安全信函来封禁网站,指示 DNS 服务器将域名的所有权转移给政府。
去中心化前端发展的困境
在去中心化应用的发展历程中,有很多项目也为去中心化前端提供了解决方案,比如提供去中心化域名以及域名解析的以太坊域名服务 ENS ,但浏览器没有原生支持「.eth」的解析能力,而 ENS 团队不惜与 Web2 域名巨头 GoDaddy 开战,购买了能为所有的 eth 域名进行解析的 eth.link 域名,但不幸的是本质上还是通过传统 Web 设施来提供中心化接入口,并不能称之为去中心化。
而提供 Web3 全栈一体机的 DFINITY 基金会的「互联网计算机」利用网络神经系统(NNS)管理去中心化网络,创建一个分布式子网网络提供托管和运行网站和其他基于 Web 的服务所需的计算资源,的确以 DApp 全栈托管的形式在某种程度能实现去中心化,但在三年的时间里该方案都处于更早期的阶段,ICP 也并没有被市场所青睐,Web3 一体机的构想也终究是黄粱一梦。
如何有效地实现去中心化前端
去中心化前端的组成可分为域名解析、去中心化存储与云计算等组件,对于这三个组成部分而言,我们目前已经看到 Arweave 这种具有完备生态的去中心化存储网络中不仅具有了比 IPFS 更出色的去中心化存储解决方案,还能够实现永久存储,更是保护了去中心化应用的安全性与稳定性。
4EVERLAND 作为一个 Web3 云计算平台一直致力于解决去中心化前端发展的困境,4EVERLAND Hosting 也提供了前端去中心化托管解决方案,尤其在去年增加了对 Arweave 的支持,推出了4EVERLAND Ar Hosting,通过整合 Arseeding 的功能,并利用可以确保前端内容得到安全存储并可供公众访问的基于 Arweave 存储解决方案的 Permaweb,通过独特的加密和经济模型设计将去中心化节点的集合组织成一个协作的、全球分布式的专用存储和网关服务。该专用网关可以实现全球加速,并根据用户的分布情况提供差异化的即时响应服务,有效提高了访问效率和速度。同时,该网关允许用户为使用 Arweave 去中心化存储网络的项目定制 DNS 域名,提供免费托管、SSL 证书和开箱即用的持续集成和持续部署(CI/CD)功能。
4EVERLAND 能让用户以最顺畅的方式实现一键式操作:
- 登录 GitHub 并 fork 相应存储库的前端代码。
- 使用 GitHub 帐户登录 4EVERLAND Hosting:hosting.4everland.org
- 选择链接到帐户的 GitHub 存储库,4EVERLAND 将链接 GitHub 并自动配置 CI 管道、 CI 环境中安装框架,它还会尝试根据用户正在使用的框架安装依赖项
package.json
并尝试构建(傻瓜式操作,非常香) - 完成后,它将部署到
*.4everland.app
子域名,4EVERLAND 将自动检测针对main
分支的提交,并将其部署到 Permaweb 网络。
同时 4EVERLAND Bucket 允许将每个文件上传到 Arweave,让用户能够安全、方便、高效地从各种去中心化存储协议上传、存储和检索文件。且能与 AWS S3 API、CLI 和应用程序 100% 兼容,还可以使用用户友好的界面轻松管理文件(4EVERLAND 最近联合 Permadao 和 everVision 正在举行优惠活动:新建 Bucket 时记得勾选 Arweave,用户即可以享受到 150 KB 的免费存储空间,超过 150KB 也能享受可享受90%的折扣——立即申请)
开发人员仍然可以以兼容的方式为所有用户提供传统 Web2 的访问,用户不需要费力地记住复杂的Ar Hash,但与由单一的、中心化的 Web2 存储基础设施不同,部署在 Arweave 上的前端网站将在开放、去中心化的节点中持续生存,且没有单点故障。这意味着所有用户不再需要担心部署在 Arweave 网络上的前端消失、被劫持和被篡改。Arweave 本身的理念也一直致力于建立一个不可篡改的、去中心化的网络,将数据的权力重新交到用户手中。此外,4EVERLAND 还支持用户从 IPFS 过渡到 Permaweb。他们只需要利用 4EVERLAND IPFS/IPNS/ENS 部署场景,一键将原来的网站无缝迁移到 Arweave。
同时,4EVERLAND 提供实时 repo 同步更新功能,这意味着可以将更新推送到自己的 Github 仓库,4EVERLAND 将自动获取相应的内容并在 Arweave 上实现更新,Arseeding 网关服务也能以更低的成本来实现部署。
总结
DApp 发展多年,但中心化前端让所谓的“去中心化应用”不那么去中心化,一次次中心化安全事故也让我们加深对去中心化真理的执着,但从 Web 2.0 跨越到 Web 3.0 并非易事,而是一项复杂而充满挑战的任务。4EVERLAND 与 Arweave 从未停止放弃对去中心化技术的创新,也始终在为一个更加去中心化、开放和安全的互联网未来而奋斗。