29th of March 2019 Montreal Meetup : How to be Sovereign with Bitcoin

Veriphi
14 min readApr 10, 2019

--

On the 29th of March, Veriphi hosted the second Montreal Bitcoin Meetup of the year. We would like to thank all those who came and we hope everyone enjoyed themselves. Maciej and Gustavo presented about how to be sovereign in the Bitcoin World and for those that couldn’t assist, we will review how the evening went. Francis Pouliot also did a presentation on Cyphernode, an open-source API server modular bitcoin full node. If you wish to see our slides, you can find them here, and for Francis’s, here.

About Veriphi

First off, Maciej started the evening with a quick overview about Veriphi’s mission : the propagation and acceptance as the Bitcoin Standard as the alternative to current monetary system and presenting our recent publications regarding Schnorr Signatures and their potential applications such as Mast, Taproot and Graftroot, to read the Schnorr one, click here. For the applications of Schnorr, view it here.

QuadrigaCX and the new banks

Then, he presented the recent QuadrigaCX case that has left around 115 000 Canadian investors out of 260M CAD they had left under the custody of the exchange. This tremendous loss was the result of bad security practices by the exchange at best, and an exit scam at worst. QuadrigaCX’s CEO, Gerald Cotten, recently died in India from an illness and he never communicated the exchange’s private keys to another employee so all the funds are lost. This is just another example between many others that leaving bitcoins on an exchange can result in a complete loss of investment. It’s like Nassim Taleb says, once upon a time a really fat turkey was being fed and treated better every day, until thanksgiving came. You can guess the rest, don’t be a thanksgiving turkey.

Why Bitcoin?

Maciej then followed his presentation by reminding the attendees why any of this matters, why bitcoin? Bitcoin is a revolution in monetary history, a completely new system built from the ground up that tries to replicate gold’s properties in the digital world. Predictable supply curve or digital scarcity, a clear set of rules for issuance, no double-spends, difficulty adjustment, censorship and confiscation resistance, divisibility, great transferability, impossible to counterfeit and coins can only be spent by the private key’s holder are some of the main characteristics of Bitcoin. How can all this be achieved by the Bitcoin Network? It isn’t the Timechain, or mainstreamly known as the Blockchain, that makes this possible as many say. It’s simply the peer to peer network of nodes that enforce the rules in Bitcoin. That’s the innovation, not blockchain.

Light Wallet Clarification : SPV vs API

Maciej then did a quick overview of the current types of light wallets there are on the market, SPV and API. It’s important to keep in mind that SPV doesn’t refer to what Satoshi specified in the Whitepaper since this isn’t technically possible since an SPV would have to be able to know not only that a block is valid like it does now, but that one is invalid through a fraud-proof which can’t get implemented into bitcoin. SPV, or simple payment verification wallets are wallets that connect to random nodes and ask for specific information about the transactions it wishes to know and about other random transactions to make it less detectable. Some forms of SPV, such as client side block filtering will download complete blocks from full nodes.

API wallets, on the other hand, only connect to specific nodes, usually the wallet company’s node and completely reveal a user’s xpub to automatically extract information regarding the wallet’s transactions. API is just the way the wallet communicates to the server so it’s possible to connect to one’s node through this method. If one connects to the wallet’s company node, you’re completely trusting the company and not using Bitcoin’s for it’s real properties.

Reclaim some Financial Sovereignty

Maciej then presented two easy steps to reclaim some financial sovereignty : acquiring bitcoins from better sources and holding them in a wallet that you control, such as a Hardware wallet. Sovereignty wise, there are two things to take into account when considering exchanges : Custody and KYC. First off, most exchange do custody of your funds, which means you don’t hold your keys, they do. Some don’t, and those are the ones we are suggesting for Canadians: HodlHodl, Bisq and Bull Bitcoin. HodlHodl is a non-custodial exchange based in Latvia that doesn’t KYC as well. Bisq is a software that works as a decentralized exchange with a bitcoin wallet integrated that you control. The issue with this two solutions for Canadians is the low available liquidity. On the other hand, Bull Bitcoin does KYC, to the strict minimum according to the law, but provides high amounts of liquidity.

