草庐IT

以太坊合并对NFT意味着什么?

Decrypt Andrew Haywa 2023-03-28 原文
距离期待已久的以太坊​合并还有几天时间,在这次合并中,领先的dapps和NFT 网络将转向更节能的系统。这一计划酝酿了好几年,但随着9月中旬目标的临近,许多用户都想知道会出现什么问题,以及他们拥有的资产是否会发生变化。

在NFT方面尤其如此。现在有数千万的头像图片、收藏品和艺术品在以太坊上运行,其中一些在过去几年NFT市场的推动下获得了令人瞠目的金额。合并后你的 NFT会发生什么?

简单的答案是:可能什么都没有发生。它们仍然会在你的钱包里,并且在市场和dapps中照常运行。但整体情况要比这复杂得多,主要原因是合并后预计会出现社区主导的以太坊分叉。这将导致出现重复的NFT,并可能带来混淆和欺骗。

关于以太坊NFT合并,你需要知道什么,之后会发生什么?就这些问题,Decrypt与以太坊专家进行了交流,讨论了数十亿美元NFT市场可能会面临的一些波折。

关于合并链

以太坊基金会表示,此次合并将使以太坊从目前的工作量证明挖矿模型(需要足够的去中心化能力来处理交易) 转变为权益证明共识系统,预计该系统将减少99%以上的能源消耗。这是以太坊向前迈出的一大步,尤其是对NFT而言,有效地消除了对NFT的最大批评之一。

如前所述,合并已经进行了多年,以太坊的核心开发人员已经煞费苦心地测试了每一个流程,并解决了潜在的问题。虽然这并不能保证转变能够无缝衔接,但开发者和创建者普遍认为这将是一个非常顺利的过程。

“以太坊是软件,所有软件都存在停机问题——换句话说,无法确定是否会有任何技术故障,”智能合约初创公司Manifold的联合创始人Eric Diep表示。

然而,如果一切按计划进行,那么以太坊NFT应该可以在以太坊新升级的主网上正常运行。它们仍然会保存在你的钱包里,并在市场上照常运转,你不需要为合并做任何准备。这些都是由开发人员来处理的,以确保无缝过渡。

“用户应该期望他们的NFT将与他们的ETH代币一起安全驻留在新的以太坊权益证明链上。”以以太坊为中心的软件公司ConsenSys的NFT联席负责人Johnna Powell肯定地说。

分叉的注意事项

虽然大多数以太坊社区似乎都支持合并及其潜在好处,但也有明显的批评者。无论是基于能源密集型过程的安全优势,还是由于运行计算机平台的矿工获得的回报,一些以太坊的支持者都不希望以太坊链从工作量证明式挖矿转移出去。

因此,以太坊社区的一些构建者计划分叉区块链,并创建一个派生链,继续推进当前的工作量证明系统。迄今为止最突出的例子是ETHPOW,由中国知名矿工Chandler Guo领导。

ETHPOW将与以太坊合并后的主网不同。这在某种程度上与以太坊自身在2016年为应对DAO攻击而分叉的原始链类似,一些用户继续以新名称以太坊经典(Ethereum Classic)支持原始链。

随着ETHPOW和任何其他分叉从以太坊主网中分离出来,它们将产生以太坊NFT的重复版本。NFT只是一种区块链代币,它可以作为艺术品和收藏品等数字物品的所有权契约。因此,分叉的以太坊链将具有指向相同艺术品或媒体的重复行为。

这是什么意思?如果NFT市场同时支持以太坊的合并主网和工作量证明分叉,那么你可能会看到两个版本的代币列表。这肯定会造成混乱,并且可能会有骗子将著名NFT的重复版本(如Bored Apes和Beeples)出售给经验不足的加密用户。

Powell说:“如果工作量证明分叉获得成功,市场也支持它们,那么肯定会出现我们无法真正预测的市场混乱和套利。”

“可以想象,更老练的NFT交易者会以低价出售PoW链上的高价值资产,以迅速获利,”她补充道,“而新交易者可能察觉不到其中的差别。”

重放攻击?

在合并的准备阶段,有一些关于“重放攻击”(Replay Attacks)的传言——即在工作量证明分叉上进行的交易可以在权益证明以太坊主网上“重放”。

这里有一个理论上的案例:一个Bored Ape Yacht Club NFT所有者可能会在工作量证明链上出售复制版本,但如果相同的交易被一个恶意的参与者在合并的权益证明链上“重新播放”,那么卖方也可能失去该链上的原始版本。对于一些NFT收藏者来说,这可能是一个代价高昂的教训。

然而,这一切都不太可能发生,至少对于最突出的工作量证明分叉ETHPOW 而言是这样。以太坊核心开发者Marius Van Der Wijden表示,重放攻击只有在区块链共享相同的链ID的情况下才可能发生。Guo曾向Decrypt确认ETHPOW将使用不同的链ID。

“重放攻击不会有问题,”Van Der Wijden说,考虑到ETHPOW将有自己独特的链ID。

