区块链技术资源分享
追寻中本聪先生的脚步

Moxie Marlinspike:metamask调用 Infura API-Opensea很中心化、Web3很鸡肋@老雅痞

本文译自博客Moxie,作者是Whisper Systems联合创始人兼首席技术官Moxie Marlinspike莫西·马琳斯巴克,他是著名的计算机安全专家、黑客、程序员。译者:雅痞哥

尽管我认为自己是一名密码学家,但我并没有发现自己特别喜欢“密码学”。我不认为我真的说过 "不要踏上我的草坪"这句话(意思是嘲笑任何形式的抱怨,尤其是老年人对年轻人的抱怨。),但我更有可能点击Pepperidge Farm Remembers风格的memes图,了解 "crypto "过去是指 "密码学",而现在更多的是暗指NFT空投。(此处是美国meme文化梗)

图片

另外--在这里,我也要说明一下--我并不像这一代人那样对将生活的方方面面都转移到机器化经济中感到兴奋。

即使是严格意义上的技术层面,我也还没能成为一个信仰者。因此,鉴于最近大家的关注点都在Web3上,我决定更彻底地探索在这个领域发生的一些事情,看看我可能错过了什么。

从可信网络到Web3.0

我是如何看待Web1和Web2的

Web3是一个有点模糊的术语,这使得我们很难严格评估web3的目标是什么,但一般的论点似乎是web1是分散的,web2将一切集中到平台上,web3将再次分散一切。

弄清楚为什么中心化的平台一开始就出现了,这也许是件好事,在我看来,这个解释很简单。

1、普通用户不会因为需要某种服务而去自己架设服务器,永远不会。web1的前提是,互联网上的每个人既是内容的发布者和消费者,也是基础设施的发布者和消费者。

极客们都会有自己的网络服务器和自己的网站,有自己的邮件服务器发送自己的电子邮件,有自己的手指服务发送自己的状态信息,有自己的付费服务器应对自己的需求。然而--我认为这一点怎么强调都不为过:这不是普通用户想要的。人们并不想运行他们自己的服务器。

在这一点上,即使是书呆子也不希望运行自己的服务器。即使是全职建立软件的组织,在这一点上也不想运行他们自己的服务器。如果有一件我希望世人能够理解的事情,那就是普通用户永远不希望在需要某种服务时运行自己的服务器。出现的那些为你提供服务的公司是成功的,而那些基于这些网络可能实现的新功能进行迭代的公司则更加成功。

2、一个协议比一个平台的发展要慢得多。30多年后,电子邮件仍然是未加密的;同时,WhatsApp在一年内从未完整实现e2ee(端到端信息加密技术)。人们仍在在通过传统的IRC技术进行视频聊天。而且Slack还能让你根据自己的脸来创建自定义的表情符号。

这并不是一个资金问题。如果一个东西是真正的去中心化,它就会变得非常难以改变,而且要经常花费大量时间在使用上。这对技术来说是个问题,因为生态系统的其他部分发展非常快,如果你不跟上,你就会失败。整个行业都在专注于定义和改进像敏捷开发这样的工程,试图找出如何组织庞大的用户,使他们能够尽可能快地使用起来自己的去中心化服务,只有解决这个关键问题才能成功。

当技术本身更有利于停滞而不是运动时,这就是一个问题。一个肯定的成功秘诀是采用90年代的协议,将其中心化,并快速迭代。

但web3打算与众不同,所以让我们来看看。为了快速感受这个空间并更好地了解未来可能出现的情况,我决定建立几个dApps并创建一个NFT。

制作一些分布式应用

为了了解web3世界的情况,我做了一个名为Autonomous Art的dApp,让任何人通过对NFT做出视觉贡献来铸造一个代币。视觉贡献的成本随着时间的推移而增加,贡献者支付的铸币资金会分配给所有以前的艺术家(可视化这个金融结构会类似于一个金字塔形状)。在写这篇文章的时候,已经有超过3.8万美元用于创造这个集体艺术作品。

我还做了一个名为First Derivative的DApp,允许你创建、发现和交换追踪基础NFT的NFT衍生品,类似于追踪基础资产的金融衍生品。

