Anti-money laundering + Bitcoin

Short but sweet. I’m going to just summarize what was discussed since it’s a fairly condensed topic that doesn’t focus too much on Bitcoin technology.

Money Laundering is the process by which individuals try to bring money gained from illicit means into the financial markets. Thus anti-money laundering job is to find and stop iti. It primarily focuses on larger amount of money that are being moved under the radar. However, even when one takes large transaction in banks, these are monitored and banks must comply with the laws.

Know your Customer (KYC) is a common phrase heard in financial institutions. The rules require business that handle money identify and authenticate their customers before handling these large scale transactions for them. It also means per jurisdiction, they need to watch the client for anomalous behavior and risky situations. Sometimes this process hurts legitimate behavior such as for gambling sites or companies that service the adult community. The lecturer presents certain US mandatory rules such as having to report transactions great than $10,000 and if they observe anomalous behavior, they need to file suspicious activity reports (SARs). To tie this to digital assets, people have used digital assets as intermediaries to get around these rules. Thus, on the same thread as the last lecture, people are watching these “fiat ramps”, places where people transition from fiat to digital assets. Banks also have the ability to shut down digital asset establishments because any business that handles large transactions even crypto must abide these rules.

Thus many exchanges or digital assets related corporations that could be classified under money services businesses need to be careful and watch closely to regulations. Law enforcement takes a strong and serious approach.

Governments + Bitcoin

This lecture was quite old (May 2015). It brings up many of the points that I’ve read in current news articles. Also, some of the speculation on how certain countries would have behaved have come true. I’ve chosen not to expand beyond this lecture since that’s a separate post in itself.

Questions answered in this Post:

  • Why governments started to care about Bitcoin?
  • Example of a Illicit Marketplace: Silk Road
  • Lessons from the Silk Road

Why notice digital assets?

It’s nice to see the lecturer provide historical context for when the government noticed Bitcoin. At this point, both the SEC and CFTC have released several statements on how they view Bitcoin and digital assets. He states, “untraceable digital cash defeats capital control”. Money under most circumstances has traditionally been created by central institutions, usually governments. Governments control the total capital, how much cash and how it is valued. With Bitcoin, the country cannot stop people from moving it in and out of the country. Whole economic groups would have no way to track a country’s wealth or economic success if this took of. thus, the idea of finance becoming borderless does not sit well with governments. Some countries have taken strict countermeasures such as disconnecting Bitcoin from fiat currency financial institutions. This only works when the country has a strong control over its citizens and currency.

It is not just lack of total capital though, there is also a security concern present. With untraceable currency, people immediately think of crime and national security. Digital assets in the hands of criminals is dangerous. This money can be used for terrorism, money laundering, and tax evasion. If these crimes were to happen to a nation’s citizens how would law enforcement be able to track these criminals. White collar crimes are already difficult and adding increased technology would make it near impossible. Silk Road is one example of an anonymous marketplace that facilitated the transfer of illicit items. It took many man hours to capture Ulbricht, the man behind the site.

Silk Road: Illicit Market for Drugs

Apologies for the redundancy, this is the second time, the course has talked about the Silk Road. The Silk Road is a prime example of what government institutions fear. It was a large online market for illegal drugs, essentially a black market can was run pseudo-anonymously and theoretically borderless. It was run as a Tor hidden service thereby adding more difficulty in tracking the website. Payment as in Bitcoin and the site held the BTC in escrow while goods were shipped. This is not a trustless system, but ran with more of a reputation system as well as trust in the Silk Road site to not steal funds. Nontheless, it was successful. It operated from Feb 2011 to October 2013. The creator was caught via entrapment where they had an FBI agent befriend the creator and force his hand. The site had 174K worth of Bitcoin which was auctioned off to the public. He received life in prison excluding the previous mentioned crimes and even in 2017 that sentence has been upheld.

Lessons of Life after Silk Road

The lecturer points out three main lessons. The first is the difficulty of keeping a real an virtual life private. This uploads the idea that a Bitcoin address is pseudo anonymous. In addition, it also adds value to the number of identity projects via a blockchain. People realize that having a digital entity may be just as important as your physical one. In addition, your digital entity, is not completely separate from your physical one. It’s hard to stay anonymous because transactions will be tracked via both the blockchain as well as information about how the transactions are sent. Federal officers while new to this type of crime will follow the money. They’re good at what they do and while adding technology makes it harder, it doesn’t make it impossible. Also one of the worse things they could do is just make the money untouchable. If they mark a certain address as a black (criminal address), then anyone who submits a transactions is immediately under suspicion. Law enforcement can block transactions or the movement of money. This is similar to what they can do with banks. From what I can tell, it also makes cash still king when carrying out an anonymous crime.

History of Bitcoin

This post is pretty sparse. I just posted it given that this topic was covered. I do think there are better resources to get a general background that I hope you do look into if you find this general article interesting.

