Dusting “Attack” via Tornado Cash to Public Wallets
etherscan.io
etherscan.io
Ethereum has accounts. So when Ana sends coins to Berta, Berta has no way to leave those coins untouched. As they just raise the amount of coins she owns. So next time Berta sends coins to Charles, it is unclear which coins she sent and if those include Ana's coins.
Bitcoin on the other hand has no accounts. When Ana sends coins to Berta, she just marks those coins as "Can be spent by Berta in the future". Berta can decide to never touch them. When Berta sends coins to Charles, she decides which of her coins she sends.
It is even more complex, as the conditions how the Bitcoins can be spent are defined by little scripts. Even though those scripts are (for now) more restricted than on Ethereum.
So it is not really true that Bitcoins are "on address 17f8..". In reality that means the Bitcoins are locked by a script that demands any transactions must be signed by the secret key that matches public key 17f8...
So in a sense, Bitcoin does not have addresses. It has scripts.
I wonder how Blockchain explorers deal with more complex scripts. For example on blockchain.com one can look up coins by putting an "address" into the search bar. But how would one look up coins that are not locked by a script that puts the coins under control of a certain key? Or a script that puts them under control of multiple keys?
Last I checked, the ledger on Bitcoin and Ethereum are functionally identical. A value against a wallet address. There are no "accounts" on either.
Ethereum has the first, the second is wip.
https://en.bitcoin.it/wiki/Transaction
Because Bitcoin is more flexible than most people think and offers an ever increasing amount of different transaction types, it is important to read it from top to bottom to get a grasp on it.
https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-bu...
Bitcoins can be divided. Ana can take her pile of coins and mark them as "This half can be moved by Berta in the future and the other half can be moved by Charles in the future". Now what was one pile is now two piles.
Bitcoins can be combined. To combine two piles of coins into one, one has to be the owner of both piles.
Similarly, miner fees are split off in the same way and combined with actual virgin coins in the block reward, but they're technically all the same in the system. You'd need to layer on a tracking on top to "de-fung" the coins.
In this way, bitcoin and most other cryptos are drastically more fungible in base reality than cash. Each individual cash note is marked with a serial number, making it literally a non fungible token. The only reason cash is considered fungible is because our laws require the justice system to make believe that they are fungible, not because they actually are.
But just because the justice system must consider your cash to be fungible, doesn't mean the base reality of non fungibility can't be easily used. e.g. banks could implement a system to scan each incoming and outgoing serial number on every note they touch, linking them to associated accounts. Even though they can't know how the notes are spread around in meatspace, you can collect a lot of the nodes and do a pretty good job filling in the blanks of how cash moves.
Cash notes are non fungible by design. Their non fungibility is literally an inseparable part of their physical existence.
Bitcoin is fungible by design, and only becomes non fungible in certain cases when you build tracking systems on top of it to try to break fungiblity.
Also, because inflation is a systemic part of the fiat money design, the fungible coins become less and less significant over time. In 2022 dollars, a quarter was worth $7.48 in 1913. We removed the half penny from circulation when it was worth more than a modern dime.
This also applies to any law that establishes a lower bound on money subject to some kind of surveillance, like the $10,000 reporting requirement on flights. When that law was passed, $10,000 was worth closer to $70,000 today. Because the value in the law was set statically, every year the slow grinding ratchet of monetary inflation includes more and more people and use cases into its jurisdiction, with barely anybody noticing.
Monetary inflation provides a great mechanism to slowly boil the frog.
Money is fungible by every (literal) definition of the word, whether banknotes or coins. Being fungible doesn't refer to the physical aspect of being absolutely identical but to its value. Money exists to be fungible, fungibility is literally one of the big things that make money work. Going even further, money is probably one of the few things equally fungible whether new or used, and sometimes even old/outdated (think retired currency which can be converted to currency in circulation).
Whether coins or banknotes, they are interchangeable from one to another regardless of serial or the year stamped on them. And almost any other two new "identical" products are just as fungible: two loaves of bread, two planks of wood, two pencils, or two cars (not the case for used products). They're all mass produces, quasi-identical units.
And the serial numbers? They're used mainly for uniquely tracing the note and don't affect the fungibility in any way. The proof? Randomly pick a banknote every time you pay for something. If it works every time either you're the luckiest person in the world, or they're completely fungible.
This means people value money itself slightly more than the things you can buy with it. Since money doesn't spoil, this tricks our monkey brain into hoarding the stuff, no matter how much we already have, it is a type of "desire" that can never be saturated. This is known as liquidity preference and since money is worth more than the things it can buy, giving up liquidity must be compensated by paying for the loss of liquidity, this means the minimum interest rate gets stuck at a floor. When you consider that the optimal interest rate is 0% when markets are saturated we are in a pickle.
So instead we decided that loans create new deposits, we no longer have to ask anyone to give us their money, no one has to give up liquidity, hence why interest rates are below liquidity preference.
Of course the problem with that is that as long as yields are optimal and markets are saturated, you are going to need to expand the money supply. This in itself doesn't necessarily lead to inflation but to stave off deflation, central banks decided to target 2% inflation, this lifts the profitability of companies in the real world closer in line with liquidity preference, in other words, we need inflation to neutralise liquidity preference.
By the way, inflation is a systemic part of any permanent money system, not just fiat.
People mine on Blockchains because they think spending electricity is a better way of getting Bitcoin than trading with existing Bitcoin holders.
People mine new gold because they think it is easier than trading with the existing owners of gold.
Even with a perfectly fixed money supply, there will still be inflation and deflation as people spend their savings faster than others want to save or as people save faster than others want to spend. You can't force eliminate inflation by decree you can only eliminate it through cooperation. The constant up and down price swings of Bitcoin are inflation and deflation. Bitcoin doesn't solve the inflation problem.
You create a specific transaction sending some number of Satoshis to another key, and then your coloring scheme marks that transaction as "converting" the coins to whatever token you want. The definition of the token is just anything that address spent.
Of course, no Bitcoin users are required to honor the scheme, the colored coins are still valid Bitcoin and can be spent by an unaware wallet. But you can still pretend that they are, say, shares of some DAO or something.
You probably could extend this to NFTs on the Bitcoin blockchain as well.
It's not hard to perform double entry accounting on triple entry accounting systems like ETH.
There are very good reasons why ETH uses accounting vs UTXO and scalability is at the front of those reasons.
And sure that could work once or twice but if this becomes a regular thing it's most certainly not sustainable.
But I'm not gonna say that political dissidents aren't at risk - heck, a government can just plant evidence. I'm just saying that dusting is a low risk.
Yes. That describes most people.
Suppose sanctioned party A pays B, a citizen of Indonesia who lives in Indonesia, $X. B's chain analysis decides that $X is "not material", so they continue using the account, and then transfer C $Y < $X. C's chain analysis decides that $Y is "material". What happens now?
The first question is whether C delivers B the goods B was paying for without demanding an additional form of payment. If so, they have exposed themselves to sanctions from the US, potentially a large problem if they are a US person.
If not, the second question is, do they refund the payment or not? If not, they have defrauded B; if so, they have potentially exposed themselves to additional sanctions from the US.
The third question is, what if A decides to only spend "not material" amounts? They spend a small amount on extra transaction fees, but the sanctions become ineffective.
All this uncertainty about where exactly the line is seems like it could put significant stress on Ethereum's fungibility.
To make it more complicated, consider that we're talking about US$400M here that the OFAC is trying to freeze. That's enough to transfer US$11000 to each of 36000 different accounts, or, more practically, random numbers of thousands of dollars to tens of thousands of different accounts over the next year or two. If the would-be sanctions evaders (who, as R. Nikhil points out in https://rnikhil.com/2022/08/09/tornado-cash-block.html, could include anyone who doesn't want their medical insurance provider to know what OTC drugs they buy, doesn't want their employer to know everything they spend their money on, or wants to donate to a political cause they don't talk about) are willing to spend 30% of their money to unfreeze the rest, they could get a pretty interesting number of people sanctioned with "material amounts of wealth".
By the way, I still remember your grilled portobellos decades later. I'm glad to see you're still out there, and I appreciate the chance to discuss things like this with you.
Back to the thread, I believe "material" is defined by the amount of the source wallets not the destination wallet. But it's also risky to accept large amounts of money from strangers because of the reasonable presumption of a transaction, and best practice to make a good faith effort to return or dispose it (same qty minus transaction costs), which seems trivial in this case.
(But IANAL and we're getting a bit arcane...)
“Here have my banned bitcoins” is literally the most obvious action.
Such as every single bank director.
Another, and probably better avenue, is for financial institutions and exchanges to implement crypto compliance and tracing tools. Then, using such tools to holistically understand customer's risk. If sanctioned coins represent a very small % of the total flow as well as a one-time occurrence, it's likely the customer was the victim of a dust attack and hence presents little sanction avoidance risk.
>The concurrency issue on Cardano is created because each UTxO, and therefore smart contract associated with it, can only be used once. So each smart contract can only produce one transaction per block. Meaning that only one person can interact with a Cardano smart contract each block, meaning that interactions with many DeFi protocols that want to allow multiple users to interact with a smart contract at the same time (concurrently) will not be possible if implemented in their current format.
There are reasons Ethereum and other more programmable systems were implemented as accounts instead of UTXOs.
I've been programming smart contracts since 2017, and Bitcoin since late 2013 :) thanks though.
Your comments are specific to Cardano, not a UTXO model. Look instead at what Fuel Labs is doing.
I'm not suggesting there aren't reasons to use accounts, but scalability ain't one of them.
You do not need to know the full indexed history of an account to know what its current balance is. There is zero loss of security in not knowing what a specific account's balance was 1,000,000 blocks ago if you have executed through every transaction and every block that has ever been committed to the chain.
The loss of security is to the network. When there are only like 12 actual full nodes, the network is effectively centralized.
Also, please stop calling lightweight pruned nodes "full nodes". It's totally dishonest to try to imply the same security level of a bitcoin full node when it's actually a much weaker security model. I know you're not the only person doing this, but nothing is stopping you from using more honest terminology.
What precicely is weaker about it? If you think ethereum full nodes have weaker security, what exactly is missing? Full nodes have 100% of the current state, 100% of the the blocks, and 100% of the transactions, and you serve those blocks and transactions to the rest of the network just as easily as an archive node. And if independent verification of the history of a particular account is needed, it can be done, without any dependency on any other archive nodes.
> I know you're not the only person doing this, but nothing is stopping you from using more honest terminology.
You aren't the only btc maxi who hand waives around this bs, nothing is stopping you from being less ignorant.
Here's a thought experiment for you; why don't you just get rid of all the "archive" nodes?
> Full nodes have 100% of the current state
Only if you redefine "current state" to be "not actually the entire state of the blockchain".
By all means, do it. Blow them all away. You can still transact on the chain and send or recieve funds from any other valid address or call contract functions just fine. And then anyone who wants to do things like run a block explorer or look at how a particular account's balance has changed over time can resync to an archive node *using only the contents of a full node*. Archive nodes just retain additional account level indexing of what the block history (and all the transactions contained in those blocks) already contains.
> Only if you redefine "current state" to be "not actually the entire state of the blockchain".
'Current state'⋮ At the present time, what is the balance of any abritrary account? What is in the current storage of any arbitrary deployed contract? Full nodes have 100% of that, without querying anything from any other node.
The analogous node in Bitcoin would be a full node that stores all copies of past UTXO indexes, instead of discarding the old UTXO index with every new block. Bitcoin doesn't have such nodes, so Ethereum archive nodes offer functionality not even available in Bitcoin.
I would suggest going beyond Bitcoin echo chambers when learning about how Ethereum works. You're not doing yourself any favors being misinformed about projects that compete with Bitcoin.
They have a list already, seized addresses from criminal cases they sell at auctions.
Easy peasy…
Bitcoin Core: Settings > Options... > Wallet > Enable coin control features (adds it on the Send tab)
You can choose to use a different address for every transaction (more private, less convenient), or you can choose to use the same address for every transaction (less private, more convenient).
A lot of the client software in the Ethereum ecosystem chooses the latter, less private and more convenient, to simulate an "account". But that's a choice, not a requirement, since they're all just addresses.
In Ethereum you don't have coins that get associated with an address, the balance of that address increases so in a way that mixes the "coins" with the rest of the "coins" for that address and so the receiver can't put them aside.
Put another way: in Bitcoin you can refuse accepting coins by ignoring them. In Ethereum you can't refuse the funds that someone sends you.
So now that you have funds from a sanctioned entity in your wallet what do you do? One solution would be to send an equal amount to a burn address to show that you never wanted these but it has two problems: it requires one to actively monitor the wallet and know what incoming funds are from some sanctioned entity AND requires you to spend money on a transaction you never wanted to do in the first place. And what if it's a cold wallet. It's a really messy situation.
Also if you wanted couldn’t you create a transaction that burns an amount equal to the tainted coins, that includes a message stating your intention?
This seems like a non issue to me.
You could do a transaction but I described the problem with that in the previous comment (edited before I saw your edit)
It's like the difference between someone telling you the password to some bank account filled with drug money and someone sending you a wire transfer to your bank account plus the bank not being able to prevent it. In the first case you can just forget the password and not touch that account. In the second case suddenly it's on you to know what incoming funds were bad and distance yourself from them (sending back or burning).
In the ethereum blockchain each transaction includes the originating address, the destination address, and the amount.
Both blockchains have all the information you need to avoid spending tainted coins, and it would depend on the wallet implementation to do that for you.
There are plenty of bitcoin wallets that just present the total coins present in an address and it's on the user to look at the lower layers or use a wallet that does that for you.
This whole thing seems like a distinction without a difference.
Hopefully a judge would see it that way as well, until it's tested in court we'll never know.
In the simplest case there are coins that get marked as being spendable by some public key (address). That's the analogy with the password to a bank account was refering to. As long as you don't make use of that privilege then you can't be reasonably criminally convicted. That doesn't mean law enforcement wont come and ask questions.
In Ethereum it is more like you said where a certain amount is actually credited to an address and at that point cannot be distinguished from other funds in that address.
I agree both systems have enough information to handle the situation but again (I start to feel like a broken record) - there is a clear difference between them in that one needs active work to distance yourself from the funds while the other just requires not touching the tainted coins. You could also in Bitcoin go the extra step and actively burn those coins. Ideally the sanctioning body would provide an address of theirs where tainted coins can be sent and the sender then reimbursed for the fees or even awarded a small amount.
Hopefully a judge would see when someone innocent received tainted funds but it would be a tad more difficult on Ethereum than on Bitcoin.
I tried to search for this before my last post but I just got a bunch of trash results, SEO spam and articles aimed at non technical people.
And in a Mimblewimble blockchain, you can stop someone from sending you coins in the first place, since the receiver needs to sign along with the sender (elaborated on in my other comment).
Then an OFAC-sanctioned individual adds another hundred dollar bill to the stack, to make 1001 hundred dollar bills.
Are you saying if I spend 1000 of those, and leave one hundred dollar bill unspent, but the unspent bill is a different piece of paper with a different serial number than the one provided by the sanctioned individual, then I've broken the law?
But if I knew the serial number of the specific hundred dollar bill provided by the OFAC-sanctioned individual, and didn't spend that exact piece of paper, but just kept it in my wallet, then somehow that makes all the difference and now I haven't broken the law?
Since currency, Ethereum and Bitcoin are all fungible and mutually interchangeable, what difference does it make?
If it's in your wallet you've broken the law. If it magically appeared on your doorstep and you call the FBI, you should be fine. (You'll be investigated.)
Anyone who ever sent to or received from Tornado any funds should be talking to counsel.
By analogy, there's no practical difference between a balance in an Ethereum address getting dusted with tainted funds, or a Bitcoin address with a tainted UTXO that I don't touch.
Now in Ethereum there are no coins like in Bitcoin and hence you can't taint them. You can taint an address and now if you received funds from a tainted address you get tainted as well. It's infectious and that's the whole idea behind this dusting attack.
Of course law enforcement can use discretion when it's only small amounts of funds but where exactly is the cutoff? What are the exact guidelines when you receive such funds and how do you stay 100% on the right side of the law? And why would a normal user have to care about all of this?
I'm not saying Bitcoin is a lot better than Ethereum in this regard. It's not a great situation in both chains and there will need to be better tools, laws and guidelines to handle these as time goes by.
(Custodial wallets can keep track of bad stuff received since account inception and allow spend of the clean amount only, no fee for on-chain burn required.)
Whole farce is hilarious.
The point is that Bitcoin actually doesn't have addresses/accounts. I think you are modeling this distinction as whether people clump all their money together into a single address/account or use a "wallet" of them (maybe all derived from a single key), but Bitcoin is way more abstract than that: there is no concept of an "address" at the level of Bitcoin itself... that is just a fiction created by an extremely popular way people protect money on Bitcoin. You might also note that Bitcoin tends to talk about different address formats (such as p2pkh), which often come from not merely different ways to serialize the keys but from different ways accounts have been protected with different scripts. In Bitcoin, you can have money that is owned by "anyone who can answer my math riddle" and that's that: unlike in Ethereum, it isn't that the money is owned by an account with an address which has code to restrict access, but the money is a little pile and the most universal "address" you can talk about is the script itself.
I used to build blockchain explorers, and the answer is "they usually don't deal with it." Depending on how much resources the operator can devote to it, of couse. Some of the information simply cannot be pulled out because of cryptography, some require graph-like processing. Ethereum was/is a dream to work with compared to UTXO.
The reveal of the script is actually time-delayed. See https://en.bitcoin.it/wiki/Pay_to_script_hash
Essentially, you "send" the Bitcoin to the hash of the script, then whenever a transaction spends those coins it must reveal the script (whose hash must match), as well as some data (normally a digital signature or two) that fulfills the script's conditions.
So, the block explorer doesn't get to deal with it until the coins are spent, up until that point all it knows is a hash, which is represented as beginning with a "3", to differentiate it from the simple single-key addresses that begin with a "1".
When it's spent, a block explorer could show the revealed script contents if it wanted.
That's really what's missing from web3: the concept of what a reasonable person [1] would believe - not a code-based contract.
[1] https://www.courthouselibrary.ca/how-we-can-help/our-legal-k...
I really think the OFAC regime made a mistake here. They overplayed their hands and this will result in a bunch of debate and court activity, which may reduce their power in the end. I would have started mass-blacklisting frequent users of Tornado rather than the contracts themselves, and certainly not by-default made Americans criminals who receive Tornado funds. That is clearly unenforceable and will put a magnifying glass on this issue.
There exist in our society things that the state is actually unable to completely prohibit, prostitution and cocaine principally among them.
It's possible that cryptocurrencies also fall into this category.
The state's power to ban things is not without practical limits and constraints.
Edit: Actually I have to partially walk that back. It's fairly buried in the comments on the other article, but it looks like the GitHub bans were a lot more limited than that. On the other hand, I could still see an exchange taking such an approach, so I'm going to leave this comment because I think the point is still valid.
Meanwhile in Japan, there was a crazy sentence for a crime of using a crypto-currency that has been stolen. Not the real criminal responsible of the theft, but some random idiots who think investing on crypto-currency was a good idea and purchased the token that was a part of stolen token.
I bet these idiots has never run full-node on the computer he owns. He just relies on some SaaS wallet service by somebody else.
I guess ignorance is a crime.
However, the same defense does not protect against confiscation; just criminal liability.
Former is what "ignorance of the law is not a valid defence" applies to. Latter can be valid, and particularly in this case I'd find it hard to imagine that those affected by the dusting attack would be found guilty of violating sanctions.
this is fundamentally a social technology, and can be built on top of what exists. it's nearly impossible to bridge the gap from systems built on human judgment (trusted) -> impersonal contractual absolutism (trustless), but the reverse is a simple matter of opting in. you only have to allow others to have rights over your property, and interact with others who do the same.
this is more or less what i would expect to happen over the long term; most people prefer safety and convenience over shouldering the entire burden of security and awareness for every financial transaction. it's vitally important that the option remains available, though.
Law and sanctions are not "reasonable persons". It's not up for interpretations.
If this hadn't happened to such high profile people, someone in court might be trying to say things like "look, I know my address is on the sanctioned list for money laundering but that's because someone I didn't know paid me", and the judge is going to be skeptical and say "I don't understand this blockchain stuff, but the software from <trusted sanctions partner> says you are guilty of sanctions violations."
Of course the "bitcoin" that "fixes this" isn't the one we have in reality -- you can't use it widely and cheaply to transact and it's so volatile as to be useless as the unit of account for anyone with more than a few thousand $ nw.
borrow against it. transact with what you borrow.
Give me an example.
Supply wbtc, borrow usdc, convert to fiat, if you need.
An analogous situation would be if the US government published a list of IP addresses which were known to have sent encrypted traffic, and declared that anyone receiving packets from these addresses (regardless of whether they wanted to or not), might be prosecuted.
Funneling them through the exit seems harder
So I had the bright idea to go around collecting publicly listed namecoin addresses - bitcointalk signatures, github donation addresses, developers, you name it I think I gathered about 100 addresses
I wrote a bash script and put looped namedcoind to read my text file and send the minimum tx amount to a random address every second....
So that was running in a (detached) screen and I got busy and forgot about... for a few days...
Some folks didn't think that was very funny and called it an "attack"
I’m retrospect yes it was juvenile and regrettable but hey welcome to the game, friends.
People weren’t brigading you with pitchforks back then because proof of work wasn’t destroying the planet a decade ago.
Simpler times.
The point is to show the difficulty of using such a blunt tool. By the letter of the law, everyone based in the US is a criminal if they receive Tornado funds, and legally must contact the OFAC office.
Yes, in the end you will have to talk to OFAC, and work with them to sort things out.
Nothing says it can't all be cleaned up by sending to a burn address because you had funds pushed.
Worst case scenario, expect allocation of budget to flesh out requisite infrastrure Congress-soonish, or an RFP for a Call Center/software development contract.
There is a blueprint/SOP for this sort of business, believe it or not. It has been built before. Alarmingly, the "becoming exceedingly efficient at it" never seems to materialize though.
What is "your account"? There's no "first-last name, date of birth, ID number" attached to an ethereum account unless an account is on a centralized exchange.
Generating a new account is a matter of 2 seconds.
Government: "We are sanctioning these known criminal wallets."
Tornado Cash: "Anyone receiving deposits from these criminal wallets will be blacklisted."
Criminals: deposit a small amount of crypto into every wallet they can find associated with Tornado Cash, blacklisting all of them
They're likely just sending small amounts to just about anybody. Not only addresses associated with Tornado.
If not done past date <whenever>, add account to OFAC.
Not an issue.
Now what to do with those funds after you receive them is an other issue.
Nevermind that people are more than willing to impersonate Federal Agents.
Nope
Losing you whole account is just business as usual in crypto.
Bitcoin has one defense against this attack: coin control. The way Bitcoin works is as if every time you wrote a check, you had to also include a list of all the other checks that the money comes from. So you can technically avoid implicating yourself in financial crime by not writing "payable by Iran/NK super hackerz" on your checks.
Isn't this terrible for freedom? When I pay with fiat, I don't have to include a list of where that fiat came from.
https://home.treasury.gov/policy-issues/financial-sanctions/...
Blacklists have been a topic in Bitcoin for ages. The problem with a blacklist is that in principle, identity creation is easy. Tornado team gets just one new address, and it's whack-a-mole time for Treasury.
I doubt this will work out the way Treasury thinks it will.
[1]: https://bitcoin.design/guide/how-it-works/coin-selection/
There will be a hotline or process for reporting your having been dusted. You call, let them know, they confirm, they give you special dispensation to move the tainted funds to a burn address most likely. They don't care the ultimate location in which the funds get locked down, only that they do.
That Ethereum allows for disting won't hamper things the least bit. However a lot of customer service is probably going to have to be accommodated, so if you do get dusted, I sure hope that wasn't your only financial lifeline, because it may take a while to work through.
Framing this in the context of centralized vs decentralized is wrong. This discussion is more like a discussion of foreign policy. You can think of blockchains as independent sovereignties. They are purely digital economies with a type of digital natural capital, human capital etc, it also has imports, and exports.
To import dollars there must exist a relationship with the US Government, and framing this as a negotiation is more practical than framing it as a technical discussion. We're talking about governece here. Tech is irrelevent. At the end of the day, if crypto wants a better footing, it would benefit from self-regulating itself a bit to gain increased favor with it's foreign trade partners. It would also benefit from increasing it's exports to gain leverage, the trade imbalance that exists today is not doing it any favors.
https://github.com/MetaMask/metamask-extension/commits/devel...
It says they blocked RPC requests from TornadoCrash, and that MM could no longer access Tornado Cash funds.
There is no mechanism in crypto to reject incoming funds, and all the top addresses are public.
Anyone could easily send the top 100,000 wallets “tainted” crypto.
> Several crypto projects were in their own right political statements about taking back control and decentralizing institutions
If these projects are about taking back control, why shouldn't I as a user have the agency to only accept transactions I approve?
What if someone dusts you NFTs with abusive imagery on IPFS linked to them? Or spam/scam tokens with funny smart contracts that trick you into doing something you don't want to do when you visit their project page?
It ought to have been an obvious feature from the beginning. Spam and public addresses have gone together since forever.
I strongly agree. If I have a choice between paying in cash or in a cryptocurrency, I would choose cash nearly every time (with a few exceptions).
Even if said coin existed, it wouldn't guarantee privacy, because information about transactions can be recorded or observed off-chain, and that information can be compromised.
Zcash is the ongoing project based on Zerocash, started in large part by those same researchers, but with funded teams of engineers continuously iterating on the protocol and implementations.
Ignoring that specific feature, if you did get money sent to your traditional bank account, you can always contact your bank and tell them you don't know what it is to avoid any trouble. This is not possible with Ethereum.
1. Https://grin.mw
> In Mimblewimble, outputs are Pedersen commitments r*G+v*H which combine value and blinding factor into a single curve point. The blinding factor serves both to hide the value and to control ownership. Correspondingly, a single (multi-)signature serves both to prove value balance (non-inflation) and to authorize transfer of ownership.
[1] https://np.reddit.com/r/CryptoTechnology/comments/kyhgcv/are...
Couldn't the same be said of a regular bank account? This doesn't seem to be unique to crypto.
Targeting the most prominent wallets may garner a bit more attention but the end result seems the same. A large number of individuals can have tainted funds deposited in their accounts creating a logistical nightmare.
Before posting funds to your account, a bank will scan the funds transfer against sanctions lists and only allow the deposit if there is no hit.
And it's hilarious when they have to pay you to get rid of it.
By paying to get rid of it all you are doing is paying for etherscan to update its backend that your address is no longer listed in that smart contract. The real solution is to have wallet software that only tracks tokens you care about.
Sanctions list excerpt: https://home.treasury.gov/policy-issues/financial-sanctions/...