读懂Web 3基础架构核心:边缘节点(BEC)
最近的俄乌战争中,美国联合欧盟对俄罗斯扔下了“金融核武器”,不仅仅冻结了俄罗斯的外汇储备和将俄罗斯踢出了SWIFT,而且要求各大交易所确保被美国和西方制裁的俄罗斯人无法通过加密货币来躲避制裁。不仅仅Coinbase和各大中心化交易所很快做出了响应,更让人吃惊的是Metamask,Opensea,Dmarket,infra等区块链基础设施公司或主动、或被动的不得不加入制裁行动。乌克兰副总理甚至呼吁西方:不仅要冻结与俄罗斯和白俄罗斯政客有关的加密地址,还希望冻结普通用户的地址。这一系列操作不仅造成了加密货币行业短期的动荡,更是让区块链的去中心化愿景受到了质疑,让去中心化的信仰者非常的失望。
说好的去中心化呢?难道以前Metamask,infra你们不都说自己是去中心化的基础设施?
相对于2020年之前,如今的区块链上的多链架构越来越明显,市值超过100亿美金的公链超过了10条,这些公链承担的用户数和TVL价值都非常可观。但是,如此多的公链,只有以太坊的Vitalik将抗审查和去中心化放在了区块链设计不可能三角的优先第一位(所谓的“不可能三角”是指在区块链公链中,很难同时做到既有很好的“去中心化”,又有良好的系统“安全性”,同时还能有很高的“交易处理性能”)。其他区块链都在宣传自己相对于以太坊速度更快和体验更好,但背后牺牲的却是公链的去中心化。
回到2015年之前,世界上只有比特币和“其他币”。所有比特币钱包的设计为了保护隐私,遵循一次交易换一个地址,为了保护安全,随机更换链接点节点。2015年之后,随着区块链的数据量越来越大,币圈用户越来越脱离加密的核心用户,以及ICO的热潮让大量的草根用户脱离中心化的交易所进入去中心化的钱包,区块链的基础设施的设计越来越在去中心化的天平上倾斜于中心化,因为这样的设计更容易提高用户体验。
作为区块链世界中“被信任第三方”,区块链基础设施设计在逐渐中心化的路上出现了以下变化:从POW验证到DPOS验证;大量的节点服务商出现。这些设计作为短期有效的捷径,让区块链基础设施服务商快速地提供用户体验优异的服务,满足快速增长的区块链数据规模和用户规模的需求,但是这些方案存在的潜在问题在这次俄乌战争中集中爆发出来。
我认为未来Web3.0的技术架构不应该处于完全去中心化(类似POW的全节点)和中心化(类似于infra集中节点)的两个极端,而是一个从用户端出发,赋能用户端,然后根据数据和场景的需求通过层级延展到完全去中心化的区块链,形成一个有层次的网络架构,具体实现形式就是边缘计算,从个人边缘节点,到多层次多区域边缘节点,然后链接到完全去中心化的区块链,用户和DAPP可以选择在哪一个边缘节点层级实现一定程度的去中心化。
让我们来推演一下:自从信息技术诞生以来,计算机架构经过了以下的几个阶段:
- 1950年由大型机和傻终端组成的server-terminal架构,数据的产生和计算集中在机房;
- 1980年开始的server-client架构,数据的产生和计算由机房的服务器和终端的电脑共同承担;
- 2000年开始的server-browser(包括APP)架构,数据的产生和计算大部分由机房的服务器承担,小部分由终端的电脑或者手机承担;
以上架构的共同特征就是:数据集中存储在机房服务器里面的大型数据库集中管理,为分散的终端电脑提供数据存储和访问服务。
Web2.0进化到3.0的典型特征包括:以提高效率为核心演化成以个人价值控制为核心;以消除信息不对称演化成以价值交换为核心;我们相信Web3.0的基础架构的核心,以个人控制数字资产为前提,由高频巨量的价值交换为通信协议,而支撑的众多用户应用场景。这个核心架构的实现形式为Blockchain-Edge-Client(BEC)架构。
下面我们从Web3.0的典型用户场景,找出他们与现在的client-server架构的矛盾,然后推导出BEC如何更好地支持Web3.0时代的变化。
Web3.0时代的基础需求包括:
1. DID
去中心化的前提是个人身份(IDM)的识别,传统的身份识别由政府部门和用户使用网站的账户代表和控制,经历了1996年互联网上聊天不知道对方是条狗的匿名时代,到2004年Facebook主导的实名阶段,对应着互联网应用也经历了从游戏和信息获取工具到电子商务和企业SaaS的阶段。如果未来互联网过渡到价值互联网,那么用户的隐私和数字资产保护将成为首要任务,计算机架构的设计也需要从高效率,高可用性过渡到高安全性和高隐私保护。
如今,区块链行业的IDM就像Facebook出现前的互联网,以公钥地址作为身份识别符号,或者以无聊猿NFT作为身份代表,以匿名性作为唯一特征。如果区块链的应用真正进入社会经济,去中心化的身份管理(DID)需要进入实名阶段,需要支持授权(Authorization),认证(Authentication)以及去中心化的通讯录(Decentralized Contact Book),这需要新一代的DID协议和更强大的钱包。由于用户的客户端(大多数情况下是手机)往往绑定了真实的身份特征,很难为用户提供隐私保护,因此个人边缘节点会大大增强用户管理身份的能力
2. Decentralized Credit Score
信用分是价值交换的基础组成部分,没有信用的交换只能是物物交换和超额抵押借贷,正如2020年流行的DeFi,其运营基础就是超额抵押。
未来的发展将是基于多源数据(包括区块链交易数据和链下数据),由运行在边缘节点的零知识证明算法推导出的个人信用分。
个人信用分将会被运用在空投,无抵押借贷,DAO治理,甚至POS的staking。
3. DCB(Decentralized Contact Book)
一个去中心化的通讯录是用户授权和认证的基础,比如授权某些用户可以访问自己的照片;授权某些应用可以访问自己的隐私数据。去中心化的通讯录设计可以参照历史上的web-of-trust,或者区块链的转账记录来形成,可以通过DCB协议来提供用户地址查找和映射功能。
4. DIM(Decentralized Instant Messaging)
由于用户的聊天客户端无法保持24*7的在线,所以当今所有的聊天软件包括微信,Whatspp,Telegram,Discord都无法避免由中心化的服务器提供存储,转发或者握手的功能支持。
一个完全去中心化的聊天软件,无可避免的需要依赖个人边缘节点来支持常在线和消息推送功能。
5. 个人数据资产化
手机的广泛应用和功能的增强,让用户有意无意积累了大量的个人数据,在Web2.0时代,这些数据成为互联网巨头企业的金矿,形成了用户销售个人隐私获取免费服务的主流商业模式,打破这个模式的唯一方法就是用户缴纳使用产品的费用,自己保存自己的数据。雏形就是现在用户每次运行以太坊的智能合约都需要缴纳运行费用(GAS)。相应产生的用户数据,用户需要自己保存在自己的边缘节点。如果第三方需要访问使用这些数据,需要经过用户的授权,经过同态加密的方式,或者下载算法到边缘节点运算只分享计算结果的方式来有偿的使用用户数据。对应于创造者经济,无疑是一个保护自有版权绝佳的方法。
6. 边缘节点的去中心化的DAPP store
目前手机上各种中心化的APP是作为一个黑盒环境提供给用户,用户无法控制自身资源与应用的可信运行状态。同时这种环境也经常出现自身业务 BUG 问题,导致用户数据丢失、应用运行异常的情况。
而缘节点上将会存在一个去中心化的DAPP store,针对不同区块链的不同DAPP,可以安装到用户的边缘节点。由于边缘节点的这些数据被用户自己所掌控,同时这些数据虽然都是分布式的,可以进行信息同步。边缘节点设备也可以被贡献作为基础资源被开发者使用,开发者基于边缘节点的算力、存储、网络等资源开发各种功能的DApp。
7. 一个以泛交易为基础的数字资产交换网络
Web3.0出现之前,互联网的所有商业模式的收入根源于满足用户娱乐(游戏,色情,和赌博),购物(电子商务)和提高工作效率(SaaS),广告收入作为以上业务的衍生收入成为大多数互联网企业的主要收入来源,包括搜索公司(Google和百度),社交公司(Meta和Twitter)。
广告收入模式的本质是用户隐私数据换取免费使用服务。Web3.0的核心是用户控制自己的数字资产,支付服务的使用费用(GAS)。
显然,像今天的DeFi一样,用户需要对每个合约进行授权,每次调用某个功能都需要签名的用户流程是无法支撑复杂的产品使用的。而且,仅仅Coinmarketcap收录的交易所500家,虚拟货币就达2万种(作为对比,美国和中国上市公司总和都才1万家),公链数百个,一个用户如果需要跨链操作,在不同的token之间兑换,是非常复杂和繁琐的。
为了支持任何有意义的Web3.0应用场景,未来的互联网计算架构应该是以巨量高频的价值交换网络为基础的,一个公链合约对另外一个公链合约的调用和费用支付兑换,应该是完全高速自动的,不需要用户的主动认知和参与,我们称之为高速高频自动价值交换网络,而如果实现这样的网络,代表用户由用户控制的边缘节点是基础。主要原因包括:
1. Web3.0 需要边缘节点的在线链接能力;
由于用户设备无法和没有必要保持随时在线,而Web3.0的应用场景经常要求客户的数字资产保持在线(包括聊天消息的到达性和个人数据的分享),这个矛盾需要由用户控制的边缘节点来解决。
2. Web3.0 边缘节点的存储能力;
由于Web3.0的去中心化和个人控制数据要求,用户需要自己可以控制的存储空间。而现在区块链的存储项目存在两大问题,无法满足任何应用需要的即时访问,以及利用区块链存储数据的成本远远高于中心化的存储方案。
更好的解决方案是将数据存储分层。就像现代计算机的架构中的设计,存储和计算分层为全局计算长期存储,部分计算和暂时缓存,网络计算架构同样分层,Blockchain将会作为整个网络的全局计算和长期存储层,而处于中间的Edge将会作为局部计算和暂时的缓存服务(比如infra),用户节点只存储为了保护用户隐私和提高用户体验存储的数据,手机端只作为数据采集,用户安全验证,管理,和为用户服务的界面;架构中间的edge可能分为更多层Edge,面向用户端的Edge将承担存储用户隐私数据的职能,而远离用户的Edges将承担共享数据缓存的职能。
3.Web3.0 需要边缘节点的计算能力;
由于用户控制自己的数据资产,任何基于用户数据的计算需要在用户控制的存储空间内运行,由此产生的个性化推荐算法可以只分享计算结果而不用分享隐私数据。