Maciej then presented the most reliable hardware wallets in the market : such as Trezor, Ledger and Coldcard. Coldcard is the only one of these that is bitcoin only and supports PSBT. It also doesn’t ever connect to a computer, it signs the transactions on an SD card that you can then insert into a computer. Trezor is the only one of these options that is fully open-source and have the most trustless software available, but most users will connect to it through the web wallet that reveals your xpub key with the company’s servers and also trusts their servers to verify transactions. Ledger is probably the most popular one, it has the best GUI in our opinion, but is our least preferred one. We believe they have an extended belief about the whole cryptocurrency market, Trezor is bitcoin focused but the product supports almost as many shitcoins.

Quick Survey

We then did a quick survey with the attendees to find out how many out of them store coins in an exchange, how many use a hardware wallet, and how many run a full node. The results were pretty interesting : a quarter runs a node, almost half had a hardware wallet and only a quarter left their coins on an exchange. This meetup is frequented by a lot of advanced users so obviously the results aren’t representative of the whole market, but it still gave us an insight of how bitcoin is being used.

Take a Step Further : Run a Node

Gustavo then started his part of the presentation by reading a Mark Twain quote that he felt represented the bitcoin community :

“In the beginning of a change the patriot is a scarce man, and brave, and hated and scorned. When his cause succeeds, the timid join him, for then it costs nothing to be a patriot.”

For now, being a patriot in the bitcoin network is mostly expressed in a way: running a node. What is running a node exactly? It is being part of the p2p network of nodes that compose the bitcoin network by running a server with the bitcoin software and enforcing the rules by validating new blocks. It is the only way to experiment bitcoin to its full potential. A node doesn’t have to be archival, which means to store the whole blockchain data, or a back end server for random light clients, or a miner, it only needs to validate the rules. Which rules? The ones the user behind the node wishes to run, he controls it, ultimately that’s the value proposition of bitcoin : self-validation of the network. Bitcoin has so many attractive features that were mentioned earlier, the main one being it’s digital scarcity. This feature doesn’t exist in reality because Satoshi inserted it into the code, it exists because the users enforce it by running their infrastructure and validating.

UASF : All Roads Lead to Segwit

Gustavo then continued by going back in history, to 2017 to be precise when the last and hardest battles of the Scaling Wars were being fought, when two movements, UASF and NO2X, proved to the whole network that the users control the network and they enforce this control through the p2p network of nodes. First off, BIP148, most commonly known as User Activated Soft-Fork (UASF) was a Bitcoin Improvement Proposal that was published Shaolin Fry, a pseudonymous user to activate Segwit in February 2017. Segwit activation was far from being clear and a consensus, especially since miners such as Bitmain, weren’t interested in activating it because they wouldn’t be able to hide their use of Asicboost.

A proposal was being formalized by the bitcoin oligarchs such as Digital Currency Group and rumors about a Consensus 2017 agreement were being flied around. Bitcoin users didn’t want to wait so UASF was born. New rules for a new software that would activate Segwit on August 1st and would reject all the blocks that didn’t signal support for Segwit. This full skin in the game approach pushed the whole industry towards Segwit with the New York Agreement (NYA) being redacted and signed by most of the miners and the economic nodes such as Coinbase, Blockchain and Digital Currency Initiative. BIP 91 was proposed shortly after to activate Segwit if 90% of the network signaled support for it and this happened on 20th of July. Segwit was activated a month after, and the UASF guys were the ones to inspire the activation. On the after the activation of BIP 91, Bitcoin Cash was announced and forked off on the 1st of August.

NO2X : the Second Battle

This seemed like a victory, but Segwit was only activated because of the NYA which meant miners were supporting segwit2x, just the 2X part hadn’t been done yet. This was a project led by Jeff Garzik, small time contributor to Bitcoin Core and founder of many scams since then, which created an alternative source code that integrated Segwit but also doubled the block weight of the blocks to 8MWU. This new bitcoin client would hardfork the network with the 2X proposal and wouldn’t implement replay protection, which meant that coins could accidentally be spent on both chains because the addresses would be the same. This was an outright attack on the bitcoin network passed on as an upgrade where the most prominent and strongest economic nodes on the network were pushing for.

