草庐IT

Web 3.0不需要区块链革命

言征 2023-03-28 原文
作者 | Osmar Olivo

策划 | 言征

Web 3.0,作为一种新的网络范式,给到人们这样一种承诺:通过让用户“负责”自己的数据和身份,使互联网更加公平和安全。Web 3.0的迷人之处在于,为所有人提供了前所未有的数据使用控制和可见性。

而争议的焦点在于,在不少Web 3.0的传播者看来,这场互联网革命是通过基于区块链的、完全“去中心化”来实现的。显而易见,这是对现有一切网络结构的背离与颠覆。

一个新理念,如果寄希望于让每个人都抛弃现有的东西,重新开始,这是不合理的。毕竟,我们在很多方面都很擅长。我们需要改变范式,而不是彻底颠覆范式。我们需要的不是一场革命,而是已知网络的进化,以实现web 3.0所承诺的功能:安全、隐私、同意、以用户为中心、互操作性等等。

然而,不容忽视的是,Web 3.0的承诺缺少了一些东西,即它应该朝着更好的互联网的方向,迈出合乎逻辑的下一步。这一“合乎逻辑的下一步”是由网络创始人蒂姆·伯纳斯-李爵士亲自提出的。

1、迈向更好互联网的实际步骤

为了将Web 3.0的承诺与区块链的实现细节区分开来,有助于考虑人们对下一个Web时代的实际需求。

许多人的诉求是对于现有网络的可见性、选择权和对数据的合理控制。用户需要知情权,知道谁可以访问用户数据,知道自己的数据是如何被使用的,如果用户不愿意共享某些数据,我们也有权拒绝。或许,最重要的是,用户希望自身的数据要用于自身利益,而不是其他。

在某些情况下,区块链可以帮助实现这些目标。因为区块链是一种以去中心化和不可变的方式读取和写入数据的协议,它可以帮助使数据的所有权和历史完整性更易于管理和访问。因此,某些金融、供应链和托管链用例非常适合区块链。

但是,Web 3.0解决方案需要更多的技术能力,来提供可见性、选择和对数据的控制。为了构建快速灵活的Web 3.0应用程序,我们需要一个包含身份、数据管理、应用程序互操作性、访问控制和同意等解决方案的技术堆栈。

幸运的是,这些需求的解决方案已经以新兴网络标准和技术的形式存在,包括那些封装在Solid中的标准和技术,Berners Lee的新系统用于组织网络上的数据、应用程序和身份。让我们仔细看看这些需求,以及完整的解决方案需要什么样。

2、Web 3.0必须依赖身份和访问控制

大多数人希望和需要的是数据的可见性、透明度和一致性。特别是,个人需要在自己与受信任方、合作伙伴和机构之间的保密性方面得到保障。

例如,我的医疗记录在我和医生之间。我的财务状况介于我、我的金融机构和我的会计师之间。当不止一方需要访问数据时,我们需要一个强大而明确的访问控制系统来管理机密性,而不是谁拥有哪个数据点的公共账本。

这些类型的灵活数据关系需要网络上的标识,而这些标识与任何特定的供应商或应用程序无关。诸如去中心化标识符和网络标识符等解决方案已经在这一领域取得了进展,但这些解决方案必须最终确定并与网络堆栈的其他部分兼容/集成。而端到端解决方案,则还需要细粒度的访问控制。

因此,旨在对用户数据提供简单隐私控制的网络标准正在兴起。这些标准被纳入Berners-Lee的Solid技术中,该技术旨在为身份、应用程序和网络数据提供端到端解决方案,所有这些都是围绕个人在线数据存储(Solid Pods)构建的。

那么,Web 3.0世界中,这会是什么样子?

今天,当你在智能手机上安装新应用程序时,你将收到一条通知,请求访问存储在设备上的各类数据,如联系人、图片或位置。你可以选择授予或拒绝访问权限,并且你保留随时在隐私设置中撤销对这些应用程序和服务的访问权限的权利。真正的Web 3.0解决方案,将涵盖你在网络上的所有数据,例如你的财务记录、医疗数据、浏览偏好和电商数据,而不仅仅是存储在手机上的数据(联系人、图片等)。

3、Web 3.0应用程序必须具有互操作性

当今网络的特点是数据碎片化。每个网络用户的数据分散在无数组织中,每个组织都有自己的数据仓库。几乎每一家公司,都在努力“捕捉”客户的有效和持续的、最新的“360度视图”。公司集成了许多平台和数据仓库,以避免数据重复、过时和掉队。

所有这些努力都导致了极其复杂的基础设施,这是一场有关合规性和成本的噩梦,作为结果,只有少数公司拥有独立的资源。这意味着,成功仍然取决于哪些公司可以存储最多的数据,而不是谁提供最好的服务。

以Solid为代表的新的web技术,通过建立已经广泛采用的web标准来确保应用程序和协议级别的互操作性,从而解决了这个问题。建立在这些标准的基础上,可以防止用户和企业的锁定。

应用程序互操作性是组织和人员在web上无缝协作的必要条件。可互操作的数据标准为组织提供了一个权威的真实来源,同时减少了操作开销并简化了基础设施。由于每个人都有权在框架内控制和更新自己的数据,因此信息将是准确和最新的。这样的系统还提供了透明度和可见性,以了解谁可以访问哪些数据以及这些数据被用于什么目的,从而保护个人的数据隐私权,并符合现代隐私立法。

4、Web 3.0必须是分布式的

使用Solid等Web原生解决方案,数据是分布式的。这意味着,无论个人数据物理存储在何处,都能与所描述的人连接,并且数据可以跨系统互操作。如果人们愿意,他们可以撤销对大多数类别数据的访问,但也支持出于法规遵从性和治理原因必须授予某些实体访问权限的情况。

