打开Web3.0:取消绑定中心化矢量

前言:在web2.0中,数据所有权属于平台,导致平台数据不时泄漏的问题。然后,随着web3.0的出现,我们可以取消绑定数据和应用程序逻辑的所有权。如果可以实现,如何实现呢?本文作者Kyle Samani由“Blue Fox Notes”社区的“SL”翻译。

一年前,我根据当时的理解解释了Web3堆栈。最近,我提到了Web3的投资主题。正如我所强调的,Web3的一个关键含义是数据所有权和应用程序逻辑的解除绑定。在本文中,我将解释这种解除绑定中固有的具体问题以及我们如何考虑投资Web3堆栈。

数据库和数据在哪里?

出于实际目的,当今的大多数应用程序可以被视为基于数据库的UX。有一些例外,例如视频流和视频游戏。但通常这是正确的。事实上,几乎所有主要的消费者服务,如Facebook,Reddit,Evernote,Twitter,Google Docs,Gmail,iMessage等,都可以简化为基于数据库的用户体验。 (Blue Fox Notes:UX是基于界面用户和产品的交互式体验的用户体验。)

在Web2模型中,应用程序提供商存储和管理用户数据,因此用户无需自行管理。此外,Web2应用程序提供商始终在线,因为他们全天候运行服务器,即使用户经常处于脱机状态(例如,在地铁中,网络连接不良,电池电量不足等)。在Web3模型中,没有中心化应用程序提供程序,因此需要更改数据所有权的范例。

这提出了几个问题:

1.用户在哪里存储TA数据(假设她没有维护自己的服务器,让我们呼叫用户Alice)?

2.如果Alice离线,内容发送者如何向她发送内容?

当然,答案必须是:将内容存储在一个永远在线且可访问的位置,并确保当Alice重新上线时,知道在哪里可以找到发送给她的内容。这个范例还封装了P2P应用程序,如消息传递和传统数据库应用程序,如新闻,社交媒体和笔记。

进行这种操作存在一些机械挑战:

1.其他人(不是Alice)需要知道存储内容和内容的检索,以便Alice以后可以找到并下载它。

爱丽丝需要知道在哪里找到索引。

3.通过索引,Alice需要实际查找并下载底层数据本身。

4.存储数据的人不应该能够阅读内容(如果是私人的)或查看内容。

通过解决这些问题,可以解开数据所有权和应用程序逻辑以支持Web 3.0的繁荣。

在探索当代Web 3.0企业家如何解决这些问题之前,请考虑一下过去曾试图解决这些问题的其他人。

以前尝试去中心化互联网

有些团队,包括但不限于Zeronet,Freenet和Scuttlebutt,他们正试图“去中心化互联网”。他们正在努力做到这一点,这比我们今天所知的现代加密货币时代更早。这些努力大多中心化在支持狭隘的用例上。例如,反审查消息和留言板等。

如果您很好奇,可以尝试使用这些系统。您会发现他们的用户体验存在许多不足之处。尽管这些系统存在许多UX问题,但迄今为止最大的问题是速度问题。一切都很慢。

他们为什么这么慢?

因为它们都是逻辑上去中心化的。

这些系统使用以下架构的一些变体。我将在加密货币和P2P消息传递应用程序的上下文中描述它们的体系结构:

这些系统基于以下想法:如果Alice离线,有人向她发送消息,他们会将其发送给Bob,Bob将代表Alice存储信息。

当Alice重新上线时,她询问Bob是否在她离线时错过了该消息(消息索引)。

不幸的是,Alice没有收到以下保证:1)Bob目前在线; 2)当Alice离线时,Bob总是在线; 3)Bob实际上有一个她在离线时错过的完整消息索引。为了解决这个问题,Bob可以询问他的同伴是否注意到发送给Alice的消息。但是,这些对等体也可能处于脱机状态,并且它们可能只有不完整的消息。

在这种范例中,不可能保证消息传递,因为不清楚消息应该在何处传递以及谁应该存储消息索引。当邮件收件人重新联机时,这也会产生Compound问题,因为收件人不知道在哪里可以找到发送给她的邮件或数据邮件列表。

Scuttlebutt是一个专注于构建P2P社交网络的项目,该网络试图通过采用类似于Facebook的双向朋友选择系统来解决这个问题。也就是说,一旦Alice和Bob成为朋友,他们就共享彼此的朋友列表,以便Bob可以索引并存储由Alice的朋友代表Alice发布的内容。这要求Alice通知她所有的朋友,Bob是她的代理人,反之亦然。然后,当Alice离线时,她的朋友发布更新,并且Alice的朋友可以向可以托管Alice的Bob发送更新。