The schedule was for the fork to happen on November 16th 2017 and everyone was prepared to affront it. As the months advanced, miners were signaling more and more, even reaching 95% of support at some points in October. Every exchange had a blog post about how they would handle the fork, but consensus was far from being reached in the community and most of the core developers opposed it. It didn’t seem like miners were going to back down but N02X proponents were confident that this attack would fail. On the 8th of November, Mike Belshe, Wences Casares, Jihan Wu, Jeff Garzik, Peter Smith and Erik Voorhees announced through the mailing list that segwit2x was being canceled. Instantly, the bitcoin price reached an all time high, NO2X had succeeded and this event and UASF became events that proved the bitcoin ethos that users that run p2p nodes will be able to prevent attacks from the centralized companies that try to turn bitcoin into an altcoin.

The Soft-Fork Philosophy

There are many reasons that segwit2x was an attack on bitcoin and segwit wasn’t, but Gustavo wanted to amplify on the particular way the code would upgrade with 2x, through a hard fork. To simplify things, there are two main ways to upgrade code on information networks, either through a soft or a hardfork. Soft in the sense that the upgrade wouldn’t cause incompatibility issues to a user that didn’t wish to upgrade, and hard in the sense that upgrading would be necessary for a user to remain compatible to the network. The bitcoin development philosophy that we and most of the community holds is on the soft fork side.

Bitcoin is an open-source software first and foremost, and the only way to preserve user’s autonomy when it comes to the code they wish to run is to allow them to refuse or accept the code proposals that the main developers will integrate in the main software. Obviously, developers have to push for tremendous discussion and consensus has to arise for proposals to get implemented. The approach of the core developers has been exactly that and that’s why we support them so much. It’s an approach that gives the most power to the user, and the less to any central authority that might arise. As Gregory Maxwell once said on the IRC chats : “bitcoin has _never_ had an actual realized hardfork, other than potentially the issue that nodes before 0.8 would non-determinstically reject blocks over ~500k in size due to bdb locking behavior. You can take satoshi’s very first release, fix the bdb non-determinism, and sync all the way up to today. (though it might take you most of a year to do so. :) )”

Is it Worth it to Run a Node?

Gustavo then brought back the presentation to the main subject : running a bitcoin node. Is the effort of running a 24/7 computer on running the bitcoin software worth it? It depends on many things : the size of your investment into bitcoin, the frequency of the transactions you receive, your concern towards your privacy and the trust you are willing to give to another party. Obviously, if you have 100$ worth of investment in bitcoin today, it doesn’t seem logical to spend at least as much on hardware to run a bitcoin node. Why are you invested into bitcoin? Most people would say it is because they believe bitcoin will increase in value as time moves forward. Over the long term, markets become rational and value increases are based upon facts. As any project, it is a fact that bitcoin will only succeed if it preserves it’s value proposition. There is only one way that bitcoin will be able to preserve its value proposition and that is if users make the efforts to operate nodes and use bitcoin the way it is supposed to be. Trade offs exist in reality and if we wish to be our own banks and have decentralized money, users will have to take extra efforts compared to the legacy financial system.

What Difference Does it Make?

The presentation followed with Gustavo stating the differences between a light client and a full node. Bitcoin is supposed to be a decentralized trustless network and running a light client makes it instantly trusted and eventually centralized. Currently, the vast of majority of light clients offer little to no privacy like stated on the light clients part. Neutrino, the Lightning Labs light-client, not to be confused with the Coinbase-acquired blockchain espionage company, would use client side compact block filters that would make the transmission of information between a node and a light client more private. There is a debate in the community towards the integration of BIP 157 and 158 on Bitcoin Core, upgrades that would allow easy deployment of Neutrino. Many users believe that making it better to run a light client is an issue since it desensitizes people to run a full node.

A light client will never be a full node since it can’t validate that the rules are being applied to the new blocks on the network. That is the main difference between a light client a full node : you’re making sure that the network isn’t being attacked thus the transaction that you just received is real bitcoin. If you’re running a light client, you can’t be sure that the miners haven’t completely changed the protocol rules in the latest block that your light client is showing as valid. Also, if you’re a merchant and need more than a full node and a bitcoin wallet to accept bitcoin payments to your business, running a node is the only way you can have real censorship-resistance. If you’re accepting bitcoin payments with Bitpay or Coinbase Merchants because Mastercard or Paypal have recently terminated your services, it will only be a matter of time before Bitpay or Coinbase Merchants do the same. If they run the bitcoin infrastructure backing your business, you aren’t censorship-resistant through the payments network, they are.

