Web3创造者经济研究(二)

创造者经济的技术堆栈发展⽅向

前⾯我们讨论了创造者经济是怎么回事,又是怎么发展的,最后当前存在哪些问题。

接下来我们扫描Web3.0技术栈,详细讨论技术发展的框架及其详细脉络。


在上图展现的是典型的传统互联⽹应⽤的技术架构,每个完整应⽤都⽆法脱离每个技术层⾯。

⼀个传统⽤户管理系统开发,我们需要Linux系统安装Java运⾏环境,我们的后端Java代码存放运⾏在Linux⽂件系统中。维护⽤户的name、phone等等字段,需要进⾏增删查改操作,我们就需要MySQL数据库软件,对这些关系型结构的数据进⾏维护。和前端交互通过TCP三次握⼿,将REST Api暴露给前端应⽤。⽽⽤户则通过浏览器发出对⽹站的GET请求,下载到⽹站HTML、CSS、JS等资源⽂件。在界⾯上操作完成对⽤户数据的交互。

上⾯这段描述,基本是传统互联⽹应⽤完整设计的简单案例。Web3.0技术未来的发展⾛向也不会跳脱开Web2.0的技术架构。创新是由历史多个微创新叠加形成,很难凭空出现跨越式创新,市场环境匹配度也很难跟上。Web3.0时代的创造者经济,也需要对应的技术进⾏创新才能成⽴。

问题来了,Web3.0时代不同层⾯的技术栈,需要什么形式上的变化?Web3.0技术栈有⼏⼤特点:去中⼼化,加密隐私化,资产⾦融化,变现细度化,权利下放。同时我们还探讨创造者经济,不同⾏业的创造者其⽣产的信息产品内容不同、展现形式不同、⽂件格式也不同。因此我们在探讨时候,建⽴以X轴为不同格式的⽂件,Y轴为不同层⾯的技术栈。

⽂件系统

⽂件作为创造者⽣产出来的信息产品的最基本单元展现形式。管理⽂件是其功能之⼀的传统操作系统有Linux/Windows/MacOS,这些头部的市场玩家⾜够使⽤,没有必要反复造轮⼦,市场不会买单,反⽽增加了⽣态参与者的进⼊门槛。

相⽐Web2.0,Web3.0⽣态下⽂件系统最⼤变量在哪?⽂件系统所处环境发⽣变化,由可控变成不可控。这⾥指的是⽂件系统集群由中⼼化变成去中⼼化。因为外部环境发⽣变化,对⽂件安全管理需要采取风控⼿段和防欺诈证明。典型案例就是Filecoin,其复制证明算法是⾏业内最安全的。为什么其是最安全的,我们在这⾥需要解释:如何在去中⼼化环境中,证明⾃⼰是完整存储了⽂件?

简单的复制证明

• Toy solution:

• 每⼀个矿⼯,提交⼀次加密后副本给验证者

• 验证者检查副本的哈希,⽐对区块链记录

• 如果验证者检查副本哈希==区块链哈希

• 每⼀段时间重复⼀次

• 弊端:

• 矿⼯证明很⼤,size = 加密后副本

• 验证时间很长,算⼀次副本哈希

• 两次检查中间可能会丢弃副本

Probabilistically checkable proof

• PCP 定理告诉我们:

• 验证者不需要检查完整的⽂件,多次随机抽查,达到99.999%置信度

• 怎么做

永续⾃动分红智能合约永久⾃动执⾏

裂变流量⾃下⽽上的群体驱动,这样不依赖⼤平台的流量魔咒/六度⼈脉、社交图谱/玩家

属性

⽂字图⽚⾳频视频游戏Vox(3D模) 结构商业

数据

投资研究报告8

• 验证者随机抽查⼀个⽂件碎⽚c

• 证明者检索c

• 提供证明,c是副本的⼀部分

• 验证者给出接收该陈述的概率p

• 重复抽查,直到达到置信度⽔平

• 优点:

• 检查少量次数就能相信证明⼈的陈述

• ⼤⼤降低了证明的规模,⽐如有1000个碎⽚,随机抽查50次,能达到很⾼的

置信度。

• 未回答的问题:

• 如何证明c是副本的⼀部分

交互式复制证明

• 基于PCP定理,验证者多次随机抽查多个⽂件⽚段

• 每⼀个⽂件⽚段证明者运⾏如下:

• 从副本⽂件开始⽣成完整的默克尔树

• 从验证者请求⽚段c开始,⽣成默克尔路径M_route[c]

• M_route[c] 给验证者

• 验证者运⾏如下:

• 验证c是否合法

• 计算默克尔路径 M_route[c] 是否合法

• 检查默克尔根是否正确(公共知识)

• 凑合的存储证明⽅案

• 两次检查间隔期,可能会丢弃副本

⾮交互式时空证明

• 如何保证

• 矿⼯在两次检查间隔期不能丢弃⽂件

• 哪怕1秒都不敢

解决办法:重复⽣成复制证明

• 每⼀段时间公开可验证随机数r

• r 映射挑战c

• c通过哈希函数得到挑战c_1

• 证明者计算默克尔路径,⽣成复制证明Pi_1

• 通过[Pi_1,c] 哈希⽣成挑战c_2

以上关于⽂件存储证明内容节选⾃Huobi Ventures的同事 Yuming Huang《Filecoin对零知识证明的应⽤》

通过不同存储证明对⽐,基于零知识证明实现的⾮交互式时空证明,其安全可靠性最⾼。Filecoin解决了,在不可信环境下,⾼效得去验证⾃⼰的⽂件被安全保存着的问题。

虽然安全性问题已经解决,在⽂件检索上⾯还有很多可以探索的空间,例如:

• 利⽤ASIC芯⽚对零知识证明算法的加速

• 利⽤更⾼效优雅的数学实现,来降低零知识证明的计算复杂度

Web3.0⽣态下,在⽂件系统层⾯不仅仅是存储证明。传统的⽂件通过系统记录的存放路径以及系统的IP地址 ,外部通过IP地址加上⽂件存放路径的字符串进⾏获取。⽽新型的⽂件命名空间,以⽂件哈希CID和数据结构IPLD为代表,⽤户直接通过CID获取到唯⼀对应的⽂件。这些技术在IPFS和其他项⽬技术实现存在共通,⽽且应⽤⼗分⼴泛。

⼩总结:只有在数学层⾯验证通过防欺诈攻击,才能真正实现⽂件系统的安全性。采⽤半中⼼化的⽅案,都会成为不伦不类的怪物。

数据库

创造者对⽂件进⾏处理时候,普通操作为GET和PUT。但更多场景时候,涉及到的业务逻辑更加复杂。我们需要对⽂件进⾏增删查改,或者⼀些场景下,不同⽂件数据有逻辑关联性。例如:⼀名KOL发表了⼀篇⽂章,这时候需要记录这个⽂章⽂件和KOL⽤户名的关系,创建时间,对应的⽂件CID值。这样当KOL在查阅时候,可以根据⽤户名、时间、CID去进⾏查询。当他修改⽂章时候,提交内容也需要他所有相关的参数才能修改成功。这些复杂关系,关联条件,需要⼀个类似Excel的数据库进⾏管理。

⽩话来说,就是图书馆管理员⼿上记录图书关联信息的笔记。

相⽐Web2.0时候,实现去中⼼化的数据库存在巨⼤挑战。本质上Bitcoin和以太坊,都是⼀个去中⼼化数据库⽹络,全节点客户端⾥⾯安装了数据库插件,所有区块数据,账户状态数据,都需要⼀张表去关联。所有全节点的数据库需要实时同步。这样的结果是,节点资源消耗巨⼤,⽽且需要全⽹同步带来低效结果。为什么链上存放资源空间有限?对于Web3.0要求强⼀致性的背景下,必须要做出取舍。

当前⼀些⼤规模去中⼼化数据库的实现⽅案,采⽤Layer2⽅案,不要求全⽹⼀致性,同时还要保证数据未被篡改。基于IPFS实现的ThreadDB实现了在Layer2下去中⼼化数据库,但安全性上并没有保障。但是基于Filecoin实现去中⼼化的数据库存在可能性。

