陈剑Jason|2026年09月29日 03:04
最近一篇可以在不分叉BTC的情况下实现Zcash隐私转账效果的论文爆火引起了大量讨论,作者是比特币密码学实验室Alloc Init的创始人@nemothenoone,毕业莫斯科大学数学系,之后一直从事密码学研究。Zcash能实现隐私转账的核心不在于把交易本身进行加密,而是引入了一套独立的记账模型,在隐私池里,钱不再是像BTC那样UTXO,而是加密的票据,包含接收地址、金额、随机数和密钥,然后再把这些票据信息转换成一个无法反推类似于哈希的承诺,链上只公开承诺而不是票据本身,假设Alice给Bob转10个ZEC,Bob获得的一个票据=(Bob的地址、10 ZEC、 随机数...),然后再转换成一串无意义的哈希承诺公布在链上,于是大家只知道链上新产生了一张票据承诺被加入了隐私池,但无法从承诺得到对应票据的内容。
但这里最关键的是要证明Alice真的合法拥有某个票据从而可以花费它,于是使用ZK向全网证明我知道隐私池里有一张票据并且我拥有它,同时引入了Nullifier作为每个票据的花费标记,从而避免双花。
所以粗糙的说Zcash在一条正常公链上额外加了一套隐私池于是具备了隐私转账功能,那同样的逻辑,是否可以给BTC也加一套类似的隐私池呢?这就是这篇论文探讨的内容,并将其称为Shielded Bitcoin。
但这里面最麻烦的就是Zcash的隐私池是原生公链的一部分,节点在共识层本身就理解什么叫票据、承诺、ZK等等东西,比特币上虽然可以建立隐私池,但是作为额外加上去的东西,你扔给节点票据承诺什么的它们压根不认识。
这时候就面临了3个问题:
1.谁来维护这个隐私池?
2.谁来验证隐私池里的交易是有效的?
3.谁来确保隐私池里的BTC到底是不是真的?
所以加一个隐私池不难,难的是在比特币不认识隐私池的情况下,怎么能让比特币依然约束住这个隐私池不作弊,不会产生双花、增发等问题。
Shielded Bitcoin并不是想改造比特币节点让它们学会认识隐私池,而是干脆就不让比特币来管隐私池,依然只负责保存和排序数据,把Zcash那套隐私账本搬到比特币上面完成,其实到了这时候你隐约已经有一种说不出来的感觉,好像就在嘴边但是又描述不清楚,对!没错!
BTC L2!🤣
在前两年一大堆VC项目方们搞了一大堆BTC L2的工业垃圾们来给比特币扩容,根本没抓住比特币真正的痛点,不是扩容,而是隐私啊。
Shielded Bitcoin某种程度就是采用了BTC L2的思想,比特币主网只负责数据的发布和排序,隐私状态在比特币上面完成。
假设Alice有10个BTC,想给Bob转3个,普通的比特币转账则是Alice的UTXO公开交易10个BTC,然后Bob得到3个,再给Alice找零7个。
所有人都可以看到交易金额和输入输出对象。
Shielded Bitcoin则改成了先把Alice拥有10个BTC的事情生成一个票据,进入隐私池,然后把这个票据加密后再发送到链上,当Alice在花这10个BTC的时候,用ZK证明自己确实知道一张合法的票据存在,并且拥有它的花费权。
然后再去创建一个新的票据,包含内容有3 BTC、Bob的地址、随机数...,将票据发送到隐私池的同时,再将承诺发送到链上。
而Bob自己的钱包则拥有对票据的解密方式,于是通过链上就可以知道Alice给自己发了3个BTC,并恢复属于自己的Note领取BTC。
所以看到这里,其实对于在比特币上实现一套隐私转账的方案,你会觉得并不难,所有的技术什么ZK啊L2啊都很成熟。
唯一的问题就是,不论是之前的扩容,还是现在的隐私,都是在比特币之上重新加的,安全性可靠性并不完全由原生的比特币来保障。
分享至:
脈絡
熱門快訊
APP下載
X
Telegram
複製鏈接