Zeronet和Freenet是更普遍的项目,不仅仅是P2P社交网络,他们使用类似的模型,除了没有双向选择的朋友模型。这给系统增加了很多复杂性,这使得速度变慢。与Scuttlebutt模型不同,在Scuttlebutt中,朋友们同意帮助定义信息路径,而Freenet和Zeronet用户必须随机ping其他用户并向他们询问他们所知道的信息。这是这些系统如此缓慢的关键原因。

让我们说,在某些情况下,Alice最终将她在离线时遗漏的各种内容索引放在一起。也就是说,她知道卡罗尔给她发了一张照片,戴夫将照片保存在“dave.com/alicepic1.png”。如果Dave离线,Alice如何访问照片?

这些都是需要注意的问题。互联网的去中心化很困难。

逻辑和架构(去中心化)中心化

所有上述问题的根本原因是缺乏逻辑中心化存储和索引。什么是逻辑中心化存储?要回答这个问题,有助于理解分布式系统中去中心化的三个向量:

建筑的

>系统中的计算机数量

政治

>可以影响系统的人数

合乎逻辑

>外部代理与系统交互的接口数

为了更好地理解这些概念,你可以阅读“蓝狐音符”,“欧洲创始人V上帝:如何理解区块链的去中心化”之前发表的文章。

Web 2.0垄断解决了上述所有问题,因为它们依赖于逻辑上中心化的存储。也就是说,当Alice重新上线时,她只是向中央网络服务器发送请求,中央网络服务器维护中央存储,存储自Alice离线以来所有丢失的消息。 Web服务查询它控制的包含所有用户消息的数据库并返回正确的消息。

这种模式的问题在于Web 2.0系统将所有形式的中心化结合在一起:它们不仅在逻辑上是中心化的,而且在政治和架构上也是中心化的。因此,存储系统在逻辑上是中心化的,但它可以在架构和政治方面去中心化吗?

幸运的是,答案是肯定的:基于合约的存储的IPFS和永久存储的Arweave(基于合约的存储:在Y时间段内存储X字节的数据,具有Z的可搜索性保证.AWS,GCP,Azure,Filecoin,和Sia都是基于合约的存储系统。)

这个系统在逻辑上是中心的,在结构和政治上是去中心化的。这是什么意思?理解这一点的最佳方法是考虑计算机如何从网络上的其他服务器检索基本文件(基于位置的寻址),并将它们与IPFS / Arweave方法(基于内容的寻址)进行比较。

在Web 2.0架构中,如果Alice想要从服务器下载图像,Alice会转到以下URL:

Website.com/image.png。 Alice试图访问URL时发生了什么?

使用DNS,Alice知道在website.com上找到服务器的位置,并询问服务器它所托管的映像是在本地文件系统“/image.png”上。假设服务器想要协作,它会检查其/image.png目录,如果文件存在,它将返回结果。

请注意这个系统是多么脆弱:如果文件被移动,更改或服务器繁忙,或者服务器因任何原因不想合作,请求将失败。

这是今天构建网站的基础。

在基于内容的寻址系统(如IPFS和Arweave)中,Alice访问的URL如下所示:

mTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D。

虽然它不是人类可读的,但它是从内容本身派生出来的,并且是由内容确定性地生成的。也就是说,当散列时,世界上唯一的内容将产生精确的字符串。 IPFS和Arweave的神奇之处在于它们处理允许计算机将QmTkzDwW解析成网页的所有复杂性。

(截图2019-07-24 11.24.19 AM)

(对于IPFS,请参阅Blue Fox Notes之前的文章“IPFS:基于区块链的去中心化存储网络”)

IPFS和Arweave网络上的内容存储在许多机器上。无论机器上存储了多少台机器,或者它们位于世界上的哪个位置,这些协议都会解析QmTkzDwW等地址……无论它们实际存储在何处。

这是基于内容的寻址的神奇之处。它公开了一个单独的逻辑接口,一个基于内容的地址 – 无论基础数据存储在何处,它都将始终正确解析,以及计算机网络的大小(这些在架构和政治上去中心化)。

本文开头提到的四个主要技术挑战,基于内容的寻址解决了其中三个(1.3.4),即存储内容,使内容下载可访问,并确保托管商无法读取私人信息。但还有一件事:你怎么知道在哪里寻找数据?

指数

尽管IPFS和Arweave充当逻辑中心化体,但它们是体系结构和政治上去中心化的文件系统,而不是数据库。也就是说,无法查询它们并询问“请告诉我Bob在日期X和Y之间发送给Alice的所有消息”。

幸运的是,有几种方法可以解决这个问题:

第一种方法是将消息索引直接存储在区块链上。区块链本身在逻辑上是中心化的,但在架构和政治上是去中心化的。使用去中心化服务(如Graph)或中心化服务(如dFuse),Alice可以查询存储在区块链上的索引。区块链不存储底层数据,它只存储数据的哈希值。 Hash只是指向存储在IPFS和Arweave上的内容的指针。 Graph和dFuse现在都在使用,许多应用程序使用存储在链中的内容的散列,而数据存储在内容寻址系统的模式中。

第二种方式是使用纺织品。 Textile建立了一种名为Threads的独特技术,它作为IPFS上的私有,加密货币和个人数据库。因为这个数据库是建立在IPFS之上的,所以它在逻辑上是中心的,但在架构和政治上是去中心化的。作为逻辑上中心化的数据库,发送方和接收方知道发送的位置以及在何处读取信息。此外,Textile最近发布了Cafes,允许用户构建服务器来托管他们的Threads(而不是在本地托管Threads)。纺织品的下一步是建立一个经济层,激励验证者为其他用户托管咖啡馆,类似于Filecoin的IPFS经济学。

第三种方法是使用OrbitDB。 OrbitDB类似于Textile的线程,除了OrbitDB主要是为公共数据设计的(例如,用于构建去中心化的推特),而Textile的线程是本地集成的,用于私人信息加密货币和密钥管理(例如P2P消息传递)。与Textile一样,OrbitDB可用,OrbitDB正在开发基于底层技术的经济层。

最后一种方法是有许多团队正在构建具有不同去中心化向量的高效传统数据库:Fluence的构建将在无BFT,未经许可的环境中运行,而Bluzelle正在构建双层系统。该系统具有一组政治上中心化的主节点和一组体系结构去中心化的副本节点。

鉴于一些智能合约团队正在研究数据可用性问题的大规模解决方案,例如Solana的Replicators(参见蓝狐报告的前一篇文章,“为什么Solana是区块链开发人员需要的”世界计算机“? )。

我们对将BFT层添加到传统数据库持怀疑态度。相反,我们选择投资“加密的原生”数据库,如Textile等,以及开发人员API层(如The Graph和dFuse)。

通过协议和上述服务,IPFS,Filecoin,Arwearve,The Graph,dFuse,Textile和OrbitDB,Web 3.0有一条明确的路径可以产生结果。所有这些服务现在已经存在,虽然它们在产品准备和已经在加密货币经济中测试的网络规模方面仍然不成熟,但是在政治和架构上去中心化的最重要问题有解决方案。系统提供单个逻辑中心化接口。

剩下什么?

高阶逻辑

现在我们有一个逻辑上中心化但在体系结构上去中心化的存储,索引和检索解决方案,我们可以考虑更高阶的逻辑。例如:

Alice如何管理多个身份?例如,Alice可能不想在多个应用程序上使用相同的公钥,例如Facebook / Google / Snapchat / Reddit。如果她想在一个界面上管理这些身份而不公开链接它们怎么办?

考虑到Alice想要发送Bob私有信息,但是将其存储在IPFS或Arweave上,这些是需要使用PFS(完全前向保密)进行握手的公共系统。他们如何异步设置PFS并管理所有相关密钥?

鉴于传统的加密货币机制仅用于双方之间的通信,系统如何支持大型人群的私人通信(如留言板或大型聊天组)?

系统如何支持常见的UX模式,例如组发现,用户数据恢复和内容删除?

虽然这些是不同的技术挑战,但我认为所有这些都是“高级逻辑”问题。

Textile's Threads正好解决了这些问题。在许多方面,人们可以将Textile视为iCloud for IPFS。虽然这种类比并不完美,但它通常很有用:iCloud在设备和应用程序之间抽象数据备份(提供更好的用户和开发人员体验),而Textile提供了基于IPFS的各种更高级的逻辑工具。使开发人员能够无缝地开发应用程序,同时确保IPFS上的用户可以跨设备无缝同步和备份。

展望未来

Web 3.0生态系统在很多方面都非常多样化,包括要解决的问题类型,团队的位置,使用的经济模型等等。虽然没有逻辑上中心化的实体协调整个事物,但是Web 3.0堆栈正在聚集在一起,这很好。然而,这也意味着系统中存在大量熵,因此人们很难理解更高级别的主题。在本文中,我将按如下方式对其进行优化:

从Web 2.0过渡到Web 3.0的最大挑战是逻辑上中心化但在架构和政治上去中心化的系统从具有三个中心化向量(逻辑,架构和政治)的耦合系统过渡。

我们相信,Web 3.0将成为一种范式转变,将在未来十年内实现价值数万亿美元的价值。

– 风险警告:Blue Fox Notes中的所有文章均不能用作投资建议或建议。投资风险很大。投资应考虑个人风险承受能力。建议对项目进行深入检查,并认真做出自己的投资决策。

资讯来源:由0x资讯编译自BLOCKING,版权归作者Block所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