15

Theoretically you could make an Ethereum mixer but I don't think it would be productive. This stems from 2 major flaws with mixers. Mixers aren't truly anonymous it obfuscates data but with enough computing power it can be decoded. You're spending a lot of Ethereum on transactions when you don't need to. This is true with Bitcoin as well where mixers end ...


11

No. All information on the blockchain is visible to all participants. Having said that, some clever uses of encrypted data exist for specific use cases. zkSnarks may provide general-purpose obfuscation in the future.


11

Philip Kirkbride's answer is misinterpreting cryptographers' use of obfuscation, and is also wrong. Mixers cannot be 'decoded' with any feasible amount of computing power. 'Decoding' the input-output address pairs in a ring signature mix would require you to solve ECDLP which would also break ECDSA -- meaning all transaction signatures in Ethereum, Bitcoin, ...


10

As far as I know the ideas in this article are not implemented yet, but take a look at it. It's an idea developed by Gav and Vlad when they were both on the Ethereum c++ core team. Basically the idea is to have a smart contract that given two sets of address sources: source and destination, guarantees exactly one of the following two possible outcomes: For ...


10

It is achievable in a trustless manner as a smart contract using ring signatures. How it could work One such scheme would look like this. A group of people who wish to mix their funds would all submit funds from their origin address as well as public key to the smart contract. Each member would use the set of public keys to create a ring signature of ...


9

