Bitcoin on an Orange Pi (using Armbian) There are some good articles on how to run a Bitcoin Core full node on a Raspberry Pi. But there are other pies, some of which have better performance. That’s great news, because the Bitcoin blockchain has grown a lot recently, so any extra CPUs, RAM and storage are… Continue reading Bitcoin on an Orange Pi (using Armbian)
Category: Bitcoin
Matreon: Bitcoin Core + Lightning + Rails on AWS
Bitcoin Core + Lightning + Rails on AWS Recently I’ve been working on a project code-named Matreon. It’s like Patreon, but for the matriarchy. In a world of increasing online censorship, being able to host your own website and process your own payments really helps. Step 1: your fans pick a monthly amount to contribute Step… Continue reading Matreon: Bitcoin Core + Lightning + Rails on AWS
Bitcoin Core Wishlist
Bitcoin Core Wishlist I started to contribute code and reviews to Bitcoin Core a few months ago and gradually accumulated lists of stuff I’d like to see. Some of these I can do myself, others are still beyond my level of expertise, still others might be terrible ideas and never happen.
Decoding a BIP-70 Payment Request
Decoding a BIP-70 Payment Request I was trying to understand BIP-70 Payment Requests a bit better, mainly because I am confused by BitPay’s claim that they can somehow block “mistaken” transactions: We can also analyze transactions to make sure an adequate bitcoin miner fee is included. If the fee isn’t sufficient to allow the transaction to… Continue reading Decoding a BIP-70 Payment Request
On Fees
On Fees When sending less than €1,000 of Bitcoin it’s worth paying attention to fees, but keep mind that your payment is competing with transactions that move €100,000 on equal terms. Transactions are charged per byte, not as a percentage of the amount. But willingness to pay is obviously a percentage of the amount. It’s… Continue reading On Fees
Debugging Bitcoin Core Functional Tests
I was trying to improve the functional tests for bumpfee, a Bitcoin Core wallet feature that lets you increase the fee of a transaction that’s unconfirmed and stuck. Unfortunately I introduced a bug in the test, which I’m still in the process of tracking down. Every disadvantage has its advantage, so I took the opportunity… Continue reading Debugging Bitcoin Core Functional Tests
A Short History of Replay Protection
A Short History of Replay Protection This article is based on the slides I used for a presentation at the Hong Kong Bitcoin Developer meetup on November 1st, plus some feedback I received on the chainspl.it Slack. This was before SegWit2x was called off, but in the interest of (my) time, I haven’t adjusted this… Continue reading A Short History of Replay Protection
Opt-in hard-fork without alternate transaction history?
Opt-in hard-fork without alternate transaction history? IETF’s RFC 7282 is an eloquent document which describes important aspects on koop consensus, and worthwhile if you want a more nuanced interpretation than “widespread agreement and disagreements addressed (even if not acommodated)”. Measuring Consensus Once we have a concrete technical proposal, and it seems to have some traction,… Continue reading Opt-in hard-fork without alternate transaction history?
Replay Protection in The Blockchain Wars
Replay Protection in The Blockchain Wars First, I’ll let Jimmy Song explain transaction replay attacks: However what this short video doesn’t cover, is that there are multiple levels of replay protection. I believe a lot of anger and confusion stems from not properly understanding this. So I’ll do my best to explain.
Historical Bitcoin Core Client Performance
Historical Bitcoin Core Client Performance After reading about performance optimizations on the Bitcoin Core blog, I wanted to see a chart of that. I couldn’t find one, so I spun up a bunch of EC2 nodes and set out to measure how long it took each new version of the bitcoin core client to sync… Continue reading Historical Bitcoin Core Client Performance