This is an opinion editorial by Dan Gould and Nick Farrow. Gould is a developer who worked on TumbleBit, PayJoin and Chaincase App and has been sponsored by Human Rights Foundation and Geyser Grants. Farrow is an Australian Bitcoin engineer best known for his open source payment processor SatSale.
Hey, I just got an invite to this hackathon in Malaysia, said Evan Lin, interrupting my flow over my laptop in the Taipei Hackerspace. That sounds magic, I snapped back. Can I come?
Id been smacking my head on the desk for weeks. Lin had been tearing apart my idea of what bitcoin privacy was. Its a private event, not your typical hackathon. I can ask.
One flight, two weeks, and six minutes of voice message logistics later, we were walking down durian-lined streets of Kuala Lumpur, Malaysia, with Lloyd Fournier, ruminating over a shared passion to make bitcoin privacy stick. Now we were a team. We set out to upgrade Fedimint using half-polished cryptography, some scribbled-down notes, and then demo it at the first-ever Malaysian BitDevs meetup five days later.
Fournier had joined Nick Farrow to develop FROST, a new threshold cryptography that takes advantage of Taproot, in the months prior. Being a fountain of Bitcoin human resources, Fournier had also been working closely with Lin who is a Bitcoin Dev Kit (BDK) contributor. He and I had spent the last few weeks upgrading PayJoin privacy under fluorescent lights during the wee hours in Taipei, Taiwan, so wed established trust to jump in the deep end on a project together. Fourniers invitation was a step to the edge. To demonstrate the cutting edge cryptography to the world, we had to put FROST in an app. Fedimint had everyones eyeballs for its new threshold custody model. It was fit for the quest.
Self-custody is a novel, scary concept for most people. So many people store bitcoin in third-party custody on exchanges, leaving them exposed to censorship and indecent surveillance. Federated mints offer a third way: A federation of known guardians keep community funds safe. So how does it work?
Anyone can send bitcoin to a Fedimint in exchange for E-cash tokens. The guardians share custody of the communitys bitcoin in a multisignature wallet. The E-cash tokens are just some data: blind signatures redeemable for some amount of bitcoin later. Theyre superpowered banknotes. Submit a Lightning invoice and your E-cash tokens to peg out. You could get E-cash in a text and have the federation reissue signatures so nobody else can take it. The signatures are blinded, so it can be redeemed in total anonymity. Anyone can send E-cash to a Fedimint to get bitcoin.
In order to share custody between guardians, Fedimint uses legacy Bitcoin Script-based multisignature addresses. A threshold number of guardians sign in order to transfer funds. These funds are easy to spot on the blockchain since Script multisig writes the number of signers and the total number of guardians to the blockchain for anyone to see. Even though E-cash is anonymous, surveillance companies could identify peg-ins, peg-outs and cluster community funds. By harnessing Bitcoins latest upgrade, Taproot, our team solved this privacy issue by switching Script multisig to FROST.
FROST (Flexible Round Optimized Schnorr Threshold) is a powerful new kind of multisig that aggregates the key shares of federation members into a joint FROST key. To spend under this key, a threshold number of members must each produce a signature share. The shares are then combined to form a single signature that is valid under the joint FROST key. Members coordinate off chain. FROST transactions are indistinguishable from regular single-party Taproot spends, and so stop the creepy surveillance. On top of that, FROST allows for flexible federations, allowing new guardians to join without coordinating every member of the federation to generate new keys again.
Our first step was to understand how the federation reached a consensus each signing round. Fedimints consensus algorithm can tolerate bad behavior for up to a third of the federation and still reach consensus. It took a day on the white board to decode the consensus algorithm and another to configure the initial FROST key generation.
Coming to Fedimint consensus (picture supplied by authors)
We cheated key generation by doing it all in a single trusted devices memory. In best practice, a two-round ceremony keeps an individuals secret shares of the joint FROST key which only ever exists on that individuals device. The overall secret is never reconstructed.
We tested a peg-in transaction before we modified Fedimint wallet code and got perplexed. Because of a limitation of blind signatures, Fedimint E-cash tokens (akin to CoinJoin outputs), are limited to preset denominations so that each E-cash token transfer has an anonymity set. Waiting and waiting and waiting, Lin laughed that we must have messed something up.
Turns out, standard note denominations we set required the mint to generate around 300,000 signatures to issue enough E-cash to cover the peg-in amount. There are proposals to fix this by using anonymous credentials instead. We reset the mint to use much higher default denominations since we were just testing. Hackathons are for hacks, after all.
In a stroke of good luck, Bitcoiner Malaysia had just formed and was primed for their first event. Between the four of us hackers, a host of the largest Chinese bitcoin podcast and the scholar on track to earn the first Bitcoin Ph.D. in Malaysia, we planned to show our proof-of-work at BitDevs at the end of the week.
Our hardest task remained ahead of us: federated signatures. To produce a FROST share, signers must agree to common randomness, called nonces. In the case of Fedimint, the signers use consensus to agree on a unique nonce for each federation member joining a signing session. Then signing participants aggregate shares into a complete signature.
While we drafted our live demo for the meetup, we managed to get some nonce sharing semi-working and fixed some fee bugs too. Despite our hard work, dinner rolled around before our code worked. We crossed the threshold into the deepest hackathon territory huddled around the TV for triple-paired programming in Farrows hotel room.
With our tapwaters ready and Unreal Tournament soundboard cranked up, Fournier sat at the keyboard, while we hurled bug fixes, variable names and commands from the back seat. 1:30 a.m. rolled around and our eyelids were heavy. A few taps later, just like magic, the peg-out worked. Each signer would receive signature shares from the others and redeem anons E-cash in exchange for bitcoin. Flawless Victory rang out of the soundboard. We cheered in disbelief.
Except it did not work. The next day we ran the code and saw problems straight away. We only got lucky the night before. It worked only once out of three or four attempts. We combed over hackathon-quality code for hours. Well after lunch, we still worried wed have to cram in another late night. To our avail, we found the problem: a classic indexing error. At 5:00 p.m. FROSTimint was ready to present.
Once we circled up for BitDevs, locals took a self-described support group format for introductions. Fournier brought us back to reality with the technical. The inaugural meetup deliberated the future and foibles of custodians with delight. How would we choose guardians? Can they hold fractional reserves? Most importantly, how can my laksa noodle soup shop transcend fiat by using Fedimint?
This is a guest post by Dan Gould and Nick Farrow. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc. or Bitcoin Magazine.
Originally posted here:
Using Taproot And FROST To Improve Bitcoin Privacy - Bitcoin Magazine
- Bitcoin Cash: Why It's Forking the Blockchain And What That ... - January 26th, 2018 [January 26th, 2018]
- Bitcoin Cash: Peer-to-Peer Electronic Cash (BCH) - January 29th, 2018 [January 29th, 2018]
- Bitcoin Cash Definition | Investopedia - January 31st, 2018 [January 31st, 2018]
- Bitcoin Cash: The New King of Cryptocurrency? | Investopedia - January 31st, 2018 [January 31st, 2018]
- What is Bitcoin Cash? - January 31st, 2018 [January 31st, 2018]
- Bitcoin vs. Bitcoin Cash: What's the Difference ... - February 12th, 2018 [February 12th, 2018]
- Why Bitcoin Cash Is Not Bitcoin [BTC vs. BCH - Differences ... - March 24th, 2018 [March 24th, 2018]
- What is Bitcoin Cash | Learn about Bitcoin Cash - June 21st, 2018 [June 21st, 2018]
- What is Bitcoin Cash? BCH vs Bitcoin | CoinCentral - July 6th, 2018 [July 6th, 2018]
- Bitcoin Cash (BCC) : Everything You need to know about ... - July 22nd, 2018 [July 22nd, 2018]
- Bitcoin Cash, Litecoin and Ripple Daily Analysis 20/07/18 - July 29th, 2018 [July 29th, 2018]
- What is Bitcoin Cash? - cointelegraph.com - July 29th, 2018 [July 29th, 2018]
- How to Claim Your Bitcoin Cash and Sell it for Bitcoin ... - August 2nd, 2018 [August 2nd, 2018]
- Robinhood Adds Bitcoin Cash & Litecoin Trading, Will ... - September 18th, 2018 [September 18th, 2018]
- Bitcoin Cash: Peer-to-Peer Electronic Cash (BCH) - reddit - October 7th, 2018 [October 7th, 2018]
- Bitcoin Cash (BCC) price, rating, news, and analysis ... - November 1st, 2018 [November 1st, 2018]
- Bitcoin Cash | The best Bitcoin can be. - November 1st, 2018 [November 1st, 2018]
- Bitcoin Cash (BCH) Price, Chart, Info | CoinGecko - November 19th, 2018 [November 19th, 2018]
- 'Real Risk': Blockstream Exec Warns Over Bitcoin Cash 51 ... - November 19th, 2018 [November 19th, 2018]
- Is Bitcoin ABC Really Winning the Bitcoin Cash "Hash War ... - November 19th, 2018 [November 19th, 2018]
- Bitcoin Cash: ABC Futures Cross $300 in Hard Fork Aftermath - November 19th, 2018 [November 19th, 2018]
- Top 11 Best Bitcoin Cash Wallets (BCH) to Store Bitcoin Cash ... - November 19th, 2018 [November 19th, 2018]
- Bitcoin Cash vs. Bitcoin | The Pros and Cons - CoinCentral - December 27th, 2018 [December 27th, 2018]
- Bitcoin Cash is 41.7% Up, Will the Upside Momentum Sustain? - December 27th, 2018 [December 27th, 2018]
- Bitmain Fires Entire Bitcoin Cash Development Team: Report - December 31st, 2018 [December 31st, 2018]
- Best Bitcoin Cash Wallets (BCH): Free Money For Every ... - March 21st, 2019 [March 21st, 2019]
- Litecoin & Bitcoin Cash Fuel Staggering $33 Billion Crypto Rally - April 9th, 2019 [April 9th, 2019]
- Bitcoin Cash Has Nearly Doubled Since Monday - forbes.com - April 9th, 2019 [April 9th, 2019]
- Bitcoin Cash, Litecoin And Dogecoin Bulls Aim Higher Despite ... - April 9th, 2019 [April 9th, 2019]
- Bitcoin Cash, Tron (TRX), BNB, LTC & EOS Could Continue To ... - April 9th, 2019 [April 9th, 2019]
- Bitcoin Cash Futures Volumes: A Prelude to the Recent BCH ... - April 20th, 2019 [April 20th, 2019]
- Bitcoin Cash (BCH) Downside Thrust Underway Before Sharp ... - April 20th, 2019 [April 20th, 2019]
- SBI Delists Bitcoin Cash | Keeps Support for Bitcoin SV - April 20th, 2019 [April 20th, 2019]
- Bitcoin Cash: Where BCH Stands the Day after the Hard Fork - April 20th, 2019 [April 20th, 2019]
- Crypto Market Near Turning Point: BNB Up 10%, Bitcoin Cash ... - April 20th, 2019 [April 20th, 2019]
- Crypto Market Wrap: Bitcoin Cash (BCH) Leading $6 Billion Surge - May 9th, 2019 [May 9th, 2019]
- Crypto Investing in the 2020s - FXStreet - October 16th, 2019 [October 16th, 2019]
- Latest cryptocurrency news and prices, 16 October 2019 - The South African - October 16th, 2019 [October 16th, 2019]
- More than 87% of Global Virtual Asset Trading Now Traceable with CipherTrace - Business Wire - October 16th, 2019 [October 16th, 2019]
- More than 87 per cent of global virtual asset trading now traceable with CipherTrace - HedgeWeek - October 16th, 2019 [October 16th, 2019]
- Litecoin (LTC), Ethereum (ETH) and Bitcoin Cash (BCH) Price and Analysis Will the Bulls Maintain the Unbeatable Trend? - NullTX - October 16th, 2019 [October 16th, 2019]
- Ex-CEO of Google Africa: Bitcoin a Gift That Will Change Humanity - Cointelegraph - October 18th, 2019 [October 18th, 2019]
- 10 of the Best Telegram Crypto Channels - Bitcoin News - October 18th, 2019 [October 18th, 2019]
- Coinbase, Cash App, Remain Top Rated Places To Easily Buy Bitcoin - newsBTC - October 18th, 2019 [October 18th, 2019]
- Talking Money: The rise and fall and rise again of cryptocurrencies - The Scotsman - October 18th, 2019 [October 18th, 2019]
- The Crypto Daily Movers and Shakers -16/10/19 - Yahoo Finance - October 18th, 2019 [October 18th, 2019]
- CipherTrace adds support for over 700 crypto assets, including bitcoin cash, ether and tether - Yahoo Finance - October 18th, 2019 [October 18th, 2019]
- Binance.US Allowed USA Users To Buy Bitcoin with Debit Cards - Bitcoinik - November 2nd, 2019 [November 2nd, 2019]
- Bitcoin and Altcoins Sighting Next Significant Break - Cryptonews - November 2nd, 2019 [November 2nd, 2019]
- Anonymous Bitcoin Price Prediction Finally Poised to Fail - BeInCrypto - November 2nd, 2019 [November 2nd, 2019]
- Bitwage Allows Companies in the EU, UK and US to Pay Wages in Bitcoin Cash - Inside Bitcoins - November 2nd, 2019 [November 2nd, 2019]
- Bitcoin Cash Price Changed by -2.38 percent - ICO Brothers - November 2nd, 2019 [November 2nd, 2019]
- The Crypto Daily Movers and Shakers -01/11/19 - Yahoo Finance - November 2nd, 2019 [November 2nd, 2019]
- Bitcoin Cash Retraces and Attempts to Retest the Previous High of $300 - Coin Idol - November 2nd, 2019 [November 2nd, 2019]
- Bitcoin Cash more vulnerable to timestamp manipulation than Bitcoin: BitMEX Research - AMBCrypto - November 2nd, 2019 [November 2nd, 2019]
- Bitcoin Cash, NEO and XRP Price Prediction and Analysis for October 29th - NullTX - November 2nd, 2019 [November 2nd, 2019]
- Bitcoin Cash First Halving Countdown Begins, To Happen in May 2020 - Coinpedia - November 2nd, 2019 [November 2nd, 2019]
- The resolution of the Bitcoin Cash experiment - CoinGeek - November 2nd, 2019 [November 2nd, 2019]
- Bitcoin Cash's Q3 performance was horrid here's what happened - The Next Web - November 2nd, 2019 [November 2nd, 2019]
- Bitcoin and Altcoins Topside Bias Vulnerable - Cryptonews - December 4th, 2019 [December 4th, 2019]
- Bitcoin Cash Price Changed by -0.4 percent - ICO Brothers - December 4th, 2019 [December 4th, 2019]
- SoFi gets New York BitLicense, set to offer crypto trading in the state - Decrypt - December 4th, 2019 [December 4th, 2019]
- Bitcoin and Altcoins Gaining Bearish Momentum - Cryptonews - December 4th, 2019 [December 4th, 2019]
- Bitcoin Cash Price Changed by -0.01 percent - ICO Brothers - December 4th, 2019 [December 4th, 2019]
- Bitcoin Cash Price Changed by -1.04 percent - ICO Brothers - December 4th, 2019 [December 4th, 2019]
- Bitcoin Cash ABC, Litecoin and Ripple Daily Analysis 04/12/19 - Yahoo Finance - December 4th, 2019 [December 4th, 2019]
- Moon Cash | Free bitcoin cash faucet - December 4th, 2019 [December 4th, 2019]
- Altcoin apocalypse the dramatic fall of XRP, Bitcoin Cash and ZEC - Born2Invest - December 7th, 2019 [December 7th, 2019]
- The Crypto Daily Movers and Shakers -07/12/19 - Yahoo Finance - December 7th, 2019 [December 7th, 2019]
- Bitcoin's bumpy revolution may be only just beginning - The Independent - December 7th, 2019 [December 7th, 2019]
- Early BTC Investor Roger Ver Says Bitcoin Cash Set to Skyrocket A Thousand Times From Where It Is Now - The Daily Hodl - December 7th, 2019 [December 7th, 2019]
- Bitcoin Cash Price Analysis - Will The Uptrend Continue Above $212? - KryptoMoney - December 7th, 2019 [December 7th, 2019]
- Award-Winning Bay Area Nonprofit Now Accepts Bitcoin, Bitcoin Cash, and Ethereum Donations through BitPay - Send2Press Newswire - December 7th, 2019 [December 7th, 2019]
- Understanding the distribution of the crypto market: Bitcoin, Ethereum, Bitcoin Cash, Litecoin, Cardano - FXStreet - December 7th, 2019 [December 7th, 2019]
- Open Positions Report: Where's the money in the crypto market? Bitcoin, Ethereum, Litecoin, Bitcoin Cash - FXStreet - December 7th, 2019 [December 7th, 2019]
- Bitcoin Cash Price Analysis: BCH/USD ruthless bears gnaw the price towards $200 - FXStreet - December 7th, 2019 [December 7th, 2019]
- Bitcoin Cash (BCH) Bounces, a Move above $227 Increases the Prospect of a Rally - Coin Idol - December 7th, 2019 [December 7th, 2019]
- Rebranded Localcryptos Lets You Cash Out BTC Peer to Peer Minus the Hassle of KYC - Bitcoin News - January 30th, 2020 [January 30th, 2020]
- BCH Price Momentum Astounds the Traders Overnight - NameCoinNews - January 30th, 2020 [January 30th, 2020]
- Bitcoin.com Update: Dev Fund Proposal 'Will Not Go Through' Without More Agreement - Bitcoin News - January 30th, 2020 [January 30th, 2020]