绝大多数人不能分清楚,比特币如果采取“保密交易CT”是否有些什么好处和坏处,2019年比特币核心开发者们在推特上有这些讨论,我翻译成中文,方便大家参考。
最后Adam Back总结:
CT不太可能确保抗量子安全!
以下是推特链接
https://twitter.com/adam3us/status/10914917460963368962019 年 1 月 30 日
zender bitcoinomad @zndtoshi:
我真的很想听听!我尊重的这些大佬的意见:是不是他们都认为将“保密交易CT”,通过软分叉比特币,将CT添加到比特币基础层是件好事!
@LukeDashjr @pwuille @adam3us @orionwl @NickSzabo4 @giacomozucco @peterktodd @lopp
Luke Dashjr @LukeDashjr
“保密交易CT”需要硬分叉。但我不知道是不是个好主意!
JMTMV @timoncc
我觉得软分叉就可以“保密交易CT”。无论如何,原则上我都赞成!
instagibbs@theinstagibbs
“保密交易CT”作为软分叉,意味着传统节点看不到新的UTXO类型交易(这些UTXO隐藏在矿工输出中或其他地方)。他把类似的东西称为硬分叉。
Udi Wertheimer @udiWertheimer
我从 @jfnewbery 那里学到很多,但其中最好的一课是:软分叉或者硬分叉,并不像看起来那么有用!
Udi Wertheimer @udiWertheimer
无论咋样,在我看来,不具有完全约束力的“保密交易CT”,是对比特币的基础资产经济模型的改变,也就是无论我们怎么想,“保密交易CT”都是不应该发生的事情!
Udi Wertheimer @udiWertheimer
1/
“保密交易CT”等技术只能以两种方式中间的一种来设计:要么“完全隐藏”,要么“完全绑定”。
目前实现“保密交易CT”的包括Liquid、Monero、grin等,都是“完全隐藏”的!这意味着即使加密技术被破解,攻击者也无法得知隐藏的金额或资产。
2/
但在“完全隐藏”的协议中,攻击者可以!以一种无法被发现的方式,创建新的数字资产。
“完全绑定”的协议则恰恰相反:破解密码意味着你可以知道隐藏的金额/资产,但无法创建新的数字资产!
JMTMV@timoncc
比特币能不能以“完全绑定”的“保密交易CT”方式来实施?这样比特币即使被破解,也无法创建新的资产,另外你的依据来自哪里?
Udi Wertheimer@udiWertheimer
我看到Adam Back@adam3us 提到过几次ElGamal的保证。但这超出了我理解的能力范围。
Pieter Wuille@pwuille
是的,“完全绑定”的“保密交易CT”的一种变化的协议是有可能的!但是这种协议的空间利用率比较低,而且不能使用BulletProofs,也不能用其他的紧凑型的证明。
Peter Todd @peterktodd
我认为"完全绑定"是个坏主意! 大多数情况下,能迅速拿回你自己的比特币,比不自由地被“完全绑定”,要更快,更重要,更划得着。
而且!在有明显区别情况下,如果比特币已经因为其他的情况被大量地被破解,其他人大量地获得这种被破解的比特币,比特币在迅速地一文不值。(那么不要“完全绑定”会更自由!)
Pieter Wuille@pwuille
我倾向于同意Peter Todd这点,但不得不承认,"完全绑定的保密交易CT”这点,与比特币目前的可审核总量供应的简单哲学,在哲学上有很大的不同。
当然,任何软分叉都无法打破目前比特币的UTXO链,所以部署没有硬分叉的“保密交易CT”,实际上需要提前告知大众,要明确高效地转移到“保密交易CT”!
Peter Todd@peterktodd
我认为:无论是哪种形式的“保密交易CT”,都打破了比特币目前的可审核总量供应的简单哲学:当前,即使一个喝高了的,醉醺醺的文科学生,他只需要假设哈希函数SHA256有效,就可以放心地审核比特币的总供应。“保密交易CT”改变了这一点,使得“比特币的总量供应”取决于相对有点复杂的数学!
Pieter Wuille @pwuille
相对复杂的数学,可以在比特币系统已经严重依赖的假设条件下证明其正确性。
但你这是一个合理的观点;在实践中,即使是完全有约束力的“保密交易CT”,也会为比特币总量供应,其可能扩大膨胀的bug,带来一些新的现象。
Pieter Wuille@pwuille
我的另一个观点是,在我看来,唯一可行的比特币要部署“保密交易CT”,充其量也就是类似于Bram @bramcohen 所说的使用另外一条链来软分叉,来扩展比特币区块的东西。
Pieter Wuille @pwuille
这意味着,无论如何,两条链之间的汇率,最终都可能是自由浮动的,这反映了生态系统对离散对数椭圆曲线签名那条比特币链持有的信任/CQ不存在(?)/CQ方面没有发生通货膨胀问题!
Sjors Provoost @provoost
最安全的方法可能是采用一种方式:烧掉比特币的UTXO,并在“保密交易CT”那一端发放等量的UTXO。如果“保密交易CT”那一端爆炸膨胀,可能发生的一件令人担忧的事情就是完全不受影响的“保密交易CT”的用户和非“保密交易CT”用户之间,会争来争去!
JMTMV @timoncc
那看起来是1wp的另类币Altcoin了吗?我更倾向于把“保密交易CT”直接部署在比特币的主链上。在主链上,没有另类币Altcoin,没有侧链,没有扩展区块。
7d5x9 @7d5x9
“完全绑定” 或者“完全隐藏”的“保密交易CT”,都是不能接受的取舍平衡。实在要搞,就让愿意玩的,在那些可以证明能玩玩的联合“保密交易CT”侧链上去玩无论是“绑定”还是“隐藏”的比特币吧!
Udi Wertheimer @udiWertheimer
取舍平衡,是生活中的事实
JMTMV@timoncc
是的,这在任何层面上,取舍平衡,都是不争的事实!你不可能同时拥有信息安全和签名安全。但今天,我们没有签名的信息安全!
7d5x9@7d5x9
只要比特币的地址没有重复使用,这就不是问题。早期的比特币的确是有风险的,比特币一旦遇到量子计算机的破解者,管理这种被量子计算机破解的风险,总比采用“保密交易CT”结果却无限制的通货膨胀,或去伤害那些自认为匿名隐藏了,但实际上并没有隐藏匿名的用户要容易得多吧!
JMTMV@timoncc
我不是密码学家,不太明白你的意思。你意思是说,如果 secp256k1完全失效,我们仍然没事,因为攻击者无法从地址中知道公钥?既然这样,那比特币为什么还要使用数字签名算法呢?
AdamBack @adam3us
因为比特币的P2PKH地址,是和其他哈希函数模式一样哈希的,所以未来的量子计算机无法攻击离散对数的椭圆曲线签名。量子计算机只能采用较弱的格罗夫算法Grover's Algorithm来非结构化搜索Preimage。但如果比特币用户第二次使用比特币密钥,那么公钥就会泄露。
AdamBack @adam3us
你说得没错,如果离散对数的椭圆曲线签名ECDL成为量子计算机QC 攻击的目标,比特币就需要采用抗量子计算机破解的数字签名算法 ,而那时对外发送了比特币的地址,将是一种风险--因为暴露了公钥,量子计算机攻击者可能会重写签名。
JMTMV@timoncc
好吧,我没具体考虑过量子计算机QC,但既然你提到了......
量子计算机QC能否用“保密交易CT”来制造比特币的通货膨胀?
据我所知,我们可以用Lamport签名来升级比特币到抗量子计算机破解,难道不可以对“保密交易CT”来采用类似的保护措施吗?
AdamBack@Adam3us
ElGamal的“保密交易CT”版本,已经可以防止量子计算机破解所带来的比特币的通货膨胀,但有一个看起来应该是直接就存在的折衷和取舍平衡,就是如果量子计算机QC能破解了离散对数,那么最终还是会泄露这些隐藏的比特币金额,使得这些‘’保密交易CT”没有了隐私。
JMTMV @timoncc
我不太明白。我来重新表述一下问题:
你能拥有隐私的信息安全(及其性能上的好处)和通货膨胀的计算安全,同时这种计算安全还能保持抗量子计算机的破解吗?
AdamBack@adam3us
目前的技术手段应该还不行,因为信息理论上的隐私安全,与量子计算机破解所带来的通货膨胀安全,这两者间存在着内在的冲突。也许可以用不同的抗量子计算机破解算法来实现,但我认为这需要未来大量的证明和研究。