两者都让我感受到了这个空间是如何运作的。明确地说,应用程序本身没有什么特别的 "分布式":它们只是正常的响应式网站。分布式 "是指状态和更新状态的逻辑/权限所在:在区块链上,而不是在 "中心化 "数据库中。

关于加密货币世界,我一直觉得很奇怪的一件事是对客户端/服务器界面缺乏关注。当人们谈论区块链时,他们谈论分布式信任、无领导的共识,以及所有这些工作的机制,但往往掩盖了客户端最终不能参与这些机制的现实。所有的网络图都是服务器的,信任模型是在服务器之间,一切都与服务器有关。区块链旨在成为对等点网络,但其设计目的并不是让用户的移动设备或浏览器真的有可能成为这些对等点之一。

随着向移动设备的转变,我们现在牢牢地生活在一个客户端和服务器的世界里--前者完全无法充当后者--这些问题对我来说似乎比以往任何时候都更重要。同时,以太坊实际上将服务器称为“客户端”,因此甚至没有一个词来描述必须存在于某处的实际不受信任的客户端/服务器接口,并且没有人承认如果成功,最终会有数十亿(!)服务器。

例如,无论它是在移动端还是网络上运行,像Autonomous Art或First Derivative这样的dApp需要以某种方式与区块链互动--以便修改或呈现状态(集体制作的艺术作品、它的编辑历史、NFT衍生品等)。但这在客户端是不可能做到的,因为区块链不可能存在于你的移动设备上(或现实中的桌面浏览器)。因此,唯一的选择是通过在某个服务器上远程运行的节点与区块链互动。

一个服务器! 但是,正如我们所知,人们并不想运行他们自己的服务器。恰好,已经出现了一些公司,他们将以太坊节点的API访问作为一项服务出售,同时提供分析、他们在默认的以太坊API之上建立的增强型API,以及对历史交易的访问。这听起来...很熟悉。在这一点上,基本上有两家公司。几乎所有的dApps都使用Infura或Alchemy,以便与区块链互动。事实上,即使你把MetaMask这样的钱包连接到dApp上,dApp通过你的钱包与区块链互动,MetaMask也只是在调用Infura!

这些客户端API没有使用任何东西来验证区块链状态或响应的真实性。结果甚至没有签名。像Autonomous Art这样的应用程序说:"嘿,这个智能合约上的这个视图函数的输出是什么?"Alchemy或Infura回应了一个JSON Blob,说 "这是输出",然后应用程序渲染了它。

这让我很惊讶。为创建一个无信任的分布式共识机制付出了如此多的工作、精力和时间,但几乎所有希望访问它的客户端都是通过简单地信任这两家公司的输出,而没有任何进一步的验证。这似乎也不是最好的隐私状况。想象一下,如果你每次在Chrome浏览器中与一个网站互动时,你的请求首先进入谷歌,然后再被路由到目的地并返回。这就是今天以太坊的情况。所有的写流量显然已经在区块链上公开,但这些公司也能看到几乎所有dApps中几乎所有用户的所有读请求。

区块链的支持者可能会说,如果这些类型的中心化平台出现也没关系,因为状态本身在区块链上是可用的,所以如果这些平台行为不端,用户可以简单地转移到其他地方。但是,我认为这就是导致各种链上平台呈现出现状的最直接因素。

让我给你举个例子。

制作一个NFT

我还想创建一个更传统的NFT。大多数人一想到NFT就会想到图像和数字艺术,但NFT一般不在链上存储这些数据。对于大多数图像的NFT来说,这将是非常昂贵的。

NFT不在链上存储数据,而是包含一个指向数据的URL。这些标准让我感到惊讶的是,位于URL的数据没有哈希承诺。看看流行的市场上许多以几十、几百或几百万美元出售的NFT,这个URL往往只是指向某个运行Apache的VPS。任何能够访问该机器的人,任何将来购买该域名的人,或任何破坏该机器的人,都可以在任何时候将NFT的图像、标题、描述等改为他们想要的东西(无论他们是否 "拥有 "该令牌)。在NFT规范中,没有任何东西告诉你图像 "应该 "是什么,或者甚至允许你确认某些东西是否是 "正确的 "图像。