然而,从以太坊分叉的任何其他工作量证明链可能并非如此,这为潜在的跨链混乱打开了窗口。Powell为NFT收藏者提供了一些简单的建议,让他们可以遵循以避免出现问题,但这意味着他们将错过出售重复资产的潜在收益。

“防止重放攻击的最好方法是完全不与工作量证明链交互。”她说,“如果你不与工作量证明链交互,那么你不需要做任何事情,也不需要担心重放攻击。”

项目及平台的决定

无论如何,由于ETHPOW链和其他潜在分叉,重复的NFT将会存在,并且对于哪些资产是“官方的”或“合法的”可能存在一定程度的混淆。即便如此,当NFT所有者试图翻转他们有价值的代币的工作量证明版本时,这些副本可能会引发狂热。

这可能只是一个短暂的窗口期。以太坊社区中很少有人相信区块链的任何工作量证明分叉将是一项长期的努力,并获得大量用户支持。

我们可能会看到工作量证明链上的NFT销售的最初冲击,但如果社会对链上资产价值的关注很少,那么需求可能就很少。就热门项目而言,重复资产的价格可能只是真实交易的一小部分,而且即便如此,工作量证明链的NFT价格也可能会迅速下跌。

Manifold的Diep认为:“最终的工作量证明链很有可能只是新的权益证明链的一个影子,而且随着时间的推移,其可提取的价值量将显著减少。”

更广泛的、区块链层面的社会共识正在围绕合并的权益证明链形成——将其作为以太坊NFT的“官方”所在地。但除此之外,项目创建者和市场也发出信号,他们将只把以太坊合并后的主网视为合法的,分叉副本将只是非官方副本。

作为Bored Ape Yacht Club的创始人和CryptoPunks IP的所有者,Yuga Labs两周前证实,只有在合并后的以太坊权益证明链上拥有自己的NFT的人才有资格在Yuga的社区中受益。同样,只有这些所有者才能将他们的图像商业化,用于衍生艺术品和项目。

该公司在8月17日发推文:“与更广泛的以太坊社区一致,如果出现可行的工作量证明分叉,Yuga 打算只承认权益证明ETH链上的NFT受相关NFT许可证的约束,并有资格使用Yuga提供的实用程序。”

Proof是仅限会员的Proof Collective和Moonbirds NFT项目背后的初创公司,该公司在一份声明中表达了类似的立场。

“当以太坊合并成功后,Proof将跟随更广泛的以太坊社区承认新的权益证明链,包括其自己的NFT。” Proof的产品总监Angharad“Harri”Thomas写道,“合并后的任何工作量证明分叉都不会被承认。”

在以太坊NFT市场中占有主导份额的OpenSea也表示,它将只支持权益证明链。通过拒绝在分叉的以太坊工作量证明链上列出NFT资产,它可能会帮助大量收藏者避免混淆和骗局。

换句话说,以太坊的构建者相信,NFT 在合并后将正常运行,任何围绕分叉链上重复NFT的势头都将是短暂的,并且构建者和主要市场甚至不会承认这种分叉链上的官方副本。

当然,这并不能保证一切都会按计划进行。合并过程中可能会出现技术问题,或者用户对重复的NFT产生很大的兴趣,这可能会导致混淆和欺诈。在未来几周内,NFT收藏者最好的做法可能就是保持消息灵通,避免有风险的交易或互动,并等待问题得到解决。

有关以太坊合并对NFT意味着什么?的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 为什么 4.1%2 使用 Ruby 返回 0.0999999999999996?但是 4.2%2==0.2 - 2

    为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返

  6. ruby - ruby 中的 TOPLEVEL_BINDING 是什么? - 2

    它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput

  7. ruby - Infinity 和 NaN 的类型是什么? - 2

    我可以得到Infinity和NaNn=9.0/0#=>Infinityn.class#=>Floatm=0/0.0#=>NaNm.class#=>Float但是当我想直接访问Infinity或NaN时:Infinity#=>uninitializedconstantInfinity(NameError)NaN#=>uninitializedconstantNaN(NameError)什么是Infinity和NaN?它们是对象、关键字还是其他东西? 最佳答案 您看到打印为Infinity和NaN的只是Float类的两个特殊实例的字符串

  8. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  9. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  10. ruby - 如果指定键的值在数组中相同,如何合并哈希 - 2

    我有一个这样的哈希数组:[{:foo=>2,:date=>Sat,01Sep2014},{:foo2=>2,:date=>Sat,02Sep2014},{:foo3=>3,:date=>Sat,01Sep2014},{:foo4=>4,:date=>Sat,03Sep2014},{:foo5=>5,:date=>Sat,02Sep2014}]如果:date相同,我想合并哈希值。我对上面数组的期望是:[{:foo=>2,:foo3=>3,:date=>Sat,01Sep2014},{:foo2=>2,:foo5=>5:date=>Sat,02Sep2014},{:foo4=>4,:dat

随机推荐