Skip to content

Instantly share code, notes, and snippets.

View Kixunil's full-sized avatar

Martin Habovštiak Kixunil

View GitHub Profile
@Kixunil
Kixunil / efficient_reusable_taproot_addresses.md
Last active January 19, 2025 17:09
Efficient reusable Taproot addresses

Reusable taproot addresses

Abstract

This document proposes a new scheme to avoid address reuse while retaining some of the convenience of address reuse, keeping recoverability purely from Bitcoin time chain and avoiding visible fingerprint. The scheme has negligible average overhead.

Motivation

@Kixunil
Kixunil / quick_dive_rust_code.md
Last active February 4, 2023 19:00
WIP quick dive into a source code written in Rust

Quick dive into a source code written in Rust

Are you a Rust newbie who found some code written in Rust and wants to dive right into the code? You're at the right place! This quick guide is supposed to help you in exactly this situation. It's not meant to be a full Rust tutorial - there are beter sources of those!

Quick intro

Two basic things you should know before you start:

@Kixunil
Kixunil / mkchlog.md
Last active January 27, 2022 09:02
mkchlog - a simple but flexible tool for generating changelogs, proposal

Mkchlog

Abstract

This is a proposal to develop a changelog generator tool more suitable for user-facing changelogs and based on experiences of existing projects. The rationale is provided to explain why this is better then existing alternatives. The foundational axioms are:

  • Git history is not suitable as changelog because some commits are not important.
@Kixunil
Kixunil / anyonecanboost.md
Last active March 27, 2024 16:32
Anyone can boost

Anyone can boost - a more efficient alternative to anchor outputs

Abstract

Bitcoin protocols using presigned transactions (e.g. Lightning Network, Firefish etc) face a problem with predicting fees of the presigned transactions. One possibility is to guess the future fee rate but that risks that the transaction will not be included in a block fast enough and it also risks wasting satoshis on fees. Another possibility is to use CPFP which may require adding more outputs - so called "anchor outputs". The drawbacks of anchor outputs are increased transaction size and potentially decreased privacy since the anchor outputs usually use "suspiciously low" amounts. Further, anchor outputs may pollute UTXO set if the presigned transaction confirms anyway (because it also had high enough fee) but the outputs are uneconomical to spend. This document proposes a new solution that could not only solve these issues but bring even more efficiency gains in the future.