2023 Jan 26
BOLT 11 invoices are dangerous to be used twice because if a preimage has been made known to anyone along the path already, they can just seize the HTLC without forwarding on the route.
BOLT 12 - offers (static invoices; not really invoices themselves but static data that can be used to request or send an invoice), new invoices, invoice requests
Onion messages (summary, BOLT PR)- I get why an HTLC needs to be onion routed—each hop needs to forward a payment in order to pay the final recipient—but I don’t get what onion messages are for. To use blinded paths for payment info, that makes sense, but onion messages are said to be a general purpose message?
PTLCs - point time locked contracts, instead of requiring preimage to unlock, require signature from point (on elliptic curve) - need to look into more to understand significance
Did more of the developer take home for Illini Blockchain—set up something pretty cool today. A large part of the task is to send us an encrypted message. Until now, applicants couldn’t really check if we got their messages correctly because they of course don’t have the private key to decrypt (other applicant submissions are public, so if anyone had the key it would reveal other applicants’ info!). Today I set up a server, where they can check if a submission starts with a 32-byte secret, and only then will it reveal the plaintext message received (and they’ll be instructed to start their message with a randomly generated secret). Deployed it on AWS and directed a subdomain to point to it which I thought was cool.
Watched conor okus and val wallace on bitcoin developers livestream today talk about how to start contributing to LDK. Main highlights: as a new perspective giving feedback on public documentation is super helpful, review and just asking questions is a great way to learn about the code base and often leads to improvements to the code, being a user and just trying to build using LDK and giving feedback is a great way to contribute
- Side note: super interesting LDK tries not to use
Vec
s whenever possible because of memory fragmentation.
- Side note: super interesting LDK tries not to use
Process for review (helping myself organize in my head):
Pick a PR (can be anything, but particularly helpful if it’s in the current milestone target or has newly added public documentation)
Figure out generally what it’s doing and why
Look at how it’s doing that through the code and changes
The previous 2 take time and lots of reading on your own, but that’s how you learn!
Jot down any questions, and at the end if they are unanswered, leave a review with things that you were confused by
Randomly an amazing summary of free markets/price system https://youtube.com/clip/UgkxOtJHnyEPIgjsCCG05t5BFPMPWjZapZOQ
Important concepts just swirling on my mind
Decentralized/trust-minimizing solutions will not have as good or better UX than something that makes efficient use of a trusted system. The goal is to close the gap as much as you can however. Importantly, building trust-minimizing solutions serve a different audience.
Bitcoin’s price in USD will become less volatile when there is more widespread consensus on it’s value. It sounds obvious but for a while I just thought who knows, maybe when everyone’s already transacting with it, or maybe merchants will have to list two prices or something. But a currency transitions from collectible, to store of value, to medium of exchange, then to unit of account. It’s currently becoming more of a widespread store of value (widespread being maybe 1% of the world has exposure), and a medium of exchange for some, but that is still far away (in terms of current state of things; the amount of time it takes could be long or short)
Bitcoin macroeconomics are not that hard to understand. I keep feeling like oh I should do more research into this, but the more I think of it, the more it just makes sense. Inflation is bad: raises time preference, it’s an unconsentual tax, disproportionately harms less fortunate, incentivizes debt and consumption, forces you to become a financial analyst or pay someone to do it for you (once again hurting less fortunate). When it comes to money, the nuanced influence on behavior adds up. Fixed supply is as scarce as you get; decreasing supply is impossible—what are you going to take people’s money? (besides I don’t really think a strictly decreasing supply helps with anything).
Converging on a single currency just helps that currency do it’s job better. If there are multiple currencies, it’s more difficult to understand prices and communicate value, i.e. prices are slightly distorted, and on a large scale like the whole world, that can have a great impact.
The existence of money and free markets at their core just incentivize you to earn money. It’s structures in our society (and the lack of soundness of the money itself) that lead to the pursuit of money incentivizing the wrong things. Money is not really a social construct, but a tool that emerges to help people exchange value.