作者: 币安app官方 日期:2024-12-12 05:33
原文作者:Moxie Marlinspike,知名加密通讯应用 Signal 创始人
原文翻译:Block unicorn
尽管我认为自己是一名密码学家,但我并没有发现自己特别喜欢“密码学”。我不认为我曾经居然说了一句 “滚出我的草坪,” 但我更有可能点击 Pepperidge Farm(胡椒农场) 记住有关“加密”过去如何表示“加密”的风味模因,而不是最新的 NFT 下降。
此外——这里的牌——我并没有像一代人那样对将生活的方方面面都转移到仪器化经济中而感到兴奋。
然而,即使严格地在技术层面上,我还没有成功地成为一个信徒。因此,鉴于最近对现在称为 web3 的所有关注,我决定更彻底地探索该领域中发生的一些事情,以了解我可能遗漏的内容。
web3 是一个有点模糊的术语,很难严格评估 web3 的野心应该是什么,但总体论点似乎是 web1 是去中心化的,web2 将一切都集中到平台上,而 web3 将一切再次去中心化。web3 应该给我们 web2 的丰富性,但去中心化。
对中心化平台出现的原因有一定的了解可能会很好,在我看来,解释很简单:
1. 人们不想运行自己的服务器,而且永远也不会。web1 的前提是互联网上的每个人都是内容的发布者和消费者,以及基础设施的发布者和消费者。
我们都有自己的 web 服务器和自己的网站,我们自己的邮件服务器用于我们自己的电子邮件,我们自己的手指服务器用于我们自己的状态消息,我们自己的负责服务器用于我们自己的角色生成。然而——我认为这一点再怎么强调都不过分——这不是人们想要的。人们不想运行自己的服务器。
即使是书呆子也不想在这一点上运行自己的服务器。即使是全职构建软件的组织,此时也不想运行自己的服务器。如果我希望我们了解这个世界有一件事,那就是人们不想运行自己的服务器。那些为你提供这些服务的公司是成功的,而那些根据这些网络的可能性迭代新功能的公司则更加成功。
2.协议的运行速度比平台慢得多。30 多年后,电子邮件仍未加密;与此同时,WhatsApp 在一年内从未加密到完全 e2ee。人们仍在尝试标准化通过 IRC 可靠地共享视频。同时,Slack 可以让你根据你的脸创建自定义的反应表情符号。
这不是资金问题。如果某件事是真正去中心化的,那么它就会变得非常难以改变,并且经常会被时间卡住。这对技术来说是个问题,因为生态系统的其他部分正在快速发展,如果你不跟上,你就会失败。整个平行行业都专注于定义和改进敏捷等方法,试图弄清楚如何组织大量人群,以便他们能够尽快行动因为它是如此关键。
当技术本身更有利于静止而不是运动时,这就是一个问题。成功的一个可靠秘诀是采用 90 年代的协议,该协议被卡在时间上,集中它并快速迭代。
但是web3打算不一样,我们来看看。为了快速了解这个空间并更好地了解未来可能会发生什么,我决定构建几个 dApp 并创建一个 NFT。
为了感受 web3 世界,我制作了一个名为Autonomous Art的 dApp ,它可以让任何人通过对 NFT 做出视觉贡献来铸造一个代币。进行视觉贡献的成本会随着时间的推移而增加,并且贡献者支付给 mint 的资金会分配给所有以前的艺术家(可视化这种财务结构类似于金字塔形状)。在撰写本文时,已经有超过 38,000 美元用于创作这件集体艺术作品。
我还制作了一个名为First Derivative的 dApp ,它允许您创建、发现和交换追踪基础 NFT 的 NFT 衍生品,类似于追踪基础资产的金融衍生品。
两者都让我对空间的运作方式有所了解。需要明确的是,应用程序本身并没有什么特别“分布式”的:它们只是普通的反应网站。“分布式”是指状态和更新状态的逻辑/权限所在的位置:在区块链上而不是在“中心化”数据库中。
关于加密货币世界,我一直觉得奇怪的一件事是缺乏对客户端/服务器接口的关注。当人们谈论区块链时,他们谈论的是分布式信任、无领导共识以及其运作的所有机制,但往往掩盖了客户最终无法参与这些机制的现实。所有的网络图都是服务器的,信任模型是服务器之间的,一切都是关于服务器的。区块链被设计成一个对等点网络,但并不是为了让您的移动设备或浏览器真正有可能成为这些对等点之一。
随着向移动的转变,我们现在牢牢地生活在一个客户端和服务器的世界中——前者完全无法充当后者——而这些问题对我来说似乎比以往任何时候都更加重要。同时,以太坊实际上将服务器称为“客户端”,因此甚至没有一个词表示必须存在于某个地方的实际不受信任的客户端/服务器接口,并且没有承认如果成功最终将有数十亿(!)个客户端比服务器。
例如,无论是在移动设备上还是在 Web 上运行,像Autonomous Art或First Derivative这样的 dApp 都需要以某种方式与区块链交互——为了修改或渲染状态(集体生产的艺术品、它的编辑历史、 NFT 衍生品等)。但是,这实际上是不可能从客户端实现的,因为区块链不能存在于您的移动设备上(或者实际上不能存在于您的桌面浏览器中)。因此,唯一的选择是通过在某处服务器上远程运行的节点与区块链进行交互。
一个服务器!但是,众所周知,人们不想运行自己的服务器。碰巧的是,已经出现了一些公司,它们出售对作为服务运行的以太坊节点的 API 访问权限,同时提供分析、他们在默认以太坊 API 之上构建的增强 API 以及对历史交易的访问权限。听起来……很熟悉。在这一点上,基本上有两家公司。几乎所有 dApp 都使用Infura或Alchemy来与区块链交互。事实上,即使您将 MetaMask 之类的钱包连接到 dApp,并且 dApp 通过您的钱包与区块链交互,MetaMask 也只是在调用 Infura!
这些客户端 API 没有使用任何东西来验证区块链状态或响应的真实性。结果甚至没有签名。像 Autonomous Art 这样的应用程序说“嘿,这个智能合约上的这个视图函数的输出是什么”,Alchemy 或 Infura 用一个 JSON blob 响应,上面写着“这是输出”,然后应用程序渲染它。
这让我很惊讶。创建一个去信任的分布式共识机制已经投入了大量的工作、精力和时间,但几乎所有希望访问它的客户都是通过简单地信任这两家公司的输出来实现的,而无需任何进一步的验证。这似乎也不是最好的隐私情况。想象一下,如果每次您在 Chrome 中与网站交互时,您的请求首先发送到 Google,然后再路由到目的地并返回。这就是今天以太坊的情况。所有写入流量显然已经在区块链上公开,但这些公司还可以查看几乎所有 dApp 中几乎所有用户的几乎所有读取请求。
区块链的支持者可能会说,如果出现这些类型的中心化平台也没关系,因为状态本身在区块链上是可用的,所以如果这些平台行为不端,客户可以简单地转移到其他地方。但是,我建议这是对使平台成为现实的动态的一种非常简单的观点。
我还想创建一个更传统的 NFT。大多数人在想到 NFT 时会想到图像和数字艺术,但 NFT 通常不会将这些数据存储在链上。对于大多数图像的大多数 NFT,这太昂贵了。
NFT 不是将数据存储在链上,而是包含一个指向数据的 URL 。这些标准让我感到惊讶的是,位于 URL 的数据没有散列承诺。看看流行市场上以数十、数百或数百万美元出售的许多 NFT,该 URL 通常只是指向某个运行 Apache 的 VPS。任何有权访问该机器的人、将来购买该域名的任何人或任何破坏该机器的人都可以随时将 NFT 的图像、标题、描述等更改为他们想要的任何内容(无论是否不是他们“拥有”令牌)。NFT 规范中没有任何内容告诉您图像“应该”是什么,甚至不允许您确认某物是否是“正确”图像。
所以作为一个实验,我做了一个 NFT,它会根据谁在看它,因为提供图像的 Web 服务器可以根据请求者的 IP 或用户代理选择提供不同的图像。例如,它在 OpenSea 上看起来是一种方式,在 Rarible 上看起来是另一种方式,但是当你购买它并从你的加密钱包中查看它时,它总是会显示为一个大的