去中心化是Web3“福音派”非常推崇的概念。但是,要求物理分散存储,并不总能与需要治理和合规性的企业很好地契合。例如,如果合规性会要求采取特殊措施来保护服务器上存储的某些类别的数据,那么企业通常很难采用区块链(或任何基于去中心化存储的解决方案),因为他们将无法识别和管理这些不同类别的数据。

此外,完全的权力下放迫使每个人对自己的数据进行自我管理,这是大多数人不希望看到的情况。然而事实却是:考虑到当今数据生态系统的复杂性,大多数人,并不具备有效或安全地完成这项工作的知识和技能。全面的自我管理,将使最终用户及其数据面临更大的风险,从而背离了Web 3.0和GDPR、HIPAA和PCI等法规的核心目的。

区块链是一种令人惊艳的技术,在特定环境中非常出彩。但它并没有提供端到端的能力,这是网络下一个进化阶段的基础。要实现Web 3.0的全面承诺,需要可靠的技术和标准,以便在分布式和合规系统中实现互操作性和细粒度访问控制。随着人们对其数据的可见性、透明度和同意,这些能力有助于建立信任。

朝着更好的网络迈出的合乎逻辑的下一步,是各企业采用这一新的基础设施作为其服务和业务中共享关键数据的焦点,从而实现内部系统、外部合作伙伴组织和用户之间的治理和无缝流动。对于企业和政府来说,垄断式的数据围墙所需要的无休止的集成和操作解决方案,将让位于一种在用户和组织之间同步的基于授权的数据架构。这才是Web 3.0所渴望的,也是Solid等技术致力于实现的愿景。

有关Web 3.0不需要区块链革命的更多相关文章

  1. ruby - 我需要将 Bundler 本身添加到 Gemfile 中吗? - 2

    当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/

  2. ruby - rspec 需要 .rspec 文件中的 spec_helper - 2

    我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只

  3. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  4. ruby - 为什么在 ruby​​ 中创建 Rational 不需要新方法 - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rubysyntaxquestion:Rational(a,b)andRational.new!(a,b)我正在阅读ruby镐书,我对创建有理数的语法感到困惑。Rational(3,4)*Rational(1,2)产生=>3/8为什么Rational不需要new方法(我还注意到例如我可以在没有new方法的情况下创建字符串)?

  5. 区块链之加解密算法&数字证书 - 2

    目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非

  6. ruby-on-rails - 需要帮助最大化多个相似对象中的 3 个因素并适当排序 - 2

    我需要用任何语言编写一个算法,根据3个因素对数组进行排序。我以度假村为例(如Hipmunk)。假设我想去度假。我想要最便宜的地方、最好的评论和最多的景点。但是,显然我找不到在所有3个中都排名第一的方法。Example(assumingthereare20importantattractions):ResortA:$150/night...98/100infavorablereviews...18of20attractionsResortB:$99/night...85/100infavorablereviews...12of20attractionsResortC:$120/night

  7. ruby - 我需要从 facebook 游戏中抓取数据——使用 ruby - 2

    修改(澄清问题)我已经花了几天时间试图弄清楚如何从Facebook游戏中抓取特定信息;但是,我遇到了一堵又一堵砖墙。据我所知,主要问题如下。我可以使用Chrome的检查元素工具手动查找我需要的html-它似乎位于iframe中。但是,当我尝试抓取该iframe时,它​​是空的(属性除外):如果我使用浏览器的“查看页面源代码”工具,这与我看到的输出相同。我不明白为什么我看不到iframe中的数据。答案不是它是由AJAX之后添加的。(我知道这既是因为“查看页面源代码”可以读取Ajax添加的数据,也是因为我有b/c我一直等到我可以看到数据页面之后才抓取它,但它仍然不存在)。发生这种情况是因为

  8. ruby - 如何配置 Ruby Mechanize 代理以通过 Charles Web 代理工作? - 2

    我正在使用Ruby/Mechanize编写一个“自动填写表格”应用程序。它几乎可以工作。我可以使用精彩CharlesWeb代理以查看服务器和我的Firefox浏览器之间的交换。现在我想使用Charles查看服务器和我的应用程序之间的交换。Charles在端口8888上代理。假设服务器位于https://my.host.com。.一件不起作用的事情是:@agent||=Mechanize.newdo|agent|agent.set_proxy("my.host.com",8888)end这会导致Net::HTTP::Persistent::Error:...lib/net/http/pe

  9. ruby - 需要重构为新的 Ruby 1.9 哈希语法 - 2

    这个问题在这里已经有了答案:HashsyntaxinRuby[duplicate](1个回答)关闭5年前。我有一个Recipe,其中包含以下未通过lint测试的代码:service'apache'dosupports:status=>true,:restart=>true,:reload=>trueend失败并出现错误:UsethenewRuby1.9hashsyntax.supports:status=>true,:restart=>true,:reload=>true不确定新语法是什么样的...有人可以帮忙吗?

  10. ruby-on-rails - 我真的需要在 Rails 中使用 csv gem 吗? - 2

    我的问题很简单:我是否必须在使用RubyonRails的类上require'csv'?如果我打开一个railsconsole并尝试使用CSVgem它可以工作,但我必须在文件中这样做吗? 最佳答案 CSVlibrary是ruby​​标准库的一部分;它不是gem(即第三方库)。与所有标准库(与核心库不同)一样,csv不会由ruby​​解释器自动加载。所以是的,在您的应用程序中某处您确实需要要求它:irb(main):001:0>CSVNameError:uninitializedconstantCSVfrom(irb):1from/Us

随机推荐