Questions answered in this Post:

  • How did Bitcoin get started?
  • What was the first forms of digital cash?
  • What is some lore about Satoshi Nakamoto?

Precursors of Bitcoin

There are two main precursors that the lecturer touched upon. The first one was the cypherpunk movement. Libertarianism (bare government control) + Strong cryptography -> Cypherpunk. He mentioned with strong online privacy and cryptography, people could protect themselves without interference with government. The cypherpunks also cared about how one would deal with money in this new society. David Chaum’s digital cash work played a pretty big inspiration with anonymity and privacy. New forms of money that were not backed by central government bodies and could be transacted digitally were popular.

Bitcoin White Paper

The bitcoin white paper is pretty famous by now. It came out in 2008, titled Bitcoin: A Peer-to-Peer Electronic Cash System. This one white paper speaks about the initial technical design and philosophy. There was also open source code to run this system. It’s author is Satoshi Nakamoto, a modern day legend and mystery.

Satoshi Nakamoto

There are some facts listed about him. The key things are he’s been rarely heard from since 2010 and yet mined quite a bit of the initial coins and thus is incredible rich. His coins have not been used because his use would spark people to find his identity. In addition, his action could cause large spikes in the price given that he can make large market movements. Journalists like making articles about this.

Transactions on the Network

Bitcoin has had exponential growth since its start in 2008. The lecturer showed a graph from 2009 – 2014. Clearly now in 2018, that trend has continued and may even be greater. With the advent of lightning, the bitcoin community understands that they need to scale and that the protocol is quite popular.

Bitcoin Open Source Software + Stakeholders

I’m just merging the next two lectures together. They’re short one is regarding the open source Bitcoin developers and the other is the stakeholders. Unsurprisingly, these topics are interconnected and thus I’ll quickly cover them since it seems pretty cut and dry. Not boring and dry just simple and quick.

Questions answered in this Post:

  • What are BIPs?
  • Explain the roles of the Bitcoin developers,
  • What happens during a hard fork
  • Who has power in Bitcoin?

Bitcoin Open Source

As everyone knows, you can just go GitHub, and look at the Bitcoin repository. Thus the Bitcoin core is the de facto rule book. It’s interesting that the lecturer mentioned that even those who are building new cryptocurrencies will look to it as guidelines for their own rules.

In addition to the core, there is also Bitcoin Improvements Proposals (BIPS). This is a formal proposal for changes to Bitcoin. Essentially, since everything is public and people need to be in consensus, this is the way to formally propose changes to Bitcoin including the technical specification changes and rationale. They are usually referred to like BIP32/BIP39. I personally have spent the most time looking at the BIPs related to mnemonic code for generating deterministic keys. This is because there is crossover between Ethereum and Bitcoin for how the deterministic keys are generated for each chain. I highly recommend people technical or nontechnical to read at least one BIP. They are clear, well formatted, and easy to read even if they are not that easy to understand. Each BIP has a champion to evangelize for it. Other projects have something similar such as Ethereum which has EIP (Ethereum Improvement Proposals) and Ripple which has RIP (Ripple Improvement Proposal). There was a repo for lips (Litecoin Improvement Proposal) but given that acronym perhaps they moved it elsewhere. Enough of this tangent, essentially if Bitcoin were a government we now have the Constitution (rulebook) and a Legislative system (way to make/lookup laws).

There are five main lead developers on Bitcoin. One of them Gregory Maxwell has been discussed in earlier lectures who proposed coin tumbling strategies i.e. CoinSwap. The lecturer points out that even though they are the lead developer their power is muted and they tend just to “lead the parade” because anyone can fork the software at any time. This gives power to the individual users which is more than what you would get in a centralized currency. With a centralized currency users have the right to exit. However, if there is only a single bank, exiting the bank would be detrimental to your everyday life. Life would become more difficult. Beyond that maybe you can join another if it exists but there isn’t a mechanism to make it better. With Bitcoin, users can fork the rules i.e. meaning more empowerment. Thus the right to fork ensures that the community retains more power as opposed to the central deploying entity. What exactly is a fork though?

Hardforks with Developers

I’ve discussed hard forks before. However, the lecturer goes more in depth of users behaviors. If the fork was mean to start an altcoin then the altcoin goes its separate way and branches coexist nicely. Otherwise, forks could reflect a fight to the future. Thus when miners fork, it means there needs to be mass adoption of a new set of rules and that eventually takes over the entire network of Bitcoin nodes. If mass adoption doesn’t occur, or it’s only a small subset that want to fork, well that becomes it’s own currency ie Bitcoin Cash. Now we segue to the stakeholders.

Stakeholders in Bitcoin

There are several individuals in the Bitcoin. If there is BIP or negotiation about rule setting what happen which I’ll expand on below which some thought experiments.

Claiming the Bitcoin developers have the power