What are the Requirements or Costs?

There is still one question left to be answered: what are the requirements or costs associated to running a node? Since bitcoin’s real value proposition is the ability for any user to run a node, the costs are extremely low. Bitcoin can run in the cheapest types of machines, a Raspberry Pi, in pruned mode even so that the whole blockchain doesn’t have to stored so no more than 5GB of disk space are needed. It’s although important for a bitcoin node to download all the blocks and validate them for the process to be trustless, so a sufficiently good internet connection is needed because it can be around 100GB of data that will be downloaded through a year. Keeping resources at the strict minimal is also part of the bitcoin philosophy and another answer question to why shouldn’t we raise the block limit. There are many tutorials out there that show how to assemble a Raspberry Pi or even buy a pre-assembled one, our favorite is StopandDecrypt’s one, you can find it here. If you have any question or interest regarding nodes, let us know and we will assess your node needs in the best way we can.

Workshop

Maciej’s and Gustavo’s presentation ended with a surprise announcement : a build-your-own-node workshop in Montreal that will be held on the 13th and 20th April. This was inspired by the Bitembassy in Tel Aviv workshop that Udi Wertheimer and Shesek gave, we thank them for their great work.We are looking very much forward to this workshop and hope that it will inspire many more around the world. We will be posting the results of the workshop and the lessons learned.

Cyphernode

Francis Pouliot then took the stage to talk about his amazing project, Cyphernode. If you haven’t had time to check it out, it’s an open-source project than you can try here, now. In Francis words, Cyphernode is an open-source modular bitcoin full-node microservices API server architecture, utilities toolkit and platform to build and deploy Bitcoin applications and services. The idea was born from the UASF movement, when Francis realized how nobody, users and businesses, were running nodes and were dependent on all the node-as-a-service companies such as Bitpay, Blockchain, Coinbase that colluded and tried to destroy bitcoin with segwit2x. Cyphernode was born from the vision of making these companies obsolete. The Bitcoin economic nodes ecosystem theory wasn’t working and bitcoin will eventually fail if this doesn’t change.

Cyphernode allows a company or a user to build an application or a service that uses it as the bitcoin back-end through a docker-based network of virtual machines. Cyphernode is your worker that only you control and whom takes care of the heavyweight work and gives you answers to the calls you make to him. The best about Cyphernode is how lightweight as a software it is, inspired by Alpine Linux, it only needs 1GB of RAM, and how easy it is to execute it. Simply clone the repository and run the setup.sh file and the simple configuration assistant will execute where you will choose how you want it to run. It currently includes Bitcoin Core, Pycoin, C-lightning, Opentimestamps and Spark-wallet where the last three are optional, but many more are expected in the following version such as PGP, Wasabi, an indexer, Electrum, Graffana, Esplora and a user interface. It is in heavy development so if you feel like you could contribute, don’t hesitate!

This talk by Francis was a preparation for his presentation during the Understanding Bitcoin Conference that took place in Malta from the 5th to the 7th, where he went in further detail. It is available on YouTube now, listen to it here.

Conclusion

It’s clear that bitcoin has a very conservative approach that will disinterest many that wish for major upgrades to happen now on the base-layer but we believe that it’s the only approach that gives us a chance to succeed as a new monetary standard of decentralized sound money. Beyond the base layer, the possibilities are infinite and everybody can do their part, that’s the wonder of an open-source ecosystem. For Veriphi, this consists in publishing content, organizing meetups and offering services. Don’t hesitate to contact us through contact@veriphi.io for any questions or inquiries. To be aware about the next Bitcoin Montreal Meetup, join the group on Meetup to be notified when it comes out, here. We also have a Facebook Group where any member can share content about Bitcoin, join it here. Don’t forget, we only have one rule : no Altcoins. ;)

--

--

Veriphi

Professional Dedication for Education and Development of Bitcoin