Why Nostr? What is Njump?
2023-02-04 07:10:49
in reply to

cc0 on Nostr: ...

以太坊上最多只是链上矢量图渲染,比特币直接打一张图到区块里?
# 创新还是攻击?比特币链上NFT巨块风波

2023年2月1日,比特币挖出近4M的史上最大区块,里面包含一个近4M的史上最大交易,并且交易费为0!

这笔巨大交易由独立开发者@udiWertheimer 的比特币链上NFT项目“Taproot Wizard”发出,主要数据是一个NFT,不是哈希,是整张jpg图片!

开发者和项目名不见经传,但此事引起比特币生态巨大的震动,Blockstream CEO Adam Back(@adam3us),Bitcoin Core 开发者 @LukeDashjr 等人指责该行为是对比特币的攻击。
参见CoinDesk的报道:[《Giant Bitcoin 'Taproot Wizard' NFT Minted in Collaboration With Luxor Mining Pool》](https://www.coindesk.com/tech/2023/02/02/giant-bitcoin-taproot-wizard-nft-minted-in-collaboration-with-luxor-mining-pool/)

但是,@udiWertheimer强调这是一个创新,所依据的是由比特币前核心开发者Casey Rodarmor提出的“Ordinals(序数理论)”。[《Ordinals项目文档》](https://docs.ordinals.com/introduction.html)

@udiWertheimer和Casey Rodarmor声称该理论可以标记比特币的每一个基本单位:satoshi,并且可以转移。从而在无需软硬分叉升级的前提下,在比特币链上实现更多功能,NFT只是其中之一。

Rodarmor声称提出Ordinals是因为比特币缺乏一个稳定的公共身份,比特币地址往往是一次性使用的,钱包账号是本地的,而公私钥的所有权不可转移。所以,通过标记每个output中的每个satoshi,Ordinals为比特币建立可转移的账号或身份。
技术细节参见([《Ordinal Numbers》](https://github.com/casey/ord/blob/master/bip.mediawiki)

具体到在NFT项目“Taproot Wizard”中,发布者应该是用特定satoshi指代jpg图片,实现nft的标识和流通,笔者尚未完全理清具体实现方式。

这是一个有意思的创新试验,但bitcoin core并不喜欢这种创新,主要原因有:

1. 区块链膨胀:这会造成比特币区块链大小迅速膨胀,运行全节点的设备要求大幅提高而导致全网全节点减少,抗审查性下降。这是2014年拒绝Vitalik在OP_RETURN中做智能合约,以及2017年拒绝硬分叉扩容的主要原因。
2. 生态冲击:超预期的巨大交易和巨大区块冲击钱包、矿池、浏览器等生态设施,导致一些设施出现异常,比如btc.com浏览器的该笔交易未能正常解析。
3. 降低安全性:矿池或矿工为了减少同步和验证巨大交易和区块的时间,可能选择不下载,不验证该交易和区块的情况下出块,带来安全风险。
4. 区块限制失效:比特币区块有1M限制,Taproot Wizard的4M数据是放在witness中上链的,使区块和交易都绕过了1M限制,并且似乎没有限制了!4M可以,400M也可以!从这个意义上讲,这不是创新,是对漏洞的攻击!

在2017年扩容之争中,Bitcoin core拒绝硬分叉提高区块限制的方式扩容,选择用segwit在避免硬分叉的前提下,将验证信息拿到区块外,从而绕过1M的区块限制,实现部分扩容。但是,当时没有对验证信息的长度做出限制。现在不得不作出艰难的选择:

* 选择一:什么都不做,放任各种应用以这种方式进入比特币区块链,当年限制OP_RETURN和扩容之争失去了意义;
* 选择二:硬分叉升级,将隔离见证的数据的大小限制写入共识。这个也很难,硬分叉的影响很大,需要全部节点更新,这也是2017年拒绝纽约共识升级到2M的主要原因。
* 选择三:主要矿池达成局部共识,拒绝巨大区块和巨大交易。这非常糟糕,开启了区块人工审查的先河,失去了去中心化的意义,操作上也很难让所有矿池都遵守。

综合来看,选择一的可能性比较大,因为选择三难以实现,而比特币生态已经非常巨大,平稳硬分叉的难度很大。

相关数据:
```
区块高度:774628
区块大小:3,955,272 bytes
交易ID:0301e0480b374b32851a9462db29dc19fe830a7f7d7a88b81612b9d42099c0ae
交易大小:3,938,383 bytes
交易类型:segwit
交易费:0
出块矿工:“Luxor Mining”
交易的发送地址:bc1pscu742m5eyt6vwzl62fjugy9mj5yq8pgk674qc2x44892t3zjqfs3ca78z
```

注:笔者尚未理清所有技术细节,如Ordinals如何实现NFT、隔离见证数据的结构和相关限制等,欢迎指正或补充。
Author Public Key
npub17av0t666r7avaxs43xe7wu79dm5m6kz8js2fz5enudvj3lq6nazq7gld0v