This seems obvious to me because they write the rule book. Almost everyone users their code and follows their rules. In addition, for some of the technical details, they may be the only ones knowledgeable enough to make informed assessments about changes. However if they do something that only benefits them, they run into the case that people ie miners and users just stop using this blockchain. They perceive that they are at a disadvantage and because Bitcoin is not the only chain, they can move their business elsewhere. As we talked about behavior, this empowerment is something you don’t find in centralized currency.

Claiming the miners have the power

Miners are powerful. They write the history and without them, the blockchain doesn’t move forward. History has to be consistent with the future.

Claiming that investors have the power

Investors have power. They determine whether Bitcoin has value and with hard-forks they investors can decide which branch prevails by keeping or buying the successful currency. However again, they are relying on the developers to build code and miners to mine their transactions.

Claiming that merchants and consumers have power

While the populus has power, the lecturer also claims that they generate primary demand for Bitcoin and drive the long-term price. I’m still unclear what sets the price for Bitcoin so I’m a little more skeptical on this argument. He then claims that investors have to guess where the merchants and customers will go. Then you can think of the payment services who handle the transactions.

However, all have some power. For success, there needs to be some relationship across these different slivers for the blockchain to exist and be stable. If anyone gains too much power, the other I’m sure will be able to impact them negatively to almost enforce this balance.

Bitcoin Foundation

The last group which should be a category of their own is the Bitcoin Foundation. it began in 2012 and has the mission “standardize, protect and promote the use of bitcoin cryptographic money for the benefit of users worldwide.” They pay the developers. They evangelize Bitcoin to governments. While it’s not fully powerful, they do have quite a bit of support. There are controversies among the foundation which is interesting. Each of the members clearly have their own agendas. Roger Ver wanted to start his own nation this year. Additionally, whenever each of the foundation members speak about price movement, they have the ability to shift sentiment positive or negative.

Wrap Up

I spouted out a lot of facts. Not much of this is relevant to the every day user. I still recommend reading a BIP. I also recommend considering who has power when looking at Bitcoin are any other token. In the orders of Ron Swanson, I should have started off with, “I’ll be delivering a speech of facts.”

Consensus in Bitcoin

This lecture began to put the ideas of cryptographic functions and how they interact with the humans who create/use/interface with them. However, before talking about policy and regulations, the lecturer began with the idea of consensus in Bitcoin. Note, this is a very short section that has some important concepts. While there is nothing difficult discussed, after thinking about these concepts for a while, I’ve had a new found respect for their foundational value. Also, there’s been a craze in the blockchain ecosystem about HashGraph. HashGraph is an alternative consensus protocol that is much faster and therefore scalable than Bitcoin. I’ll need to spend more time on it but I’ve put two links here and here that will explain more to those interested. Also next lecture will likely be more meaty.

Consensus, by definition, just means general agreement. It’s tame, more like the French phrase “D’accord”. However, “chill” the word suggests, it’s the crux of what makes the Bitcoin network functional and consensus takes place in many types.

Questions answered in this Post:

  • What are the three types of Consensus discussed?
  • What does consensus of rules mean?
  • What does consensus of history mean?
  • What does consensus of value require?

Rules, History, Value

I gave the answer right in the header. The three types of consensus discussed related to the block rules, blockchain history, and the value of Bitcoins.

Consensus about rules means there needs to be agreement on the technology and infrastructure. People need to know what makes a transaction valid and what makes a block valid. It also gives structure to how P2P nodes behave and the protocols and formats. Without consensus in this layer, none of the nodes would be able to communicate with each other and they each may validate different blocks. Thus there would be no consistent way for the system to move forward without this. One real world thing I think about is hard forks. During a hard fork, there is a division with the nodes and certain nodes become incompatible with others. Thus all the nodes need to move to one standard eventually to persist.

Consensus of history means one needs to agree on the contents of the blockchain. Furthermore, this means which transactions have occurred, which coins exist, and who owns them. Bitcoin can be simplified to being a store of value and thus everyone needs to agree on this distributed ledger. While it seems so simple ie one big shared database, that has to be true for people to remove trust from central parties and apply trust to these systems.

Lastly, there is consensus of value. Having looked at the price fluctuations of Bitcoin, it’s hard to deny there is value. Coins have value and currencies need this. However, likely in 2009, people needed to believe. The lecturer then speaks about the “Tinkerbell Effect.” It’s a circular argument that you get value from something because someone tomorrow will also see the value. It’s clear the the rules and history are closely tied because rules determine which blocks and transactions come into existence. History and value are tied because to claim ownership is due to having consensus on the history. It’s a two way relationship because block reward means miners expect value for maintaining rules to the correct input of transactions and blocks.

I think this statement was important since he calls it “Genius of Bitcoin.” The “Genius of Bitcoin” was that it’s extremely difficult to get any consensus by itself. I’m curious if other protocols rely on these three pillars. While HashGraph may have a different consensus protocol, do they still need people to believe in them?

Tor and the Silk Road

Tor and the Silk Road