这⾥⾯也存在关系型数据库和⾮关系型数据库,不同编程语⾔实现,查询或者事务操作的执⾏速度。这些都是市⾯上空缺的。对于数据库分⽚,多源多节点关联查询等等以及更多场景需要去挖掘。挖掘场景的思路就是,当你作为⼀个复杂应⽤的创造者,利⽤Web3.0技术栈去开发会遇到哪些困难和挑战,这些都将成为机遇。当然这些困难具有普遍性和个例性,还是需要市场调查才能佐证。

相⽐现在成熟的数据湖、数据仓业务,去中⼼化数据库挑战在于,外部条件不可信,完全P2P分散状态,对不同⽹络节点中的数据库进⾏分类组⽹,达到最⾼效执⾏事务。

同时运⾏去中⼼化数据库节点,如何实现防欺诈证明也是重⼤挑战之⼀。

计算层

对于计算层的定义为虚拟机利⽤操作码对硬件平台资源进⾏业务逻辑相关的计算。但是虚拟机的功能类型又分为:有限能⼒虚拟机、完整能⼒虚拟机。

有限能⼒虚拟机:

以Solidity智能合约编程语⾔为代表的EVM,虽然⾃⾝存在⼀些功能不完整,不妨碍其⽬前成为Web3.0技术栈中的主流。其背后原因是因为开源运动推动了EVM成为主流。开源运动本⾝特性是⾃下⽽上,社区开发者⾃发性的去选择了EVM。不管是谁想⾃上⽽下去推动⼀个标准,这是极为困难的。在社区开发者层⾯会受到极⼤的阻⼒,新的事物代表了新的学习成本和学习时间。以太坊对开发者⽣态多年的建设,已经将多个标准润⾊细⽆声地植⼊到所有开发者的⼼智中。

但是EVM也存在局限,没有定时器功能,⽆法在满⾜特定条件情况下,实现⾃动执⾏相关业务逻辑的智能合约代码。底层操作码也⽆法和其他去中⼼存储交互。合约代码也难发起Http请求,去调⽤其他Http Api服务商的服务,例如调⽤短信通知接⼜。

对于复杂业务逻辑的合约代码,增加了Gas成本,另外也增加状态数据爆炸的压⼒。⽬前以太坊全节点需要同步的完整区块数据已经达到上TB⼤⼩。因此⼀些项⽬采取了降低Gas成本,减少产⽣状态数据的体积。他们具体实现的⽅案是,将合约执⾏层放到Layer2层,每个计算的执⾏⽣成ZKP证明,Layer1只是对其证明进⾏验证,链上只增加或者删除改计算执⾏的记录,最后全⽹络同步。这样链上实际存的每个数据⼤⼩只有⼏Byte。

完整能⼒虚拟机

我们⽬前看到很多所谓的Web3.0应⽤,其实都是半中⼼化的。利如⼀个所谓的去中⼼

化博客系统,如何实现让其读者进⾏邮件订阅?现有智能合约平台就很难,只能去接⼊其他⼚商的邮件订阅SaaS服务。

对于这种情况,⼀些项⽬采取的实现⽅案如下:

他们构建了由WASM虚拟机节点组成的⽹络,每个开发者可以⽤⾃⼰熟悉的编程语⾔编写逻辑,编译成WASM可执⾏的⼆进制⽂件,最后存放在IPFS⽹络上。每个开发者需要将⾃⼰的Http接⼜统⼀定义成标准的描述⽂件。发布到这个⽹络中,使⽤服务的⼈通过DSL编程 ,将不同功能属性的服务进⾏组合,实现他的业务场景。例如⼀个开发者发布了兼容邮件协议的服务,被调⽤时候就可以享受收益。

因此实现了⽬前很多Dapp⽆法实现的功能。

因为WASM虚拟机的强⼤性能之处,⼀些团队尝试在同个WASM虚拟机中跑EVM、LLVM、JVM等等其他 现在⼯业界成熟的虚拟机。这样同⼀个虚拟机沙盒环境中,Solidity开发者也能通过状态机间接享受EVM⽆法实现的功能。另外这种场景也可以通过跨链可互操作协议,实现不同链之间的功能共享。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章