Web 3的核心基础设施

Web 3的核心基础设施
2022年09月26日 13:30 AI前线

近一年多来,技术圈最热门的话题一定少不了 Web 3 的身影。Web 3 的追捧者将它视为互联网的未来,但更多人仍然对这一概念感到云里雾里。

Web 3 的定义与落地时间都充满争议,甚至有人指责它只是又一次技术炒作。那么,究竟该如何理解 Web 3?Web 3 能否实现支持者的预期?针对这一话题,《InfoQ·极客有约》特别策划了一场「共话 Web 3」专题直播。

本场专题直播共组织了两场线上圆桌论坛,邀请多位对 Web 3 有深入研究的专家共同探讨这一新晋技术概念,希望帮助国内开发者和感兴趣的朋友更好地了解 Web 3。

第二场圆桌对话的主题是《Web 3 核心基础设施》,本场主持人是北京红枣科技 CEO、BSN 发展联盟常务理事何亦凡,对话腾讯云长安链基础组件负责人曾毅、OPPO 终端安全技术总监黄冕两位嘉宾。

主持人何亦凡:我们今天讨论的主题是 Web 3 所使用的核心基础设施。在展开讨论之前,我们还是要先来谈一谈 Web 3 的定义,请两位嘉宾用描述性的语言来讲一讲 Web 3 究竟是怎样的事物。

曾毅:谈到 Web 3,肯定要从 Web 1 和 Web2 说起。Web 1 的典型特征就是门户网站,诸如雅虎、美国在线、中国的网易、新浪、搜狐、腾讯等。那时,上网用户的主要行为是读,通过门户网站获取信息。Web 2 是以 Twitter、微博为代表,这时用户可以自己生产内容,可读、可写互联网从传统的 PGC 主导变为 UGC 为主。同时 Web 2 的联网设备也从 PC 过渡到了手机为主。

Web 3 的最大特征是可读、可写、可拥有。我们以前生成的信息最后都存储在平台上,平台又可以贩卖这些信息,获取广告等收入,但用户本人只会有一些流量增长,不会有很大收益。

但 Web 3 的可拥有包含两层含义,首先是我自己生产的内容属于我自己,不是直接交给平台让平台拿来获利;其次我的资产是我自己所有的,只要保管好私钥就不能被别人盗取。这样就形成了去中心化的局面,也就是说不会有垄断和寡头平台有能力作恶,盗取或挪用个人资产。

黄冕:我从用户痛点的角度来看这个问题。Web 1 解决了用户信息获取的痛点,Web 2 解决了用户创造信息的痛点,而 Web 3 要解决的就是用户要掌控自己所生产信息的痛点。所以 Web 3 代表的趋势是一定存在的,而且是正确的方向,最终我们一定会解决用户面临的这个痛点。

主持人何亦凡:我从系统架构层面来解释一下,这里用到一个词是“公共信息化系统”。今天的 Web 2,互联网上所有网站都是由某家公司控制的,用户存储的数据,法律意义上都是归属于这些公司。

但区块链带来了新的概念,就是公共信息化系统。这个系统里的数据是共同管理的,没有任何一个垄断的控制方,用户可以自行控制,可以掌控自己资产的所有权。这个系统所使用的技术只有区块链一种选项。

主持人何亦凡:在国内,长安链有着完善的区块链底层技术体系,那么请问曾毅,Web 3 的底层区块链技术体系是如何支撑用户对内容和数据的所有权,从技术角度是如何实现的?

曾毅:区块链技术是一个分布式、去中心化的账本。分布式意味着它不是一个完全唯一的垄断节点,不是由某一个组织持有的。所以数据并不是由某一方所拥有的,也就是说, 分布式技术预防了数据被垄断的情况。

而去中心化并不是说, 任何人都可以参与到整个区块链网络中发起记账,记账权还是落到了几个组织节点手中。但现在是由多个厂商来联合记账,如果有任何一方要作恶,比如说篡改数据或者产生错误数据,那么其他参与记账的节点都是不会认同的,也就是说这个作恶行为被避免了。另一方面,如果某一家厂商倒闭了,区块链上的数据也依旧可以保留下来,不会出现厂商倒闭数据就丢失的情况;这家厂商运营的服务还可以被另一家厂商接手,服务本身还可以继续运营下去。

区块链还有个非常重要的概念叫钱包。如今用户个人的私钥,也就是能够唯一代表用户身份的信息是加密存储在个人的手机或者电脑里。所以用户能够从技术上证明,用私钥签名的数据确实就是自己拥有的,因为当发起的交易上链,都有用户自己的私钥创建的数字签名,这是没办法被篡改的,这就成为了拥有权的证明。

另外用户也可以对数据进行加密存储,即使数据放在了去中心化的互联网上,大家都能够访问也无所谓,因为访问到的数据全都是加密的,真正要去使用这些数据就必须要持有数据解密的密钥。如果说厂商要访问用户数据,也必须要经过用户同意、授权。通过钱包这种形式就能保证用户真正拥有了数据。以上就是区块链为实现 Web 3 目标所用到的几种关键技术。