This lecture was all about Tor and anonymous communication and then briefly talks about the Silk Road. Instead of just looking at the Silk Road, I expanded my view. I’ve been looking at the Whisper protocol which is a communication protocol that allows decentralized apps communicate with each other. In addition, one can use Signal if you’re trying to communicate as well. Irrespective, the lecture gave a good overview on how it can be used.

Questions answered in this Post:

  • What is anonymous communication?
  • At a high level, how does a message move in Tor?
  • How do you hide routing information?
  • Where does the term “onion network” come from?
  • What is a hidden service?
  • Reading recommendations

Anonymous Communication

Here’s a breakdown of the initial communication network. You have a bunch of senders and receives. For a message to get to a recipient, it has to pass through a communication network where multiple parties will propagate the message forward to the recipient.

Similar to how a Mix worked, a sender wants to send a message to a particular recipient but they do not want to be linked. There are adversaries who are considered the threat model. Any edge or node can be considered an attacker. The lecturer claims that there must exist at least one honest sender, communication network path, and recipient though for the message to get sent.

Tor: high level

Now how does Tor allow the message to pass through safely? Tor does this by picking a chain of intermediaries to find the route. The route can be random but it is fixed in the Tor protocol to be 3. The sender will pre-select a path of (3) x intermediaries for how the message will pass. The security guarantee is thus, as long as one of the nodes is not compromised then the sender is safe. By safe, I’m referring to the unlinkability is maintained. There are some attacks on Tor specifically “end to end traffic correlation attack”. People will look at timing to see when the nodes may communicate with each other. One key challenge is how do you hide routing information?

Tor: hiding router information

To send a message, the destination (IP address) has to be present. However, if we think any of the routers are compromised, we do not want the router being able to see the destination. Arvind mentions that the answer is encryption, specifically layered encryption. Layered Encryption resembles an onion which is where the term onion routing comes from. Alice and the first router share a symmetric key. Alice and the second router share another key. Alice and the third router also share a key. The symmetric keys are ephemeral just to be used when needed. The only long term keys are the keys held by the routers where each would have a public key and such. The last leg from the third router to Bob is unencrypted. However up until that point the message is encrypted. As the message passes along the routers, there are layers of keys that gets peeled off which indicates the next place to send it and the encrypted message. If you use secure web browsing of https, you’re able to encrypt the final message to Bob.

Silk Road: Challenges

According to the lecturer, Silk Road was an anonymous market place that sold illicit items and run by Dread Pirate Roberts. Also, the Silk Road was a hidden service. Thus it’s not something you can quick “Google”. To connect you’d need to find a “rendez-vous” point (Tor router) through Tor. Then it will publish the mapping between it’s name and the address of the rendez-vous point. Thus clients can connect to the rendez-vous point and then get access to your website. The addresses are usually random strings of characters and numbers but they end with a .onion address. The closing for this was brief so no nice wrap up, but I’ve listed some readings below.

Reading Recommendations

If you really want to look more into the topic of Silk Road, I have two more recommendation for reading material that I truly enjoyed. The Silk Road portion was usually just portions of the overall books but worth reading the rest of the book as well. I got them both from Overdrive connected to my local library but I’m sure you can also just buy them somewhere too. The first one was Digital Gold. The second one was Dark Net which again really liked. I haven’t gotten to the lecture that they cover the Silk Road and thus I’ll probably recommend that as well.

Zerocoin and Zerocash

Zerocoin and Zerocash and ultimately Zcash

This lecture discusses alternatives to Bitcoin. These coin protocols are not backward compatible with Bitcoin. Zerocoin was initially developed by JHU. From there, Zerocash was created. Zcash is the implementation which is also a fully-fledged currency. Zcoin is similar but based off of Zerocoin. Both protocols provider privacy-preserving version of Bitcoin as part of the protocol. I personally have had experience learning about zero knowledge proofs and Zcash. I was surprised that much of that seems to have been glossed over during the lecture. It’s not an easy topic so hopefully the lecturers maybe spend more time if they decide to expand the series.

Questions answered in this Post:

  • What is Zerocoin?
  • What is a zero knowledge proof?
  • How is a Zerocoin minted versus redeemed?
  • What is Zerocash?

ZeroCoin

ZeroCoin is a protocol-level mixing. The mixing capability is baked into the protocol. A first version of the paper was released in 2013. Within their abstract they mentioned that Zerocoin, is a cryptographic extension to Bitcoin that augments the protocol to allow for fully anonymous currency transactions. This means that one does not need to trust any user for anonymity, one just needs to trust the underlying protocol. The lecturer brings up another term called BaseCoin to use in the discussion.

Basecoin is defined to be a Bitcoin-like altcoin. Zerocoin is just an extension of Basecoin. So Basecoins can be converted into Zerocoins and back. When they become converted, the link between the old and new coin is broken. This adds that extra layer of anonymity.

