Hi everyone,
My name is Jon Atack and I’m doing an AMA for the next hour.
I've been working on Bitcoin Core since March 2019 and my little website related to that is at https://jonatack.github.io.
Happy to answer questions if anyone has any!
FWIW I'm currently in El Salvador, if anyone has questions about that.
reply
El Salvador!? Pretty cool! Are you there temporarily or maybe planing for residence...?
Country with Bitcoin as legal tender is very tempting...
How affordable longger-term rent there, if some expat would want to stay there for longer period (such as maximum allowed without residence)?
Any clues how beef, mutton are available/expensive?
Is it hard to speak with locals in English? Maybe you know some Spanish?
Thanks!
reply
I've been in El Salvador for a month now. I don't know how long I will stay but for now am thinking to do a few months more (while the northern hemisphere is going through winter with high energy prices).
I've still used only bitcoin, or dollars in cash from two withdrawals so far at a bitcoin ATM (using bitcoin and not a fiat bank account) for roughly a 1% conversion commission.
Long-term rent is very affordable. There is a very wide price range depending on location and the comfort level you want, but you can live very inexpensively in ES.
Meat is very reasonable. Where I am, there is a local Bitcoiners BBQ group that cooks barbequed meat (mostly steak but sometimes pork ribs or rabbit too, etc.) for an informal dinner together several times a week.
Some-to-many locals speak some English but not all and it varies widely. I started learning Spanish a month ago and spend an hour a day on it.
One regret has been how many North Americans are here as tourists, and who don't like Bitcoin and what they describe as its nerd/incel culture. Many of these come larping as surfers and seeking surfers to learn from or party with. Bitcoin has a long road ahead for acceptance or even interest from these type of North Americans.
Overall, it's been a great experience and to my eyes the country is a very viable place to move to. I am not sure I'll be happy using a fiat bank account again. It will be interesting.
reply
am thinking to do a few months more
There's limit on how much you can stay, right..?
I've still used only bitcoin, or dollars in cash from two withdrawals so far at a bitcoin ATM
Should be amazing, liberating feeling. Envy!
I started learning Spanish a month ago and spend an hour a day on it.
Do you use some Youtube course, paid online course, maybe local instructor?
Thanks!
reply
From what I've heard, the fine for overstaying is so low ($25 to $50) that it's not worth bothering extending the 90-day tourist visa. But an extension can be done.
For learning Spanish, I've just been doing duolingo and of course daily use, always attempting to speak and understand in Spanish (I pick up languages somewhat quickly and speak fluent French, which is similar to Spanish), though there are also local teachers for doing one-on-one and surely some classes.
reply
has the level of bitcoin adoption in el salvador exceeded, met, or fallen short of your expectations?
reply
With the bear market, it looks like acceptance of bitcoin by merchants has dropped off (despite this arguably IMHO being the best time to accept bitcoin). In El Zonte (Bitcoin Beach), acceptance is relatively high but lower than, say, a year ago. Once you leave that village, however, acceptance of bitcoin appears to have become rare. To that extent, it is a little disappointing. Also, merchants say that their employees don't want to be paid in bitcoin because people need to spend their pay right away and don't have the ability to save and invest.
reply
I've mostly used only bitcoin here (and I plan to stay for a while). When I need dollars, however, I've used the ATMs here to convert bitcoin directly to USD cash for a 1-2% charge IIRC, which is still handy.
reply
interesting, so this sounds more like a perception problem than a technical one.
when you’ve chosen to pay with bitcoin outside of el zonte, what are the odds that the payment is successful on the first try? (i.e. the merchant knows what bitcoin is, has a lightning pos ready to go, and the payment confirms right away)
reply
I agree that education is key here. To that end, the community work being done by the Bitcoin Beach Hope House is incredible. Lessons in bitcoin, leadership, English/Spanish, computers, surf/swim/bodyboard competitions with real community festivities. I have a lot of respect for their work.
reply
It's always been easy and fast. The merchants seem to almost all use either Chivo or the Galoy Bitcoin Beach wallet as far as I've seen. I've been using Muun as a simple hot wallet. It's what I use to onboard new bitcoiners with, FWIW.
reply
I'd also like to point out how incredibly safe I've felt in El Salvador so far: in El Zonte, in San Salvador, in El Tunco, in La Libertad, and in the mountains in Chiltiupian where I stayed and have been travelling around with a motorcycle. The usual caveats of privilege or naivete apply, but I've felt far more safe than in the US or many other countries. At Bitcoin Beach in El Zonte, which granted is an unusual area, it seems reasonable to leave the door unlocked where you are staying (say, in a shared house) and there are more local-style places some people stay at that don't have a door or any walls. One even hears about a bitcoiner who basically slept for a good while, for free, outside in a hammock near a volcano :). I haven't seen any petty crime yet, while being a fair number of times in a situation where one could take advantage of me, yet I've only experienced friendliness and kindness so far. I know a few young women who have been traveling solo all around the country without issues or being hassled. Maybe this is only a honeymoon phase, but it's impressive.
From what I've heard, this safety may have been a recent result of the mass arrests of the gangs -- I write this naively, as it's hearsay from locals. Most Salvadorians I've talked to are in favor and very happy with the change, though not all, as some of the people arrested were apparently innocent (locals speak of 10% arrested being innocent, some may have only been guilty of having a tattoo or being in the wrong place or with the wrong people at the wrong time, etc.), which may not be surprising given the way the arrests may have happened. Again, it's only what I hear from local people -- I don't know firsthand.
In the city (San Salvador), one sees private security men with guns protecting the businesses, and locals say they were necessary, at least until recently. I haven't noticed security like this in, say, El Zonte.
In any case, all the places I saw so far this past month, on foot or by motorcycle, seemed safe or very safe.
reply
How do you see the best way to strengthening Bitcoin privacy?
reply
From my humble point of view, the best way is to look at, evaluate, code review and test the proposals to do so, as this is what seems to be the bottleneck that constrains progress.
I think it's worth mentioning that privacy is vital, but we nevertheless cannot trade off decentralization, censorship resistance or robustness for it.
reply
Perhaps an under-appreciated way is user education.
One, use bitcoin in a direct peer-to-peer way as much as possible, and separate that use from any that involves CEX/KYC/AML gateways.
Two, in addition to not reusing addresses and other privacy practices that are described in https://en.bitcoin.it/wiki/Privacy (highly recommended reading), my understanding is that not many node operators are running behind a VPN (from talking to people and from polling the audience at conference talks).
Three, fewer still are using alternative P2P networks like I2P with their nodes that could provide private peer connection redundancy when Tor isn't working well.
reply
I2P node here :) happy to help, I agree, it's important to run node in this networks.
reply
Obviously some of us prefer to go with the "What are you gonna do about it" Open and exposed route lmao
^For anyone reading, don't do this. It isn't an effective way to support Bitcoin or anything really.
So, my issue with I2P and Tor Bitcoin nodes, is that I understand that they all connect to each other, not within the privacy protocols, but by taking an exit node first. This centralizes where an eclipse attack needs to take place in order to be effective.
Now, I understand that BIP 324 is going to be very helpful in shielding node runners from ISP's without centralizing network traffic to exit nodes. https://bip324.com/
As such I'm very excited for BIP 324 to be merged once its ready!
reply
Thanks for running an I2P node! (Now add a CJDNS one :)
Note that I2P doesn't have the centralization issues of Tor. The I2P network is both distributed and dynamic, with no trusted parties.
A single honest peer is enough to defeat an Eclipse attack.
Using a VPN would encrypt your node p2p traffic without waiting for BIP 324.
reply
What would most people be surprised to learn about bitcoin core development?
reply
Maybe that it doesn't involve writing code so much as reading and reviewing/testing and also mentoring/education. That what is most lacking (and perhaps needs to be incentivized more/better) is experienced and constructive review.
reply
Also, the maxim "don't trust, verify" really does apply. Even the most popular, most-supported or long-established contributors can introduce bugs into Bitcoin Core. More eyes on the code -- more independent review and testing -- is needed. This is the true, key role.
reply
How do you balance what users of bitcoin would want vs what you want when deciding what to work on or what PRs to ACK? Is there a mental thought process you go through, do you talk to users, or is it some set of standards you try to make decisions by?
reply
I think it's good to both (a) talk to users and affected parties (e.g. users, node operators, wallets, miners, bitcoin startups, LN implementations, etc.) and (b) have extensive experience using the software, at least in the area you are reviewing. There is always the danger of finding oneself siloed in an ivory tower.
reply
Of course, you can still always review and test the PR in question to give feedback or report any issues or bugs found.
reply
what made you decide to work on Bitcoin Core rather than on the Bitcoin application layer?
reply
My first decade of professional software development was working in assembly language. I suppose that I like low-level fundamental work.
reply
Working on the metal. Nice!
reply
There is another reason that recalled while answering a newer question here just now:
Wladimir van der Laan's humble, intelligent, experienced, service-oriented, uplifting, tolerant, reluctant leadership style as lead maintainer of Bitcoin Core over a decade provided the original inspiration for me to consider returning to open source and working on Bitcoin Core. I think Wladimir is the gold standard and best example I have seen of open source maintainership that people can aspire to.
reply
What initially got you into development and how/why did you choose to get into bitcoin core development? If you had to do it over again, would you have the same focus for bitcoin core development or would you focus on more bitcoin related application development?
reply
Can you make your website dark mode? 😅
reply
What's the weirdest PR you've ever reviewed?
reply
Hm, if by weird we mean esoteric, some of the crypto primitives and math ones come to mind. Or the ones that drop down to assembly for optimization or improve our lock contention. I should look at more of those.
reply
An article that I'm close to finishing up, that might be of interest to node operators:
It's based on my presentation a couple weeks ago at Adopting Bitcoin in El Salvador.
reply
Article now finished.
reply
Sorry all, power and internet went down here a few minutes ago. Seems to be back up now.
reply
What do you think about the mempoolfullrbf debate?
What do you think should happen next?
reply
In retrospect, given the current state, breadth and nuance of the -mempoolfullrbf discussion, I think it's fair to say that the PR25353 adding the config option would not have been merged. It was merged relatively quickly, following which we began to hear feedback from affected users and from the most experienced currently active Bitcoin Core developers who think the most deeply about these issues and who proposed reverting or postponing that change in various ways for reasons that I consider valid. To that end, it may have been wiser to release v24 without that controversial change. In general I believe Bitcoin Core should move slowly and carefully and when in doubt choose prudence.
reply
Any comments on "On the Instability of Bitcoin Without the Block Reward" https://www.cs.princeton.edu/~arvindn/publications/mining_CCS.pdf
reply
Haven't read it, thanks! It will be interesting to see how things evolve in the coming 5-10 years. We live in...interesting times.
reply
Best and worst parts of being a core contributor?
reply
The freedom. The politics.
reply
What would be your advice to someone who wants to contribute to core?
reply
Great question. My advice is written in detail in my articles in https://jonatack.github.io/articles. I suggest starting with https://jonatack.github.io/articles/how-to-review-pull-requests-in-bitcoin-core.
reply
Can you give me some shortcuts to start collaborating and developing for bitcoin?
reply
Sure! I describe this process in detail in the articles in https://jonatack.github.io/articles and suggest starting with https://jonatack.github.io/articles/how-to-review-pull-requests-in-bitcoin-core.
reply
Thank you!!!!
reply
Who invited you to join Bitcoin and Bitcoin-core projects? How did you started yo collaborate ? Just creating a PR? Please tell me. Is motivating for other developers like me.
reply
Wladimir van der Laan invited me to join the two GitHub teams (bitcoin and bitcoin-core) in early November 2019 after almost 8 months of contributing. IIRC I was the only addition to those teams in 2019.
Wladimir van der Laan's humble, intelligent, experienced, service-oriented, uplifting, tolerant, reluctant leadership style as lead maintainer of Bitcoin Core over a decade provided the original inspiration for me to consider returning to open source and working on Bitcoin Core. I think Wladimir is the gold standard and best example I have seen of open source maintainership that people can aspire to.
reply
Very thankful
reply
100%.
Wlad also seemed very kind.
reply
Hi Jon,
Thanks for all the wonderful work, I know some Javascript and React, How can I contribute? is there a way?
Thank you.
reply
JS and React may well be in-demand skills for some startups or companies in the Bitcoin space. You’d have to check around (https://bitcoinerjobs.com, etc). Or perhaps there are open source projects that use those.
Bitcoin Core is in C++ (and in Python for the functional tests). I learned both languages in order to work on the project.
reply
How has the culture in El Salvador felt about Bitcoin?
reply
Like elsewhere, it varies a great deal, a lot of education is needed and it will take time.
reply
What are your thoughts on BIP300/301?
reply
I haven't looked at them yet. Generally, I look at a BIP in detail when reviewing a pull request to implement it in Bitcoin Core. Often, the spec ends up being updated or adjusted to the final form of the implementation, in a bottom-up fashion.
reply
It’s the most promising BIP I’ve seen. It could increase fees without out pricing normal transactions, eliminate all alt coins and allow unlimited permission less innovation with bitcoin as a anchor and currency. I would recommend taking a quick look at https://www.drivechain.info/. Tanks for the reply
reply
I think it creates really weird political issues between miners and sidechain users. I’d much rather we spend energy moving towards trustless zkrollups
reply
Lightcoin (roll up researcher) tweeted smth about using roll ups to secure drive chains. A combination of those could convince the last critic, I hope. Btw, he does not believe that stealing funds, if this is what you imply, is a likely outcome (https://lightco.in/2021/06/21/miners-can-steal/).
reply
Miners stealing funds is a separate issue.
What I’m referring to is how miners know which drivechain withdrawals to advance and (to a lesser extent) which drivechains get activated.
In order for users to withdraw funds from a drivechain (not talking about an atomic swap here, talking about the hashrate escrow mechanism), miners have to “advance” a withdrawal transaction for ~6 months. How do miners know which withdrawal transaction to advamce if theyre not validating blocks on the sidechain? Note that its VERY central to the drivechain design that miners do NOT validate these blocks. So if there are two competing withdrawals for the same sidechain? Which one gets processed? How does a miner pick which one to advance?
The answer is politics: someone TELLs the miner “pick mine”. Or rather “pick mine or else” where “or else” bottoms out at “I’ll organize a UASF to nuke all drivechains”.
So that means that whenever there is beef happening in a sidechain community, the way to resolve it is for the competing factions of that sidechain to lobby or bully bitcoin miners to advance THEIR side.
There are (according to the spec for deivechains) up to 256 sidechains (i also dont think this is the right number, but thats another issue). So imagine that there are 256 sidechain projects and anytime any of them have internal politics or a contentious rule change, it spills out into twitter mobs trying to exert pressure on mainchain miners. Is that really a dynamic that we want?
reply
Interesting, thank you.
reply
We have seen a dramatic drop in miner fees, considering that along with a decrease in block subsidy drops (lets say 10 years) ... what type of discussions that are taking place to resolve this assuming transaction fees wont secure the network?
reply
I'd recommend subscribing to the bitcoin-dev mailing list and to the Bitcoin Optech newsletters to follow the discussions.
reply
Thanks a lot for all of your work, Jon. I really appreciate it.
From your perspective, what do you think about the adoption of node running? Do you think there are enough nodes today? If not— what do you see as the hurdle for that adoption?
reply
There is the resources aspect, the technical know-how and understanding, and the education on why it is important. At least in Bitcoin Core, we can work on the first one or two.
I think an important aspect of work on Bitcoin Core itself is about minimizing resource needs to do IBD and run a node (and also improving documentation where needed) to help more people do that. Another is working to make the nodes run more robustly and help users' understanding. See this WIP article for an example: https://jonatack.github.io/articles/using-alternative-p2p-networks-with-bitcoin-core
reply
if you could hold only one asset for the next decade and it couldn’t be bitcoin, what asset would it be?
reply
I don't have an informed opinion on that. Maybe a combination of land, commodities, precious metals, and a couple of cryptos. I don't give these subjects much bandwidth at all though, nor do I trade, in order to focus on the work.
reply
Thanks for sharing
reply
You're welcome!
reply
stackers have outlawed this. turn on wild west mode in your /settings to see outlawed content.