稍早之前,VeryCD 创始人黄一孟的一条推特曾在中文互联网上流传颇广。古早时代的互联网产品仍在致力于打通网络数据,构建一个开放互联的互联网世界。而这种宏大愿景,在十余年后的今天却仍未实现。
尽管传统互联网已一步步地滑向开放自由的反面。但在如今的加密世界,人们已经将互联互通当成了「默认选项」。但当我们把目光放到即将进入的元宇宙时代、看向 Web3.0 的应用层时,还是同样的结论吗?
你在 The SandBox 元宇宙中仍然不能读取大多数其他元宇宙的 NFT、你在 OpenSea 上买的 NFT 很难在另一条公链上自由的流通、你在去中心化社交平台上积累的粉丝和社交关系更难以带入某一个特定的元宇宙、你那些象征着身份的 POAP 勋章和高等级的 AXIE 也难以在社交平台展示……
a16z 官网在不久前曾发布一篇由哈佛商学院副教授 Scott Kominers 与 Koodos 联合创始人 Jad Esber 联合撰写的文章。作者在这篇《如何建设基于声誉的去中心化身份系统》中指出,这些链上数据蕴含着巨大的价值,而管理和应用这些数据需要可公开访问的数据标准——商定的数据格式,如「一个贡献的证明是什么样的」或「如何表示一项链上记录」。
对这些复杂的信息进行结构化处理,可确保互操作性:(1)使人们能够有意义地组合来自不同服务的「身份」信息,(2)同时也最大程度地减少平台与个人链上声誉的不同方面信息进行交互时,可能产生的摩擦。
多链时代的当下,资产的自由流通已经基本实现。而随着链上应用的发展,一个更宽广的鸿沟却在不断的形成——数据的鸿沟。尽管这并不是创建者们主观期望的,但随着应用的繁荣,愈来愈多的应用产生了愈来愈复杂的数据,而这些数据在当下是难以流通的。
我们注意到一个项目 POD,正尝试解决这类问题。POD 是第一个跨多链的去中心化数据中间件,旨在成为一个安全可靠的第三方的元宇宙及 Web3.0 数据协作平台,其愿景旨在推动建立元数据协作的共识。
本文将以 NFT 为例、从 Web2.0 时代开始,带你了解 POD 的价值所在。
当我们在畅想 Web3.0 和元宇宙之时,不妨先放慢一下脚步,回看一下 Web2.0 时代的数据。以网络游戏为例,你在游戏中的装备只是服务器上的一项数据,并不由你所有。尽管 NFT 可以解决这一老生常谈的话题,但它又带了新的问题。
比如在大多游戏中均会采取的「耐久度」这一设定。耐久度并不是装备本身,但却是装备的一项「属性」,且这一属性还会随用户的使用产生变化。这里即可将耐久度理解为装备的一项元数据。即便是在加密世界里,链游仍然存在数据墙的问题。通过 NFT 将装备资产化之后,「耐久度」这一属性却仍需通过游戏服务器进行中心化的存储和应用。这让不同应用间进行数据的互通更为困难。
元数据(metadata)即描述数据的数据,它们通常是描述数据属性的信息,用来支持数据可以被方便的查找、索引、分类等实际应用。
本文引言中所提到的「豆瓣、VeryCD、Mtime 的电影资料用开放协议打通」,一定程度上即指的是这些「描述资源的数据」——即元数据的打通。在 Web2.0 的时代里,这些元数据有着弥足珍贵的价值,也是一个「互联」的互联网理应开放的数据。
十几年过去了,豆瓣、VeryCD、Mtime 的元数据至今依然没有打通,这很令人遗憾。而更遗憾的是,阻挡元数据的墙,在 Web3.0 革命伊始,又被重新树立起来——尽管这并不是开发者有意为之。
图中所示小雪花代表「冻结」,即 NFT 的元数据已被 OpenSea 存储进去中心化网络并无法修改。在 Opensea 上,NFT 的元数据包括标题、编号、描述、属性等关于这一件作品的信息。
而当你仔细检查你的收藏之后就会发现,大多数 NFT 作品并不会冻结其元数据。去中心化存储的高昂成本也许就是其中的一个原因。
在 Web3.0 中,这些元数据的重要性丝毫不亚于数据本身,而目前这些元数据目前并没有很好的去中心化解决方案。
这会带来什么问题呢?
首当其冲的是资产风险。当然并不是指 NFT token 自身的安全风险,而是指由于描述的缺失所导致的市场认可度的降低。
想象一下,你购买的 NFT 的图片文件是去中心化存储的,但是其编号、标题、稀有度等元数据——就如同 NFT 的「身份证」——却是中心化存储的,这让你的藏品仍然面临着中心化的风险。在多链时代,当 NFT 在不同的链上自由的流转于不同的协议中时,不上链的元数据还能被很好的记录并确保真实性吗?
这又引发了一个更加重要的问题——数据互通的阻碍。在元数据层面上,存在着诸多干扰数据协作的障碍。元数据难以被不同的 dApp 读取并利用。链上数据散布在不同网络的合约中,合约难以从一个单一的公共数据环境中获得所有数据。要访问某个数据元素,系统必须与存储它的协议直接建立对等通信。
更为广泛的来说,NFT 存在的这些问题,仅仅只是元数据困境的冰山一角——这只是因为 NFT 更为普及,而其他应用并不广泛而已。在未来,元宇宙逐渐成型之后,你的社交档案、dApp 数据、GameFi 记录、UGC 内容,又该如何互通呢?在逐渐繁荣的 Web3.0 之中,更多的用户数据被创造,但他们被不同的协议、在不同的链上、以不同的方式被分别创造。
其次的问题是元数据难以关联。目前链上存储广泛使用的是「非关系存储」,通常难以用元数据去追踪两个实体之间的关系,也难以找到与一个实体相关联的其他实体。因此,对链上元数据进行分类和关联是一个挑战。
链上元数据也难以被利用。每个网络或 dApp 在传输数据的方式上都是独一无二的,它的 API、数据编码方法和访问控制可能与其他网络或 dApp 不兼容。因此,来自不同来源的数据必须进行预处理,然后才能协同工作。
而本文以 NFT 切入,仅仅只是一个例子。可以推测,在我们进入元宇宙时代之后,元数据的重要性只会更加增强,应用方及开发者对元数据灵活存储、定义、分类、管理等需求将更是迫在眉睫。
要解决这些问题,我们首先需要厘清元数据的类型。在 POD 的架构中,POD 将元数据定义为三种类型:类(Species)、属性(Attribute)和关系(Relationship)。
顾名思义,类是可以用来定义一种实体的概念。通过 POD,用户可以很容易地在链上定义一种特定的实体。以 NFT 为例,我们可以将不同的 NFT 定义为动物类、怪物类、人形类等等。而对于用户,则可以为其添加一个「Nike 粉丝」的标签,并将其绑定到地址。
属性则描述了某种类型的实体必须包含哪些属性。例如,在描述 GameFi 资产的时候,就可以规定一个飞船的攻击、防御、速度等属性。
关系则用来描述实体之间的关系。比如用头像关系来关联一个 NFT token 和一个特定的地址,任何 dApp 都可以根据这种关系为用户显示头像。这仅仅只是最简单的应用,通过类似的方式,可以将任意两个实体绑定起来,比如某某协议贡献者徽章和某个地址。我们可以通过基于 POD 的用户自定义关系来实现任何基于关系的不同实体的组合。
POD 使用标签作为元数据的载体,将数据和实体绑定实现了数据与实体之间不可转移的绑定关系。用户只需要验证实体是否有标记,然后就可以从标签中读取所需的数据,这将有助于实体数据的验证和获取。
更为巧妙的是,在 POD 设计的架构中,元数据不仅可以是数值,还可通过「逻辑」的形式存在。数值元数据,比如标签、证书、描述等等。逻辑是指能够根据给定条件获取值或存储值的编程逻辑。例如,一个根据用户状态计算实时信誉分数的算法、或一个带有彩票脚本的 NFT。
通过这些途径,POD 试图解决前文所述的元数据之墙的种种阻碍,并实现元数据的全部潜力。
由于这种设计,任何链上实体都可以获得两个新的能力:
基于实体的无限拓展性。POD 允许任何人和任何组织将任意和无限的逻辑和数据绑定到 NFT 或链上的任何实体。这些新功能甚至可以由 UGC 内容生成。从理论上讲,这使得数据可以无限进化,就如同 Warcraft3 诞生出了 Dota。
基于实体的协作能力。以实体为中心,一起读、写、维护数据,形成围绕实体及其特定属性进行多方协作的可能。如物品磨损等级、质量信息、保险、品牌标志、组合信息、贷款等等。
POD 为链上世界的元数据提供了丰富的协作能力。通过 POD,可以使每个 NFT 或每个链上实体获得可扩展性和协作能力,从而扩展应用场景,使 NFT 和链上实体具有无限的价值可能性。还记得 Loot 么?尽管它并未达成预期,但人们围绕着它构建了丰富的组织和内容。
如果豆瓣、VeryCD、Mtime 想要打通他们的数据库,应该如何实现?
相信很多读者都会不假思索的给出一个简单实用的方案——API。API(Application Programming Interface)即应用程序编程接口,指的是通过一些预先定义的函数,让计算机软件之间具备相互通信的能力。可以简略将其理解为通过一个双方都认可的「标准格式」来让不同的程序之间可以互相交流信息。
在传统互联网中,API 是一个极为重要的中间件。而在 Web3.0 和元宇宙的时代,数据除了散落在各个 dApp 之中,更散落在不同的公链上,也因此我们更加迫切的需要这种中间件。而 POD 正试图去提供这种可能。
如果你在 BSC 的某款 GameFi 中是一个拥有大量高级道具的打金达人,而当你进入某款 Solana 的元宇宙中却仍然是默认的初始状态,我们很难说这是一个开放互联的 Web3.0。
想象一下,如果你在这个元宇宙中初生即发放给你一枚「某某游戏打金达人」的徽章呢?或者我们更进一步,如果在 Solana 上的元宇宙,初生即将你在 Polygon 的 Web3.0 社交网络的社交关系延续过来呢?这即是 POD 想要实现的不同 dApp 间的数据互通、一个打通不同 dApp 的元数据标准。
POD 数据库由一系列部署在不同公链网络上的合约组成。这种设计确保了一个一致的数据定义和统一的数据结构,从而使每个网络内的数据能够达到一致性。同时,这些合约通过 POD-Bridge 链接在一起,因此可以将一种元数据类型应用于来自不同链的数据。
这种做法确保了所有网络都能实现数据的一致性,而这也让 POD 提供了不仅限于 token 资产、更是包含 UGC(用户生成内容) 级元数据在内的互联互通的能力。
通过 POD,可以让所有用户在对同一实体有相同理解的情况下,方便地查看和协作相同的数据类别。换句话说,POD 为加密社区提供了一个抽象概念层,允许任何人在抽象概念层上进行协作。
POD 正试图引入更多生态伙伴,推动数据协作生态系统的发展:将多方聚集在一起、建立协作对话、激励社区自下而上的商定数据协作标准……议定主要实体类、常用的元数据类型、用于不同目的的数据存储解决方案、传输接口设计等等。一方面,用户可以利用这个标准无缝地处理来自任何网络的数据。另一方面,他们仍然可以根据自己的业务和需要自由调整标准做法。
当 POD 将来自不同公链、不同 dApp 的数据逐渐汇集在一起时,定义、存储、应用任意网络中任意 dApp 的用户数据将变得可行。随着 POD 的逐渐发展,POD 将向着一个开放和可信赖的数据基础设施的方向前进。若这一愿景逐渐落地,POD 将为推动元宇宙数据协作共识的建立贡献重大力量。
创新和试错永远是加密行业发展最原始的动力,而 POD 则瞄准了元数据这一冗杂却又尚未被重点关注的领域。如果你已经厌倦了行业内的各种 DeFi 仿盘项目,那么不妨来 POD 看一看,不走寻常路的它正在不停探索元宇宙时代基础设施的更多可能。