Per the lecture, Zerocoin is a cryptographic proof where it relies on you owning an unspendable BaseCoin. Miners can verify that. By having this unspendable coin, you have the right to redeem a new BaseCoin.

Challenges of ZeroCoin addressed

There are two main challenges that the lecturer addresses. The first is who constructs these proofs that guarantees that someone with an unspendable coin can redeem it for a new coin. Also, how do you ensure that it only gets redeemed once. If it got redeemed more than once then you are vulnerable to double spend attacks.

Zero-knowledge proofs (ZKP) are the savior of the day. They provide a way to prove a statement without revealing any other information. Yes, I highlighted most the the sentence because it is that important. You now have the ability to say “I know an input that hashes to some hash in the following set.” You’re able to make these claims without explicitly sharing the input addresses. The talk gets a bit more hand wavy at this point.

Walk through of minting and redeeming ZeroCoin

With ZKP, we can say that ZeroCoins get minted. They come into existence by minting and they come in standard denominations 1 Basecoin == 1 ZeroCoin. Minting a ZeroCoin doesn’t have value. Values results when it gets added to the blockchain. Minting a ZeroCoin is called a “cryptographic commitment”. Intuitively, you’re taking a serial number S that will be put into an envelope. In addition, you generate a random secret r which is never public. From there a hash is generated composed of S (public) and r (private). This sounds very similar to public and private keys being used to generate hashed messages.

With the commitment, you put it onto the blockchain and now it’s part of a transaction. Thus a BaseCoin becomes burned (Minted transaction) and the output has the Hashed serial number and r.

To spend a ZeroCoin S, you now do the reverse. S has to be revealed and miners can verify whether S has been spent before. Next, a zero-knowledge proof is created ie “I know a number r such that H(S, r) is one of the ZeroCoins in the blockchain.” After this crypto-magic, one can pick an arbitrary ZeroCoin in the blockchain and use it as input for the next transaction. Thus, r is not revealed but you can solve this puzzle by knowing of its existence. Someone can look at this and confirm that you have the right to redeem a BaseCoin. The anonymity property is maintained because r is secret and no one can determine which Zerocoin gets linked to the serial number S. Thus ZeroCoin is “efficient” since there is a giant disjunction over all ZeroCoins and yet the time is not linear. They may be slower than Bitcoin but relatively fast. Now we just move towards ZeroCash. It is more efficient using snarks and is not reliant on an intermediary coin like BaseCoin.

ZeroCash

All the transactions can be done in the zero knowledge proof manner because the efficiency has been increased. Zero-cash means untraceable e-cash. All transactions are zero coins and splitting and merging is fully supported. Thus the ledger has a record of the existence of the transaction but only the people who partook in the transaction would know this. Mining fees are kept standard which means very little information is shared. The one issue of the system is that random secret inputs are required to generate public parameters. Thus the secret inputs must be securely destroyed because if anyone knows of them, the system can break. Thus the public keys are like 1 GB in size. There has been coverage regarding this private ceremony. I’ve shared Zcash’s ceremony for some context.

Here’s NPR’s Radiolab coverage of the same ceremony.

Zcash and Selective Disclosure

I have a few more notes regarding Zcash. I was fortunate to listen to Paige Peterson of the Zcash project speak. As mentioned above, Zcash a fork of Bitcoin. Zcash can be seen as another cryptocurrency that protect the privacy of transactions by using zero knowledge cyptography (ZKP). Zcash has extensions which I thought was interesting like “selective disclosure”. This is the ability that one can authorize 3rd parties to see some pieces of information by giving permissions to it. For me, that allows for a situation where regulators would be more “OK” with the introduction of Zcash because they had the control of the content. the way this occurs is that there is this items called shielded transactions.

I stumbled upon this Zchain blockviewer. This viewer allows you to look at all transaction and there is a section of it that says whether it was Shielded or not. Zcash makes it such that you can remove all input from a transaction and the only piece of information that you would see if the fee. Since the Zcash fee is the same for all, this is really not helpful. However if you are the recipient, Zcash has a mechanism of having viewing keys where it’s a channel so that only intended people can have view access. That’s really neat!

Wrap Up

I’m going to finish this article off with a nice chart that was presented in the lecture titled “5 Levels of Anonymity”.

 

System Type Anonymity Attacks Deploying
Bitcoin Pseudo Tx graph analysis Default
Single Mix Mix Tx graph analysis, bad mix Usable
Mix Chain Mix side channels, bad mix Bitcoin compatible
Zerocoin Cryptographic mix Possible side channels Altcoin
Zerocash Untraceable None Altcoin

Decentralized Mixing

Last lecture described mixers, but as the lecturer notes there were some flaws with the design. Honestly, this was a dry lecture in terms of the descriptions and content.

Questions answered in this Post:

  • What are some issues with centralized mixers?
  • What is CoinJoin?
  • What are some implementations of CoinJoin?
  • What is a side channels that the lecturer has alluded to?

