Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: nopara73 on August 14, 2017, 01:09:46 PM



Title: ZeroLink: The Bitcoin Fungibility Framework
Post by: nopara73 on August 14, 2017, 01:09:46 PM
I am publishing ZeroLink I hope you will like it. I won't waffle here, I just insert the abstract.
https://github.com/nopara73/ZeroLink/

Quote
Abstract 
While fungibility is an essential property of good money, Bitcoin has its limitations in this area. Numerous fungibility improvements have been proposed; however none of them have addressed the privacy issues in full. ZeroLink is first to offer protections against all the different ways a user's privacy can be breached. The scope of ZeroLink is not limited to a single transaction, it extends to transaction chains and it addresses various network layer deanonymizations, however its scope is limited to Bitcoin's first layer. Even if an off-chain anonymity solution gets widely adopted, ultimately the entrance and exit transactions will always be settled on-chain. Therefore there will always be need for on-chain privacy.

Ideal fungibility requires every Bitcoin transaction to be indistinguishable from each other, but it is an unrealistic goal. ZeroLink's objective is to break all links between separate sets of coins. ZeroLink presents a wallet privacy framework coupled with Chaumian CoinJoin, which was first introduced in 2013 by Gregory Maxwell. A mixing round runs within seconds, its anonymity set can go beyond a single CoinJoin transaction's if needed, and its DoS resilience presumes a transaction fee environment above $1 Bitcoin.

Hopefully, ZeroLink will enable the usage of Bitcoin in a fully anonymous way for the first time.


Title: Re: ZeroLink: The Bitcoin Fungibility Framework
Post by: CarlOrff on August 16, 2017, 08:44:21 AM
I am publishing ZeroLink I hope you will like it. I won't waffle here, I just insert the abstract.
https://github.com/nopara73/ZeroLink/

Quote
Abstract 
While fungibility is an essential property of good money, Bitcoin has its limitations in this area. Numerous fungibility improvements have been proposed; however none of them have addressed the privacy issues in full. ZeroLink is first to offer protections against all the different ways a user's privacy can be breached. The scope of ZeroLink is not limited to a single transaction, it extends to transaction chains and it addresses various network layer deanonymizations, however its scope is limited to Bitcoin's first layer. Even if an off-chain anonymity solution gets widely adopted, ultimately the entrance and exit transactions will always be settled on-chain. Therefore there will always be need for on-chain privacy.

Ideal fungibility requires every Bitcoin transaction to be indistinguishable from each other, but it is an unrealistic goal. ZeroLink's objective is to break all links between separate sets of coins. ZeroLink presents a wallet privacy framework coupled with Chaumian CoinJoin, which was first introduced in 2013 by Gregory Maxwell. A mixing round runs within seconds, its anonymity set can go beyond a single CoinJoin transaction's if needed, and its DoS resilience presumes a transaction fee environment above $1 Bitcoin.

Hopefully, ZeroLink will enable the usage of Bitcoin in a fully anonymous way for the first time.
Interesting ideas, but want/needs this type of projects ?


Title: Re: ZeroLink: The Bitcoin Fungibility Framework
Post by: BillyBobZorton on August 16, 2017, 03:56:37 PM
The fungibility problem in bitcoin is huge, efforts to solve this should be top priority. If anyone wants to retain any decent amount of privacy, it is a MUST that you use Bitcoin Core or any other wallet that allows "Coin Control" feature, in order to not mix up the wrong addresses. Sometimes (most of the time) you don't want people to know that you own two or more addresses.

Having to keep track of every address and having to resort to "Coin Control" feature instead of pressing "send" and not having to bother with the ins and outs while retaining ideal privacy should be a fundamental goal so even complete newbies can enjoy privacy. It took me a while to get my head around how bitcoin works when you make a transaction. People think in terms of "I have X in my wallet", not "I have A, B, C, D.... in my wallet" and having to keep track of every single address where you received BTC, it's just annoying.

Hopefully one day we just have to press "send" and everything will be automated at protocol level to achieve good levels of privacy by default, but honestly I don't see this as viable without raising fees and possibly mempool usage by maybe unreasonable levels..

I will wait for other people to review your work because im not qualified to do it myself, I hope it's a great step forward.


Title: Re: ZeroLink: The Bitcoin Fungibility Framework
Post by: wintercooled on December 18, 2017, 07:25:32 PM
Update:

Adam Ficsor (@nopara73) and Myself are currently trying to test an implementation of a Chaumian CoinJoin mixer and client wallet using the ZeroLink framework and HiddenWallet. https://github.com/nopara73/ZeroLink

We are aiming for 100 participants in the first scale testnet test and any participation would be appreciated. The mix is ongoing and currently we have about half the required anonymity set to conclude our test. To participate you basically have to download binaries (or compile from source), get some testnet coins, move them into a bech32 address in HiddenWallet and join the mix.

Many thanks to those that than can help.

A guide to participating in the test:

https://github.com/nopara73/HiddenWallet/blob/master/HiddenWallet.Documentation/TestingTheZeroLinkMixer.md