所以作为一个实验,我做了一个NFT,根据谁在看它而改变,因为提供图像的网络服务器可以根据请求者的IP或用户代理选择提供不同的图像。例如,它在OpenSea上看起来是一种方式,在Rarible上是另一种方式,但当你购买它并从你的加密货币钱包查看它时,它将始终显示为一个大的表情符号。你出价的东西并不是你得到的东西。这个NFT没有什么不寻常的地方,这就是NFT规格的构建方式。许多价格最高的NFT随时都可能变成表情符号;我只是把它明确化。

图片

几天后,在没有任何警告或解释的情况下,我制作的NFT被从OpenSea(一个NFT市场)中删除。

图片

“删除”表明我违反了一些服务条款,但在阅读了条款后,我没有看到任何禁止NFT根据它被看的地方而改变的条款,而我是公开地这样描述的。

不过,我发现最有趣的是,在OpenSea删除我的NFT后,它也不再出现在我设备上的任何加密货币钱包中。这是web3,不过,这怎么可能呢?

像MetaMask、Rainbow等加密货币钱包是 "非托管 "的(密钥保存在客户端),但它与我上面的dApps有同样的问题:钱包必须在移动设备上或在浏览器中运行。同时,以太坊和其他区块链的设计理念是它是一个对等人的网络,但并没有设计到你的移动设备或你的浏览器真的有可能成为这些对等人之一。

像MetaMask这样的钱包需要做一些基本的事情,比如显示你的余额、最近的交易和你的NFT,以及更复杂的事情,比如构建交易,与智能合约互动,等等。简而言之,MetaMask需要与区块链互动,但区块链的构建使MetaMask这样的客户端无法与之互动。因此,像我的DApp一样,MetaMask通过调用API给三家在这个领域合并的公司来完成这个任务。

例如,MetaMask通过对etherscan的API调用来显示你最近的交易。

GET https://api.etherscan.io/api?module=account&address=0x0208376c899fdaEbA530570c008C4323803AA9E8&offset=40&order=desc&action=txlist&tag=latest&page=1 HTTP/2.0                                                          

...通过对Infura的API调用显示你的账户余额。

POST https://mainnet.infura.io/v3/d039103314584a379e33c21fbe89b6cb HTTP/2.0

{
    "id": 2628746552039525,
    "jsonrpc": "2.0",
    "method": "eth_getBalance",
    "params": [
        "0x0208376c899fdaEbA530570c008C4323803AA9E8",
        "latest"
    ]
}

...通过对OpenSea进行API调用,显示你的NFT。

GET https://api.opensea.io/api/v1/assets?owner=0x0208376c899fdaEbA530570c008C4323803AA9E8&offset=0&limit=50 HTTP/2.0                                                                                               

同样,就像我的DApp一样,这些回应没有以某种方式进行认证。他们甚至没有签名,以便你后来可以证明他们在说谎。它为你钱包里的所有账户重用相同的连接、TLS会话票等,所以如果你在钱包里管理多个账户,以保持一些身份分离,这些公司知道它们是有联系的。

MetaMask实际上并没有做什么,它只是对这些集中式API提供的数据的一种显示。这不是MetaMask特有的问题--他们还有什么其他选择?Rainbow等都是以完全相同的方式设置的。(有趣的是,Rainbow有自己的数据,用于他们在钱包中建立的社交功能--社交图谱、展示等--并选择将所有这些建立在Firebase之上,而不是区块链)。

所有这一切意味着,如果你的NFT从OpenSea被删除,它也会从你的钱包中消失。从功能上讲,我的NFT在区块链的某个地方不可磨灭地存在并不重要,因为钱包(以及生态系统中越来越多的其他东西)只是使用OpenSea的API来显示NFT,它开始为我的地址所拥有的NFT的查询返回304无内容显示……

重新创造这个世界

鉴于web1变成web2的历史,对我来说,web3的奇怪之处在于,像以太坊这样的技术已经建立了许多与web1相同的隐含陷阱。为了使这些技术可用,这个空间正在围绕......平台进行整合。再说一遍。人们将为你运行服务器,并对出现的新功能进行迭代。Infura, OpenSea, Coinbase, Etherscan。

同样地,web3协议的发展也很缓慢。在建立First Derivative的时候,如果能以标的物价值的百分比来为铸币衍生品定价,那就太好了。这个数据不在链上,但它在OpenSea会给你的一个API中。人们对NFT版税感到兴奋,因为它可以使创作者受益,但版税在ERC-721中没有规定,而且现在改变它已经太晚了,所以OpenSea有自己的配置版税的方式,存在于web2空间。在集中式平台上快速迭代,已经超过了分布式协议,并将控制权整合到平台上。