Cons for using centralized mixers, pros for decentralized

The lecturer brings up several points. First, there is a inherent bootstrapping problem. For a mixer to be successful and create a large anonymity set, they need to have a large number of users. To get users you need to have a god reputation. This is not the case for decentralized mixers because individuals are banding together. As long as there is sufficient interest, mixing can just occur. Second, there is less trust involved and Arvind mentions that you can guarantee no theft. Dependent on how you structure the decentralized protocol, theft can be prevented. No one user is sending Bitcoins. Also, there may be more anonymity with this method. Lastly, it’s more aligned with Bitcoin given that it is a decentralized method.

CoinJoin

The protocol that does this decentralized mix is called CoinJoin. CoinJoin was developed by Greg Maxwell who is a core Bitcoin developer. Coinjoin is a method for bitcoin transaction compression which aims to improve privacy by discarding unnecessary information. Ok, bitcoinwiki doesn’t really explain too much. Investopedia’s definition is a little better. An anonymization strategy that protects the privacy of users when they conduct transactions and requires multiple parties to sign jointly on an agreement to mix their coins when doing separate Bitcoin transactions.

High level explanation of CoinJoin

According to the lecturer, several users come together for a single Bitcoin transaction, and combines all their inputs (he suggests they should be of equivalent value). All the signatures for each of the inputs are entirely separate so a single user does not have to hold the private keys. This means that the users can have a randomized ordering for the transaction. In addition, this was only a single round of mixing and multiple rounds should take place. So outside users may be able to tell that it is a CoinJoin transactions but will not know the internal specifics. The mixing principles discussed from the previous lecture also need to be used.

More lower level algorithm in a list

  1. Find peers who want to mix (group of like minded people neew to find each other)
  2. Exchange input/output addresses
  3. Construct transaction (only a single person does this)
  4. Send it around, collect signature (Before signing, each peer checks if her output is present: security property)
  5. Broadcast the transactions

Open Questions for CoinJoin

  • How to find peers?
    Arvind suggests using an untrusted server which does add engineering complexity.
  • Is there a security risk that peers know your input-output mapping?
    Arvind mentions that as long as there is diversity in the individuals running nodes, it should be ok. It is possible that a single adversary creates numerous sybils such that every sybil is part of every Coinjoin and thus is able to learn the input-output mapping. Thus this would be a problem that is not present in centralized mixes because those can have reputations. The proposed solutions is just a Strawman solution meaning that it’s just a draft version that people can improve. The proposed solution is disconnecting the inputs and outputs via Tor. That leads to a better solution which is having a special-purpose anonymous routing mechanism. These exist under the special term, Decryption Mixnets.
  • Can there be denial of service attacks?
    Yes, one of the nodes can always choose not to sign the transaction. In addition, someone can remove their coins prior to the Coinjoin transaction being written to the blockchain and thus force a double spend attack. Arvind’s solution is to add some fee to prevent people from doing this arbitrarily. He proposed using proof of work, proof of burn (fidelity bonds), server kicks out malicious participants, or Cryptographic “blame” protocol (Coin Shuffle)

Current Implementation of Coinjoin

What is a side channel, high-level flows?

The example is Alice receiving set bitcoin each week as income and then transferring 5% to a retirement account. This kind of pattern is one that is very visible on a blockchain. To prevent this, Mike Hearn proposed merge avoidance. Thus, a receiver provides multiple output addresses and sender avoids combining the different inputs.

Wrap Up

Which of these is NOT an advantage of Coinjoin over centralized mixes?

  • Built-in protection against denial-of-service attacks

Mixing: Service to provide de-anonymization

Similar to many solutions to problems in software and computer science, the age old method of “add a layer of indirection”, using an intermediary has been proposed. The point of this lecture was to provide a solution to enable anonymizing the transaction graph analysis discussed in the previous lecture. The takeaway is that online wallets don’t provide any better service than modern banks. This means that people may understand the shift to Bitcoin but it doesn’t really given an advantage to do it. The use of mixing intermediaries can provide anonymity but does require that everyone use them to increase the anonymity set.

Questions answered in this Post:

  • What is mixing in general?
  • How does it operate?
  • What are some other applications that act similarly?
  • What are the differences between mixing intermediaries and online wallets?
  • What has happened to certain mixers?
  • What is Mixcoin?
  • Why does this model still require trusting mixers?

Mixing

Mixing is one solution to providing de-anonymization by way of introducing an intermediary. Here’s the simple use case. How do you anonymize three people’s transactions that are sending some value to three different counterparties? The visual example (from the lecture) started off with three people sending some value to a single source, the intermediary. From there, the said intermediary would output the same transaction values and send them to the respective addresses as specified from the starting people. The main deal is that the bitcoins are considered “mixed”. Thus you know that three people sent bitcoin and then three entities received bitcoin but you don’t know who sent what. When this scales larger, it becomes more anonymous. Thus someone looking at these transactions would not be able to tie the bitcoin to specific people i.e. removing the inability between the input addresses and output addresses.