主持人何亦凡:所谓去中心化,有绝对和相对之分。绝对去中心化就是所有人绝对平等,而相对去中心化就是信用由几家大型企业或组织来背书。那么请黄冕从手机厂商角度来解答一个问题,就是未来的手机设备除了与厂商云平台通信之外,手机之间会不会形成一个分布式基础设施网络?

黄冕:理论上说这是有可能的,但还需要等待技术成熟。我们用 OSI 的模型来看 Web 3 的技术体系,那么其中的物理层就是 4G、5G 这样的基础通信网络,传输层就是区块链,再上一层的表述层就是跨链技术。最上面的应用层是 Web 3 的各类应用,其中包括分布式数字身份体系、分布式存储等基础设施。

现在我们的物理层虽然已经到了 5G 时代,但要实现全网分布式处理所需的延迟、覆盖指标都是很难做到的。全网分布式还需要手机都有自己的 IP,这也需要等待 IPv6 技术普及。第二个问题是,全网分布式联网相当于一个公链,公链需要每个节点有很好的安全性,目前也是条件不够成熟的。所以这个愿景还是需要等待各种技术的发展,随着基础设施的改进未来迟早会实现这个目标。

主持人何亦凡:黄冕提到了区块链的一个效率问题。今天的区块链在效率上和中心化系统之间有着巨大差距,比如说支付宝应付双十一流量需要的 TPS 高达 50 万级别,现在的区块链技术远远达不到。那么请曾毅来谈一谈,未来的区块链该如何解决这个问题呢?

曾毅:区块链领域著名的“不可能三角”理论是说,去中心化、安全性和效率三个要求不可能同时满足。像比特币、以太坊这种完全去中心化的设计就牺牲了效率。所以针对不同的场景要有不一样的实现,对“不可能三角”做取舍。比如说联盟链就会舍弃绝对的去中心化,变成多中心化的概念,通过这种方式来提升性能。比如说在企业部署区块链,我们可以直接指定某几方负责产生区块,其他参与方只负责同步。因为线下我们已经达成了共识互信。拿银行举例,就可以是四大行负责产块,其他银行负责同步数据。这样通过牺牲去中心化指标的方式就提升了性能。另一种方式是建立很多侧链,或者通过 DAG 有向无环图的技术实现交易的并行处理,从而提升性能。

主持人何亦凡:谈技术一定离不开安全性话题。请问黄冕,在 Web 3 的环境中,现在的终端智能设备能否达到保障节点安全性的级别呢?

黄冕:如果是很简单的记账需求,现在我们的可信执行环境已经能够处理了。但 Web 3 的安全要求其实更多更复杂一些。比如说很多时候,第三方需要用户授权来使用用户的数据,这时用户可能处于离线状态,这就可能涉及同态加密等技术;另外如果标识用户身份的私钥丢失,去中心化环境下是无法找回的,这也是一大问题;最后共识算法本身也可能有漏洞,未来也需要妥善应对。所以 Web 3 的安全挑战不止存在于终端,这是整个体系都要面对的问题。

主持人何亦凡:这个话题正好引申出来长安链的另一个特点,就是开源。我认为开源技术往往是很安全的,那么请曾毅来谈一下长安链开源的决定和整体的安全性。

曾毅:对于区块链技术而言,开源是必须的路线。因为区块链技术就是建立在人和人之间不信任的前提假设上的。区块链真正开源的是协议,也就是区块链定义的数据结构、数据表示方法、数据处理流程这些内容。其他人对区块链的源代码不信任的话可以自己再写一套实现,只要大家遵循的协议一致就可以互相兼容。

另一方面,长安链考虑的是更多引入开源标准,比如说长安链引入了三个不同的国密算法引擎,从而进一步提升安全性。用户觉得依赖的某个组件不够好,可以自己去替换、实现,或者选择其他的组件。通过这样的开源路径,长安链的安全性就有了保障。

主持人何亦凡:曾毅的解释非常专业、高质量。接下来我们进入问答环节,第一个观众问题,Web 3 技术是企业主动推动的吗?请解答一下。

曾毅:Web 3 不一定是企业主动推动的,因为现在所有数据都在厂商手中,商家可以拿来用户数据赚取丰厚收益。Web 3 会让数据回归用户,这就有可能革掉厂商的命。但同时,政府可能会从法律的角度推动 Web 3 的发展,比如说用数据保护法案的形式阻止厂商滥用用户数据等。

主持人何亦凡:第二个问题,对于程序员来说,是否现在就要开始学习 Web 3 的开发技术?

黄冕:Web 3 是一个技术体系,现在还处于探索阶段。所以,现在开发人员没必要过早去接触,等到相关应用有了一定规模后再学习比较合适。