鉴于这些信息,我们不得不承认:你的加密货币钱包对你的NFTs的显示就是OpenSea对你的NFTs的显示,这不应该是一个惊喜。我不认为我们应该对OpenSea不是一个可以被取代的纯粹的 "视图 "感到惊讶,因为它一直忙于迭代平台,超出了严格意义上的不可能/难以改变的标准。

我认为这与电子邮件的情况非常相似。我可以运行我自己的邮件服务器,但对于隐私、抗审查或控制来说,它在功能上并不重要--因为无论如何,GMail都会在我发送或接收的每一封邮件的另一端。一旦一个分布式的生态系统为了方便而集中在一个平台上,它就变成了两个世界中最糟糕的情况:集中控制,但仍然分散到足以陷入时间的困境。我可以建立我自己的NFT市场,但如果OpenSea调解人们使用的钱包(以及生态系统中的每一个其他应用程序)中的所有NFT的视图,它并没有提供任何额外的控制。

这并不是对OpenSea的抱怨,也不是对他们所建立的东西的控诉。恰恰相反,他们正试图建立一个有效的东西。我认为我们应该期待这种平台整合的发生,并且考虑到这种不可避免性,当事情是这样组织的时候,设计出能给我们提供我们想要的系统。不过,我的感觉和担忧是,web3社区期待着一些其他的结果,而不是我们已经看到的结果。

为时尚早

"现在还是早期 "是我在讨论类似问题时从web3领域的人们那里看到的最常见的反驳。在某些方面,加密货币未能超越相对新生的工程规模,这使得人们有可能认为这些日子是 "早期",因为客观上它已经有十年或更长时间。

然而,即使这只是一个开始(而且很可能是!),我不确定我们应该认为这是一种安慰。我认为事实可能恰恰相反;我们似乎应该注意到,从一开始,这些技术就立即倾向于通过平台来实现中心化,这对生态系统的速度有~零的负面影响,而且大多数参与者甚至不知道或不关心它正在发生。这可能表明,去中心化本身对于下游的大多数人来说实际上并不具有直接的实际或紧迫的重要性,人们唯一想要的去中心化程度是某物存在所需的最低限度,如果不是非常有意识地考虑,这些随着时间的发展,某些力量将把我们推离而不是更接近理想的结果。

但你无法阻止淘金热

仔细想想,如果所有的web3部分都消失了,OpenSea实际上在直接意义上会 "更好"。它将更快,对每个人来说更便宜,而且更容易使用。例如,为了接受我的NFT的投标,我不得不支付80-150美元以上的以太坊交易费。这给所有的出价设置了一个人为的底线,因为否则你会因为接受一个低于气体费用的出价而亏本。通过信用卡支付的费用,通常感觉是敲诈性的,与此相比,没有Web3就看起来会很便宜。如果人们想要一个公开的交易、报价、出价等记录来验证他们的账目,OpenSea甚至可以发布一个简单的透明度日志。

然而,如果他们建立了一个不是名义上基于加密货币的图片买卖平台,我认为它不会起飞。不是因为它不是分布式的,因为正如我们所看到的,使其运作所需的许多东西已经不是分布式的。我认为它不会起飞,因为这是一个淘金热。人们通过加密货币投机赚了钱,这些人有兴趣以支持他们的投资同时提供额外回报的方式花费这些加密货币,因此这就定义了财富转移市场的设定。

处于末端的炒作NFT的人,从根本上来说并不关心分布式信任模型或支付机制,但他们关心的是钱在哪里。因此,钱吸引人们进入OpenSea,他们通过建立一个在web2空间迭代底层web3协议的平台来改善体验,他们最终提供了通过OpenSea本身而不是通过你自己的智能合约来 "铸造 "NFT的能力,最终这一切为Coinbase打开了大门,通过你的借记卡,用他们自己的平台提供进入验证的NFT市场。这为Coinbase通过Coinbase持有的暗池管理代币本身打开了大门,这有助于消除交易费用,并使其有可能完全避免与智能合约互动。最终,所有的web3部分都消失了,你有一个用你的借记卡买卖JPEG的网站。由于市场动态,该项目不能以web2平台开始,但同样的市场动态和中心化的基本力量很可能会促使它最终达到这个目的。