How does it operate

A mixer is a service which inputs and outputs certain pieces of information. A mixer will release the address of a mixer (who to send the transaction to). The mixer takes an address for who is receiving the Bitcoin. Mixes make money by charging some fee 1%-3% to handle the transactions. That’s how they make money and in current times, that can add up in price. Thus people shouldn’t mix for small transactions only large ones.

Some issues with mixers

While I think this idea is interesting, my singular thought is the fact centralization is being added. You need to have a mixer that almost everyone uses or else people could see cliques in the network or everyone has their own “cleaner”. I’m not sure if that’s true but that was my understanding of this process. I did some research and found a few mixing services mentioned. The Merkle had an article where they only mentioned four mixers in 2017 and one of the ones mentioned is no longer in service. The reason Bitmixer gave for going dark was posted in a Bitcointalk thread. The tidbit that most articles, here and here, used was “Now I grasped that Bitcoin is transparent non-anonymous system by design.” The rest of the note is worth sharing where he tells users to use Dash or Zerocoin for those dark market transactions.

My second thought was “Isn’t this just straight up money laundering?”. Money laundering is where people move money that was acquired by shady means to make it legitimate by entering certain source. This usually involves real estate, or buying physical items, or just moving money through cash oriented places like laundromats or nail salons. Isn’t this idea of dumping all transactions into one central place pretty much accomplishing that? Apparently others on the internet agreed with me and mentioned that using mixing services may even be illegal for certain country jurisdictions. One red flags for me was that many of the sites on “How to Bitcoin Mix” suggested going to sites via Tor. This lecture didn’t cover that topic here but it’s important so I’ll address it a bit.

Money Laundering is a serious crime that can have reprehensible consequences. It is also how many criminal organizations do their business as well as it has been used to finance terrorist attacks. Organizations that deal with money such as banks, have to deal with federal and international regulations to watch for money laundering. Giving people access to do that in cryptocurrency is making the problem worse. Because of this, it is no surprise that mixing services may be illegal in certain countries and that mixing services are getting more pressure. However, as the lecturer states, this lecture is less on the morals of the actions and just about the pure technology. The lecture then segues into the next topic of online wallets in that they provide a similar service without the anonymity.

Online Wallets: mixing without extra steps?

Right, so he mentions that online wallets provide you the same service. However, most online wallets don’t provide this. The online wallets that I use at least linked an email address to the user accounts. I have used Bitgo before. I have also listed a lot more in my previous post on the online wallets. The online wallets don’t just have to be online wallets. Players like Coinbase and Mt. Gox, ie exchanges also provide this service. Places like Coinbase have zero privacy in that they link people’s real world identities strongly to the Coinbase wallets.

So,what’s the difference?

The lecturer brings up two main points on these mixing services. One they “promise” not to keep records and second they don’t require an identity. These are the main differences since online wallets do the exact opposite. As I mentioned before, they have to keep records of everything because they are regulated businesses. This one article from Townhall posted today highlights some of the areas of taxation for cryptocurrency holders specifically via Coinbase. Some of the tax changes are a result of the recent tax bill passed in the United States. The second point is that users trust these sites and thus will willingly keep their cryptocurrency in these systems longer. That means that there is a larger anonymity set since candidates are willing to keep their coins in these intermediaries longer. The lecturer brings up the point that this is mimicking centralized institutions that exist in current financial institutions. A stranger will only know that perhaps that you’re using this centralized intermediary but will not know your transaction history. The intermediary may keep records of such information but they are not publicly sharing this information. Only regulatory and judicial parties tend to be the ones who are able to request this information. At this point, I don’t have a clear reason why choose bitcoin as a way for more anonymity if you only use online wallets.

Now we just to more of a discussion on mixers. Arvind mentioned that his team studied these mixers and came up with some improvements for them. They proposed them via Mixcoin.

Mixcoin

 

Mixcoin is the name of the protocol to facilitate anonymous transactions or payments. One recommendation was that they should use a series of mixes, not just one, and there should be a standard API. This is similar to the idea of routers when doing anonymous communication. By having multiple mixes then one is removing that trust of a single mix. The lecturer also showed a visualization where a single users transaction would pass linearly across 3 different mixes before it was finally outputted. Each time the user seems responsible for taking the output and then reinputting the Bitcoin into the next transaction. Because it is being passed through 3 mixes, you need each of them to be honest about how much Bitcoin they are processing and you need to cost of mixing to be low enough that going through 3 mixes doesn’t being too high. Thus the transactions across the different mixer have to look as uniform as possible and thus they may consider having a fixed chunk size. Lastly he mentioned that this mixer works had to be integrated in client side software. Regarding costs, they recommended that fees had to be all or nothing with some probabilistic fee. So in 0.1%, the mixer would have to swallow the cost. This is used to reduce the ability for people to track the mixer via the fees.

