BTCPay Server, Skywire and the quest for censorship-resistance
This article was inspired by Stephan Livera’s conversation with Nicolas Dorier, the lead developer of BTCPay Server.
Network decentralization is a key to maintaining the censorship-resistance of any cryptocurrency. The greater the number of independent, geographically dispersed nodes, the more resistant the network to external manipulation or attack.
Less talked about (but perhaps equally important) is ‘decentralization’ at the user interface — the products and services people use to interact with Bitcoin. If a small number of centralized exchanges, wallets or payment processors are responsible for the majority of Bitcoin user traffic, then they can have undue influence over Bitcoin. Such centralization is antithetical to the founding ethos of Bitcoin.
BTCPay server — the Bitpay slayer
BTCPay Server is an open-source payment processor that allows users to accept Bitcoin payments without relying on a trusted 3rd party. It was created by Dorier in the wake of the Segwit2x hard fork drama where Bitpay, the incumbent payment processor, sought to force a 2x change on its users under the guise of a Bitcoin ‘upgrade’.
At the time, most vendors were using Bitpay to accept Bitcoin and other cryptocurrencies. Bitpay had a monopoly on the payment interface of Bitcoin and tried to use this influence to change public opinion to serve their ends.
Nicolas Dorier vowed to create a drop-in replacement for Bitpay that was completely open source in an effort to remove this centralizing vulnerability.
In just a year, BTCPay Server has grown at lightning speed. It has has quietly become the preferred payment option for those wanting complete financial autonomy in receiving Bitcoin for goods, services and donations.
However, there remains a larger problem that prevents BTCpay Server achieving complete decentralization, and therefore censorship resistance.
Centralized cloud hosting vulnerability
Dorier states the obvious ongoing problem — users are still reliant on a centralized web hosting service to run their own BTCpay Server. Users must pay per month for hosting fees on cloud services.
These services can be targeted and shut down using a number of different methods based on IP address, etc. It is possible for advanced users to circumvent this censorship, but it requires advanced skills beyond the abilities of most people.
Another solution is to run your own BTC pay server off a small computing unit such as a Raspberry Pi physically located in your own business or home. This would reduce running costs and prevent associated drawbacks of 3rd party hosting. However, there are privacy issues with hosting a server on the clearnet on your own home or business.
As BTCpay Server increasingly becomes used to receive payments for unpopular, marginalized or politically inconvenient viewpoints, its possible that hosting BTCPay Server could become prohibitive for competent lay users. This would severely compromise the value proposition and widespread use of BTC and BTCPay Server.
Here we arrive at a very significant but unappreciated truth — Bitcoin’s censorship resistance is severely compromised by running on an unencrypted, vulnerable internet.
Skywire — the Iron-Man suit for BTCpay server and Bitcoin
Skywire provides an attractive potential solution to this problem. Skywire is a decentralized, encrypted new networking protocol that runs on user-owned hardware.
The design is based on CJDNS, an open-source networking protocol, and uses MPLS for packet routing, plus link-layer and end-to end encryption for all traffic. Skywire addresses are based on public keys, not IP addresses so they are not geographically determined.
Skywire refers to both the new internet and the physical wireless mesh network that supports this internet. It has been designed specifically to solve the unencrypted, clearnet problem plaguing Bitcoin and all cryptocurrencies.
The robustness (antifragility?) of this network is afforded by the Skyminer — a unit with 8 distinct computing boards each running a node on the network. People are payed to run Skyminers in return for forwarding packets on the Skywire network. *see explanation below
Skywire and the Skyminer offers a direct solution to the problem of centralized server hosting for BTCPay Server. By attaching storage to one of the 8 Skyminer nodes, users can run a BTCPay Server and route all traffic through an encrypted connection.
All traffic on Skywire is encrypted, so even if it is somehow intercepted, there is no possible way to identify or censor specific sources of traffic that might be running BTCPay Server (or a Bitcoin/Skycoin full node). This way, there is no possibility that the user can be identified, targeted or shut down.
Leveraging decentralized hardware to boost censorship-resistance
The other obvious benefit from running BTCPay Server over Skywire will be leveraging the decentralization in internet transmission of the wireless mesh network.
As the wireless mesh network gets built out, it will be possible to relay transaction information through WiFi antennas hooked up to Skyminers. Censorship of internet traffic (and cryptocurrency payments) therefore becomes almost impossible once a robust mesh network is established. This is because public WiFi or low-bandwidth long-range radio frequencies cannot be blocked without crippling a whole cities telecommunications infrastructure.
The key difference between the current Bitcoin internet transmission alternatives (Gotenna, Blockstream satellite) and the Skywire mesh network is that users are incentivized to run Skyminers. Whereas only the hardcore Bitcoin ideologues and power users will spend time and money purchasing and maintaining backyard satellite dishes, Skyminers will be owned by anyone who wishes to earn passive Skycoin income.
Skywire is the way forward for BTC
There are already almost 10 000 hardware nodes on Skywire, equating to over 1200 distinct computing units that are already participating in the network. On the launch of the main net and release of WiFi antennas, thousands more Skyminers will come online and a uncensorable-mesh net will spring up in a matter of months.
The potential of Skywire as a censorship-resistant multiplier of Bitcoin and BTCPay Server are obvious. It solves a key vulnerability of the Bitcoin network that has been unaddressed until now.
*A brief explanation of Coin hours
Skywire has been designed to integrate bandwidth micro payments — a core feature in incentivizing the hardware build out of a decentralized network. By running a Skyminer and contributing packet-forwarding computation, you are paid in Skycoin Coin hours.
Coin hour payments are calculated based on bandwidth consumed vs sold and will be processed in federated server setup before settling on-chain to the Skycoin blockchain.
Coin hours are a derived currency that are generated at rate of 1 per hour of Skycoin held. Unlike Skycoin’s fixed, deflationary supply of 100 million, Coin hours are inflationary currency designed to solve the hoarding problem of paying for goods and services in a fixed supply money.
Coin hours will eventually receive a market price. In this way, they are a form of dividend or reward for holding Skycoins. People will be buying Coin hours to pay directly for bandwidth, but more likely will purchase a store of fixed-supply skycoin in order to earn a steady passive income of coin hours with which they can spend or sell.
Skycoin, Skywire and the Skyminer — explains the Skywire and Skycoin in greater depth
Skyminer vs Bitcoin miner — the fundamental differences in these hardware devices, the Skyminer providing packet-forwarding vs Bitcoin mining hashing.
Skywire Node Counter — shows geographical location and counter of total Skywire nodes on the network.
BTCPay Server — homepage, with instructional resources
Stephan Livera Podcast — a high-quality Bitcoin podcast