在堆栈的末端,NFT艺术家对这种进展感到兴奋,因为这意味着对他们的艺术进行更多的投机/投资,但也似乎如果web3的重点是避免web2的陷阱,我们应该担心这已经是这些新协议的自然趋势,这些协议应该提供一个不同的未来。

我认为这些市场力量很可能会继续下去,在我看来,它能持续多久的问题是,大量积累的加密货币最终是在一个引擎内还是在一个漏水的桶里。如果流经NFT的资金最终被引导回加密货币空间,那么它可能会永远继续加速(不管它是否只是web2x2)。如果它汹涌而出,那么这将是一个小插曲。我个人认为,在这一点上,已经有足够的钱,有足够的龙头来保持它,这不会只是一个昙花一现。如果是这样的话,似乎值得考虑如何避免web3成为web2x2(web2,但隐私更少)的问题,并有一定的紧迫性。

创造性可能还不够

我只是在web3的水里浸泡了一下,但通过这些小项目的视角来看,我很容易理解为什么那么多人发现web3的生态系统如此整洁。我不认为它的发展轨迹会把我们从中心化平台中解救出来,我不认为它将从根本上改变我们与技术的关系,我认为它的隐私故事已经低于互联网的标准(这是一个相当低的标准!),但我也理解为什么像我这样的书呆子会对构建它感到兴奋。至少,它是书呆子层面的新东西--这创造了一个创造性/探索的空间,有点让人想起早期的互联网时代。具有讽刺意味的是,这种创造力的一部分可能来自于使web3如此笨重的限制。我希望我们看到的创造力和探索将产生积极的结果,但我不确定它是否足以防止互联网的所有相同动态再次展开。

如果我们确实想改变我们与技术的关系,我认为我们必须有意地去做。我的基本想法大致是这样的。

1、我们应该接受这样一个前提,即人们不会通过设计能够分配信任而不必分配基础设施的系统来运行自己的服务器。这意味着架构预计并接受相对集中的客户端/服务器关系的必然结果,但使用密码学(而不是基础设施)来分配信任。关于web3,尽管是建立在 "密码学 "之上的,但对我来说,令人惊讶的事情之一是似乎很少涉及密码学!我们应该努力减少密码学的负担。

2、我们应该尝试减少构建软件的负担。在这一点上,软件项目需要大量的人力投入。即使是相对简单的应用程序,也需要一群人每天坐在电脑前8小时,每天如此,永远如此。情况并不总是这样,曾经有一段时间,50个人在一个软件项目上工作并不被认为是一个 "小团队"。只要软件需要如此协调一致的精力和如此高度专业化的人类关注,我认为它将有为每天坐在那个房间里的人的利益服务的趋势,而不是我们可能认为的更广泛的目标。我认为改变我们与技术的关系可能需要使软件更容易创建,但在我的一生中,我已经看到了相反的情况出现。不幸的是,我认为分布式系统有加剧这种趋势的倾向,它使事情变得更复杂、更困难,而不是更不复杂、不困难。

gm!

保持联系。

https://mp.weixin.qq.com/s/L0-_g9SpOaRzmafRA47epg

老雅痞
微信号
laoyapicom
功能介绍
争取每天研究点新东西,不白活。

神吐槽:

简单总结一下就是:中心化的产品比去中心化的产品更有优势。完全去中心化的产品太难用,太痛苦。opensea只是一个产品,类似早期比特币只能论坛买披萨。uniswap把前端页面储存在去中心化的 Arweave,类似ipfs,规避服务器归属地被起诉风险,交互是全部在以太坊上。nft以后会越来越去中心化。

Opensea(80万用户)1-所有的资产都会被定义成nfts。2-新人上手还是很难,谷歌浏览器,metamask(600万用户)来回刷。3,诈骗问题,提高信任,减少虚假交易。4.创业方向:实体物品nft化。5.虚拟土地,虚拟世界展示nft。

https://weibo.com/5128534918/LaAw81gzz

 

分享到:更多 ()

来评论吐槽 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

快手号:神吐槽shentucao

交易所地址更多手机免费挖矿APP