曾毅:长安链在腾讯云上有两个产品,一个是 TBaaS,主要面向企业级应用;另外面向个人开发者我们推出了 Lighthouse,集成了区块链相关的浏览器、各种管理工具、生态工具,是一个开箱即用的平台。这个平台对于开发者来说非常友好,开发者可以快速上手进行区块链的开发工作。

主持人何亦凡:技术人员要入门 Web 3 有什么推荐的学习路径吗?

曾毅:我建议首先去看《精通比特币》这本书,因为它讲了整个区块链思想的基础。我们首先要明白区块链底层到底是怎么一回事,然后才能开发好 Web 3 相关的应用。具体到 Web 3 的应用上,我们可以选择不同的技术栈,可以使用长安链、以太坊的测试链这些实现,在上面自己搭一条链进行试验。应用的开发只取决于所选择的区块链相关的应用生态。比如选择长安链,就可以基于它上面各种语言的 SDK 来开发具体的应用。

总结一下,首先我们要有区块链的基础知识,推荐《精通比特币》这本书;第二是要有智能合约的开发能力;第三是使用所选的区块链配套的工具链来进行应用的开发工作。

主持人何亦凡:下一个问题,区块链去中心化环境相比传统环境,在安全性上有哪些优势?

曾毅:Web 3 时代,虽然我们的数据都在云上,但只要我们掌握个人的私钥,就能够绝对保证数据的安全性。这里有一个问题,就是数据一旦被用户自己授权解密,之后传给另外一方,第三方就可能把数据泄露出去。针对这种风险有另一个技术叫安全多方计算,可以实现第三方对数据可用而不可见。所以这样以来用户只要保管好私钥就能保障数据安全,即使数据全部都在云上也没关系。

黄冕:从风控视角来看,比如说现在支付宝处理转账就是中心化的过程,背后有一个强大而秘密的风控系统来识别风险。但区块链上不存在秘密,那么 Web 3 世界中如何处理风控也是很有趣的课题。

主持人何亦凡:下一个问题,区块链技术中主要有哪些共识体系,能否简单科普一下?

曾毅:从专业的角度来讲主要分为两种,一种是 CFT(崩溃容错),一种是 BFT(拜占庭容错)。CFT 允许链上节点宕机,但不允许节点作恶。比如说银行间建立了联盟链,银行之间在线下已经有了共识和信任,就不会有作恶的情况,比较适用于 CFT。BFT 考虑的是节点可能会作恶,针对这种可能有一套复杂的逻辑,经过三个阶段来阻止作恶行为的影响。CFT 因为已经有了预设的信任,所以性能就会很高;BFT 会质疑主节点是否作恶,就需要有验证机制,于是性能就会低一些。

去中心化的实践会受到哪些阻力?

何亦凡:我个人认为最大的阻力来自传统厂商,因为他们的商业模式依赖的就是用户数据,所以必然会想方设法阻止 Web 3 来革自己的命。

持人何亦凡:下一个问题,哪些数据应该上链,哪些数据不适合上链

曾毅:如果说我们有大量数据,一定是要做外部存储的。外部存储该怎么上链?简单的方式就是直接算哈希,只要把哈希上链,以后只通过哈希和原来链下的数据进行比对,就可以知道当时上链的数据是不是我们现在所有的文件。这样数据量很小,成本较低,也没有很大的数据压力。

主持人何亦凡:又一个问题,区块链项目的关键实施路径有哪几步?

曾毅:生产环境中有云实施和原生实施两大选项。云实施是通过 Docker、K8s 这类云技术来实现,比如说长安链、Fabric 等区块链都提供了这种镜像,用户只要直接下载镜像,修改一些参数就可以直接启动一个链。原生实施则需要理解区块链的主要原理,来配置 P2P 网络的具体细节、规划各种节点的角色设置、生成私钥、公钥、证书等等。原生实施中,这些工作都是要自己做好的。

主持人何亦凡:最后一个问题,怎样在业务上衡量去中心化的程度?

何亦凡:我认为去中心化不是目的本身,做到什么程度取决于业务。去中心化的核心目的是保证可靠性,提供信任机制,但这样就会牺牲效率。所以要考虑业务究竟需要多高的可靠性,为此是否值得付出那么多效率代价。永远要记住以最高效、最低成本的方式来处理业务,千万不要为了去中心化而去中心化。

曾毅:我非常赞同。对联盟链来说,去中心化主要是要避免某一方作恶,或者防止一个节点宕机。大多数业务场景不需要那么高的可靠性,也就不需要绝对的去中心化。

黄冕:未来的去中心化程度一定是和场景高度相关的。比如说一种可能性就是同一人所有的多个设备之间形成一个去中心化网络,来处理特定的业务需求。

主持人何亦凡:谢谢大家,今天的讨论就到这里。今天我们在技术方向和体系方面讨论出了不少新内容,值得我们好好思考和回顾。也感谢 InfoQ 组织这样的讨论会,感谢大家的参与和支持。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部