@
wooyuntest #29 我之后查到了是混淆,但这一混淆具体如何实现没能看明白。托管式倒是好理解,也很清楚其中的单点故障对于币的保护是不足的 —— 托管者可能拿了钱不交出来就跑路;但非托管式的方式我不能理解,如何向同一交易中的其他参与者隐藏自身的货币地址映射的同时允许发生非关联交易。
首先,多处来源相互矛盾地提出非托管方式的处理方式:一说是 1. 一宗大交易,自多个地址输入,同时向多个地址输出;另一说是 2. 相互匿名的平台,多名用户随机匹配并且产生点对点的非关联部分交换,每名用户不断参与直到自己所需混淆量被满足。
对于 1. 我不能理解大宗交易如何被构造。a. 它不能构造为每名参与者(人)单地址对单地址,那样金额的唯一性可以破坏混淆; b. 同参与者的输入不能先于输出添加,这样会导致部分金额被他人宣称; c. 无法先添加满输出再添加输入,因为这样要么导致双用要么导致死锁; d. 无法被广播地构造,那样的话通过构造的过程可以还原关系。所以它必然需要一个中心化的 trust anchor,也就变成实质上托管式的了。
对于 2.,一来 a. 有先给钱还是先给货的问题 —— 不能进行公开关联交易的话先交付者无法确定对方会守约交付; b. 如果参与交易的用户中有蜜罐就会暴露地址关联,尤其有大量币需要转移的,必然不可能只找到少数几个人就完成转移,极容易遇到蜜罐。对于 a. 尚且可以通过小额多交易实现,但会导致 b. 更致命。