salvatoshi's avatar
salvatoshi
npub157y6...60gr
#bitcoin
salvatoshi's avatar
salvatoshi 7 months ago
Security/privacy ⇒ Entropy Entropy ⇒ Information content
salvatoshi's avatar
salvatoshi 8 months ago
If you use any wallet that is not single-signature (multisig, miniscript, etc.), it is important to have a backup of the descriptor/wallet policy. But we have no standard on how to do it. How should we do it? Here's my attempt at an ideal approach: The approach I propose tries to achieve a number of desirable properties: - Encrypted: so you can outsource its storage; - Easy to implement: really, it's very simple; - Vendor-independent: it should work with any signing device; - Deterministic: the backup should be repeatable. In the post, I try to give motivation on the approach, and come with a scheme that tries to be pragmatic, and easy to adopt. Of course, variations, more features, etc. are possible, but I believe this scheme is good for the use cases of the typical user. And certainly, good enough is better than the status quo where most wallets just tell the user "you should have a backup" 🙃 What do you think?
salvatoshi's avatar
salvatoshi 8 months ago
Not sure why people think Merkle trees are hard. image
salvatoshi's avatar
salvatoshi 8 months ago
"Don't be evil", as Google taught us, is not a viable long-term strategy for businesses working with content. "Can't be evil" is the way.
salvatoshi's avatar
salvatoshi 8 months ago
Thanks to bitcoin-core developers for merging the next soft-fork! image Merkle trees can't be stopped.
salvatoshi's avatar
salvatoshi 9 months ago
Writing apps for hardware signing devices is about to get this easy ``` #![cfg_attr(target_arch = "riscv32", no_std, no_main)] extern crate alloc; use alloc::vec::Vec; sdk::bootstrap!(); fn process_message(_app: &mut sdk::App, msg: &[u8]) -> Vec<u8> { msg.to_vec() } pub fn main() { sdk::App::new(process_message).run(); } ```
salvatoshi's avatar
salvatoshi 9 months ago
Release 2.4.0 of the Ledger Bitcoin app is out. Codename: "Let the Musig play" It comes with full MuSig2 support for taproot spending policies (both in the keypath and in scripts). Note: at this time, only the python client library is updated with MuSig2 support.
salvatoshi's avatar
salvatoshi 9 months ago
Some updates on OP_CHECKCONTRACTVERIFY: - BIP draft: - bitcoin-core concept implementation: - Delving post: In the new post on delving, I delve into the amount logic of CCV, something that has somewhat evolved since the initial posts. I argue that while scriptPubKey checks are just equality checks this transaction-wide logic is preferable, and it's difficult to replicate it otherwise. However, while the amount logic is not difficult, transaction-wide checks present some implementation challenges, because of multi-threaded Script validation in core. Solving this seems to be necessary for several possible soft forks (CCV, VAULT, TXHASH, CISA), but even just to implement batch validation for Schnorr signatures, which is an optimization available today. More details in the PR. As usual, you'll find all the links at I look forward to your comment and ideas.
salvatoshi's avatar
salvatoshi 9 months ago
GM, I'm trying to compile rust-bitcoin without rust-secp256k1. How's your day?
salvatoshi's avatar
salvatoshi 9 months ago
You can't prevent governments from buying bitcoin, but you should strive to make sure governments can't prevent you.
salvatoshi's avatar
salvatoshi 11 months ago
I got various requests over time about supporting certain special Scripts in the Ledger bitcoin app. It is a delicate topic to support signing arbitrary scripts, and it's not yet clear to me if there's a way that is both generic and secure enough to add to the Ledger bitcoin app. Doing it incorrectly might weaken the security model for existing Scripts. It is not enough to have enough info in the PSBT to technically sign - the device needs to know what kind of checks needs to be performed on the transaction before signing. BIP-388 defines a very generic class of Scripts that is still uniform enough to share the same signer's behavior ("you spend from a well-defined account, and change must go back to the same account"), and that's been the focus so far. Unless a generalization is found that makes sense (and is compatible with BIP-388), custom signing behavior might be better served by separate apps, so that you can have clear signing, a UX that makes sense, and hardened checks for that use case. I'm working on a solution for that. Please reach out if you have the need for signing certain custom Scripts – it would help to know about your use cases!
salvatoshi's avatar
salvatoshi 11 months ago
Happy year 45x45! Stay laser-focused, and let's make it the best year for Bitcoin, fair and square.