In a January 15 2016 blog post, Vitalik mentions: Ring signatures are more mathematically involved than simple signatures, but they are quite practical to implement; some sample code for ring signatures on top of Ethereum can be found here. Here is a snippet: def verify(msgHash:bytes32, x0:uint256, s:uint256[], Ix:uint256, Iy:uint256, pub_xs:uint256[...


7

All blockchain transactions are public so if you transfer money from one account to multiple accounts it will be clear that these accounts are linked. All someone needs to do is look at the transaction history on a chain explorer. The devs are looking into various options to enhance privacy. Trust-less privacy will arrive sometime in the future but for now ...


7

Ethereum requires UDP port 30301 for node discovery, and Tor only supports TCP-based transport. It's likely that your blockchain sync hasn't started because your client can't find any peers.


7

Everybody knows what addresses were inputs to the ring. So when you withdraw, everybody knows your output address is linked to one of the input addresses. But nobody knows which one. This is an improvement over the usual situation where funds can be traced from address to address. It's helpful in some situations. Say you have an address which as been linked ...


6

A full answer would take a lot of time and space, and the general situation right now is that there's no easy way to use the zkSNARK precompiles. The general outline are as follows: Construct a circuit using the libsnark gadget library Generate a proving and verifying key, and export the verifying key to a contract like Christian Reitwiessner's example ...


6

Nope. Nothing in blockchain is fully anonymous. Just very difficult to track down. Almost to the point of not worth trying to unless you did something really bad and there's proof it came from your address. And even then. Linking address to identity is difficult in and of itself.


5

I think ring signature mixer will do exactly the job in Serenity, see Serenity PoC2 : Ring signature mixer – part of the test.py script now includes creating an instance of a ring signature verification contract which is designed as a mixer: five users send their public keys in alongside a deposit of 0.1 ETH, and then withdraw the 0.1 ETH specifying the ...


5

The property of anonymity offered by ring signature mixers is more like what you would intuitively think of as 'plausible deniability', or 'anonymity with respect to an anonymity set'. The actual definition of anonymity is given as an adversary having only negligibly greater advantage of connecting the true input-output address pair than if he were to guess ...


5

The main difference compared to Bitcoin is that they do not use change addresses. This reduces anonymity a little bit (change addresses don't help much if someone is serious about tracking you). If you keep your account address anonymous (by not linking it to known addresses through transactions) it has otherwise the same pseudonymous properties of Bitcoin. ...


4

As @RobHitchens states, Etherscan maintains an address book. To populate the address book, Etherscan can do some sleuthing to figure things out (after all, Ethereum is only pseudonymous) and they have ways to let people comment on addresses. They probably also accept e-mailed linking of addresses to entities. As for a newly generated address, Poloniex may ...


4

There's ring mixing contract with source code here which has similar (in fact, flipped) properties to Monero's ring signature mixes. It offers anonymity to recipients rather than senders, meaning that if you use it to make payments (as in, you deposit a public key and the intended recipient has the corresponding private key with which to withdraw), even ...


4

Sort of. There's some work going to get zCash running on ethereum here: https://z.cash/blog/zksnarks-in-ethereum.html. It seems like the ideas is: you would probably have an initial, traceable contract; but other's can then use this to preform untraceable transactions with it.


4

You could use this method described by Peter Todd. Just replace BTC with ETH: "For me personally shapeshift adds a lot of value to Bitcoin, as it gives me much stronger privacy by using Monero as an anonymous intermediary point. Specifically, I buy Monero on shapeshift, then sell it to xmr.to, which in turn sends bitcoins to the Bitcoin address of my choice....


4

According white papaper of bitcoin - In Bitcoin or for any public blockchain privacy is maintained by not exposing which public key is associated to which user. So users can participate in the blockchain network without disclosing their identity. In PoA networks all the authorities need to disclose their identities while participating in the network. In ...


2

There are two options that I know right now that will lead to a dead end to the casual "follow the money on the blockchain" person. Use Shapeshift. Say you want to move 100 eth to a new account. Use shapeshift's "send exact amount" functionality and tell it you are going to send it exactly 2 eth. Enter a BTC address (or other altcoin) that you control in ...


2

In the future, you will be able to use ring signatures to blind the sender. Blinding the balance can be done as it is in Blockstream's Elements sidechains, but would probably be very expensive from the EVM. Perhaps that kind of capacity will also be added when ring signatures are. In the meantime, state channels are the best option.


2

State Channels will allow privacy for tokens. Basically, they allow you to transact off-chain and eventually settle back the state of the transactions to the chain. The raiden.network is Ethereums work in progress to have a state channel network. https://www.reddit.com/r/ethereum/comments/4syqxo/ethereums_vitalik_buterin_explains_how_state/


2

There's an interesting write-up by Thomas Jay Rush that tries to geolocate the attacker by looking at transaction patterns across the accounts associated with the attack using the Ethslurp tool. Post: "A Clue About the DAO Attacker’s Location?" Of course, it's all speculation, but at least there's a degree of thought going into it.


2

I'll try an admittedly over-simplified summary and see if it helps. Just as a database isn't merely a better spreadsheet, blockchain isn't merely a better database. In fact, in many respects, database has considerable strength relative to blockchain. Blockchain excels in one area in particular. The key difference is the inarguable nature of data contained ...


2

If your NFT is ERC721 compliant, then no, according to the non-finalised ERC721 Standard, this is not possible. A requirement of the standard is that your NFT token contract contain the following function. function ownerOf(uint256 _tokenId) external view returns (address); The function takes a single argument (the tokenId) and returns the address of the ...


2

Yes, anyone on the network can read the storage contents allocated to any given account so you must not assume the data is private, even if the variable you use is marked as private in Solidity.


2

In other words, who can see the addresses in the array? Anyone. The data in the ethereum blockchain is public. I supose there is only way to store data that must be private is encryption.


2

Your assumption is not true. Naturally you can give somebody, who you do not know, technical permission to run proof-of-authority node in your network. There is nothing technical preventing it. You identity these parties by their public keys or IP addresses. However I do not understand how one would be able to evaluate the reputation of honesty of these ...


2

As mentioned in the comments, Ethereum does not support UTXO like Bitcoin does. So Ethereum has always one input and one output. Just to make sure what I mean here with Ethereum mixing (sometimes called coin tumbling) : a service which obscures an Ether transaction's sender/receiver. A direct Ether transaction always includes information about who sent it ...


2

The problem with mixing is that you need a way for the user to signal to the contract (or to the contract owner) the address they want to receive the ETH at after it is mixed. If you have a trusted central party, and a secure communications channel, then you simply sign a message with the sender address, and ask for the mixer to forward to the receiver ...


Only top voted, non community-wiki answers of a minimum length are eligible