在智能合同中增强匿名性的可行方法是什么?
P.S.1:有人提出了一些建议,如霍克或佐伊项目;然而,我正在寻找其他方法。
P.S.2 :地址聚类:分析匿名性的一种常见方法是提取区块链中的交易信息,这意味着从其中获取硬币的地址和地址。地址聚类是用户去匿名的方法之一。这种聚类1,2,3,4采用了不同的技术。因此,仅仅依靠化名似乎不足以保持用户的匿名性。
P.S.3:混合:另一种匿名交易的方法是混合。混合方法之一是CoinJoin 5,其中多个用户创建一个具有多个输入和输出地址的事务。该方法的一个问题是事务验证,即一个有效的事务必须由所有参与的用户签名,因此当匿名参与者不签署他们参与的混合事务时,就可以阻止事务验证。因此,混合方法是脆弱的。
发布于 2018-11-20 13:50:24
正如评论中提到的那样,Ethereum不像比特币那样支持UTXO。所以Ethereum总是有一个输入和一个输出。
为了确定我在这里所说的与以太混合(有时称为硬币翻滚)的含义:一种模糊以太事务的发送者/接收者的服务。直接以太交易总是包括谁发送它和谁收到它的信息。Ethereum的混合服务旨在掩盖这一信息。
混合可以通过两种方式来执行(有些服务可以使用任何一种选项):
1)写一份聪明的合同,接受以太交易,并将收到的交易储存在合同内。在接收到足够多这样的以太事务后(或者在一个时间间隔之后,或其他一些事情之后),它将相应的以太事务发送给预期的接收方。这样就不可能知道(理论上)哪些输入与合同的输出相对应。
下面是合同混合器的一个例子:https://www.ethnews.com/decentralized-ether-mixer-smart-contract
2)后端解决方案。用户将以太发送到钱包A,外部区块链系统使用另一个钱包B将所需数量的以太转移到接收方。我不知道这两个钱包的余额是如何平衡的--也许他们只是定期将所有的以太从钱包A发送到钱包B。
我不能提供这种方法的示例,因为它不涉及任何可靠的代码。您只需创建两个公共地址(钱包),然后创建一个具有以下功能的后端系统:
2a)监控进入钱包A的交易
2b)从钱包B发出交易
2c)通过将所有的以物从钱包A转移到钱包B,在一定的时间间隔内平衡钱包余额。这种交易甚至可以从第一个选项开始使用外部混合服务来进一步混淆钱包A和B之间的连接。
https://ethereum.stackexchange.com/questions/62688
复制相似问题