While, these are great proposals, mixers have not followed them. They tend to act independently with a web interface (rather than integration in client software). In addition, there is no standard chunk size. The mixer as mentioned above does not use a probabilistic fee.

Why does this model still require trusting mixers?

Mixers still have all the power. You have to trust that they will not just take the input and not return it. Also, when they have a fixed transaction fee, you have to believe them. In addition, you are relying on the mixers to be honest and not keep records and preserve your anonymity. Mixers can improve their reputation by staying in business for long periods of time. However, with this increased reputation, if there are so few mixers, the ones still running have power to charge arbitrary fees. He mentioned something considered cryptographic “warranties”.

Wrap Up

As of now, there is no dedicated mix protocol that everyone follows. It’s also a skewed system that requires trust in the mixer. The Bitcoin wiki says, “Use at your own discretion” as does Arvind.

Which of these techniques can improve the anonymity provided by mixing services?

  • using a series of mixes
  • using the same chunk size for all mixing transactions

De-anonymize Bitcoin

How to De-anonymize Bitcoin

Well that’s a funny name for a topic given that the last lecture basically declared that bitcoin was just pseudoanonymous and even then reading through Freedom-to-Thinker posts, it made me think the ecosystem would bank on this fact. The amount of information that can be gleaned if all ecommerce companies use Bitcoin could be an advertiser’s dream. This lecture is once again an overview but substantially shorter than last time.

Questions answered in this Post:

  • How can all your transactions be linked together?
  • What is shared addresses?
  • What does “Idioms of use” mean?
  • How else can people be de-anonymized?
  • References to Research Papers from Lecture

Linking all transactions?

The gist of this section is that one can try to prevent having someone link all your transactions by just generating a new address each time. It is easy to recreate a new public key based on your public key. However, it is not unlinkable. If for example the multiple bitcoin from different address get combined together and spent in a single transaction, someone can infer that they are coming from the same private key. Shared spending is then evidence of joint control since the addresses can be linked transitively.

The example given by the research paper is pretty scary. This was done in a paper by Reid and Harrigan, Analysis of Anonymity in the Bitcoin System. The paper combined two networks of both the transaction and user networks from Bitcoin’s public transaction history and were able to investigate a Bitcoin theft that occurred June 2011. Looking at the paper, it’s interesting that they are able to paint a clear story where 60 transaction involving 441.83 BTC were moved on a 70 days period and it total amounted to 25,000 BTC. Based on their analysis, it seems that one is unable to hide or be anonymous in Bitcoin. It is called transaction graph analysis. From the lecturer though, there is some level of probability to determine which address is actually mapped to the user. Thus, this means a second tool is also needed.

“Idioms of Use”

Idioms of use refers to particular features used in wallet software such as each address is used only once as change. This technique was used by Meiklejohn in Fistful of Bitcoin: Characterizing Payments Among Men with No Names. Within their paper, they used two main user heuristics to do account clustering. First was to treat different public keys used as inputs to a single transaction as being controlled by the same user. (This was what the lecturer used in the first case with the tea pot for 8 BTC.) The second was the change addresses tend to be used only once and likely unknown from the actual user. This allowed them to collapse users clusters. Additionally, from 344 transactions to mining pools, wallet services, exchanges, vendors, and gambling sites, they were able to cluster s the main providers/users of the system. From their analysis, they claim that agencies with subpoena power would be capable of determine who is paying money to whom in the Silk Road wallet and other Bitcoin thefts. According to the lecturer, this was a tedious and sometimes manual process. One way to determine owners is that people would self-label them manually in Bitcoin forums. Thus they were able to find the cluster of keys associated with Mt. Gox based on their account clustering.

From these crypto currencies to mapping to real-life identities

Now the lecturer poses another thought of how to find real world users based on their addresses. One could be the self-assigned people who just give up their address in the Bitcoin forum. Likely, if there is a single address posted in the forum, they are not using a new address for every transaction. Also, there is high centralization in service providers meaning that every flow will likely pass through one of them. Thus, as Meiklejohn’s paper mentioned, if someone has the subpoena power, they are able to request from the service provider that actual real-world user identity. However, there is a second layer of information which comes from networking. Specifically, “the first node to inform you of a transaction is probably the source of it”. There is a simpler way to make it more difficult which is just use Tor. Tor is used for low-latency work like just web browsing. Thus the lecturer suggests to use Mix nets, routing protocols that make communication pass through multiple proxies thus breaking a link between the source of a request and the destination. Interestingly, the concept of mix networks also came from David Chaum. Tor is one application of this which is onion routing.

References to Research Papers from Lecture

Wrap-up

Which of the following observations would you suggest that addresses A and B may be controlled by the same user/ entity?

  • There is a transaction as input addresses.
  • Combined Shared spending and idioms of use
  • Coin join works – violates this assumption
PHP Code Snippets Powered By : XYZScripts.com