The Importance of Fungibility

in #crypto8 years ago (edited)

One of the most important properties of a currency is fungibility. For example, gold is fungible because 1g of gold is worth 1g of gold. So the real question here is what leads to this property because if that property were to me missing, fungibility would break down.

--

Small intro - Hi I'm Romano and I'm the lead developer of Viacoin. I posted this article on medium with the Viacoin account but I decided to still upload this on Steem (Yes I am also a Steem hodler myself) because more people will read this. I like to post quality articles and it would be waste to only let it stay on medium. So I aim to post quality articles, because let's be honst, a lot of articles on steem are terrible to read and seem very quickly written to make a buck or 2.

Old post link: https://medium.com/@viacoin/the-importance-of-fungibility-c2158eef2086

my Twitter: https://twitter.com/RNR_0

--

Gold is fungible because you cannot distinguish one bit of gold from another. There is no concept of old gold, new gold, or soiled gold so therefor all gold has the same value by weight. If there were, the gold from some sources may be less valuable. It would introduce the ability to blacklist.

There are many forms of digital payment systems where fungibility is a major concern. For example, Paypal have the ability to freeze accounts and payment at their sole discretion based on their opinion about the source or destination of payments being made on their platform.

Centralized bitcoin payment providers like Coinbase often close down accounts because they believe payments are being received from, or being made to gambling sites. They can do this by looking at payment flows on the blockchain. Now if it were impossible to deduce where funds came from, or where they were being made to, it would be impossible to perform this kind of analytics and harm the fungibility of Bitcoin.

Because of the way payments are confirmed in Bitcoin like systems, it is, in theory possible for miners to blacklist specific coins from being spent at all. This was already tried in Ethereum after the infamous DAO hack. While some may view this as a legitimate case because it was viewed as theft, there is nothing stopping the same actions being taken against coins for other reasons. Maybe because of your political beliefs, or because you live in certain countries.

So the solution is to make payments completely unlinkable, or at least, obfuscation to such a degree that looking at the blockchain yield no meaningful information. This would make all payments equal as no payment could be tainted by the past, nor tainted by where the payment is going to.

Let’s dive deeper into the specific problem.

Alice has send Bob an amount of 5 coins. She must reference a payment where she received 5 or more coins. The nodes will check if Alice was the recipient and that the coins add up to 5 or more coins. Person Bob later on receives those same coins. When someone even looks at the transaction of Bob and Alice, they can even track back that a the person Charlie send coins to Alice.

()

Aside from the blockchain, nodes keep an extra database often called UTXO. UTXO stands for Unspent Transaction Outputs. The UTXO is a ledger that records funds available for every address. It works like a cache for the blockchain. When new transactions are made, the UTXO will be updated. Addresses can be linked to one another by checking the transactions between them. This is the privacy leak. It’s like having everyone’s bank statements available for the public inspection.

There are several ways to track down coins.

The transaction graph is a graph where transactions are placed and connect a transaction input associated with the transaction output.

An attacker can link an address by searching info about the user online and in various public databases they might have access to. Many users have their coin address in their bitcointalk or twitter profile. Users may asks help on a website and paste in his error log and his coin address gets exposed.

Intergate off-network information: An attacker could combine the information gained from the network analysis with other information or private database they have access to. This could be exchanges, online wallet services etc.

IP traffic: An attacker can monitor the peer to peer payment network and observe which IP payments originate from.

Cluster analysis: A clustering behavior in the user graph can help to reduce the size of the user graph. For example, payments sent to exchanges or gambling sites might be trivially identifiable.

Flow and temporal Analysis: Large flows of funds can be traced through the network of a user. A user can be deduced out if at some point they receive an odd large flow compared to their account balance.

It should be very clear by now that transactions can be linked to specific users or services and this is how fungibility is harmed. The current design of Bitcoin and altcoins based on Bitcoin technology do not have fungibility and every day as coin tracking becomes more advanced, fungibility is eroded.


Sort:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://medium.com/@viacoin/the-importance-of-fungibility-c2158eef2086

Good article about fungibility and tractability of crypto. You have also made some awesome calls in crypto price entering and exiting on price. I don't know if you would want to but i think they will be popular on Steem should you decide to do it.

Would dumping all STOs (Spent Transaction Outputs) from the blockchain effectively make it fungible? To keep a good ledger of accounts we only need to know where the coins are now, not everywhere they have ever been?