Skip to content

Instantly share code, notes, and snippets.

View sipa's full-sized avatar

Pieter Wuille sipa

View GitHub Profile
@sipa
sipa / gist:2731997
Created May 19, 2012 19:04
seed derivation math
Given the series of (i(n),f(n)), where subsequent checks happen whether a
predicate with chance f(n) is true after i(n) iterations. A seed that
satisfies f(n), but not any f(k) with k<n is said to be of strength n. We
want the following two properties:
* (a) constructing a seed of a given strength n takes on average A*B^n
iterations.
* (b) assuming an attacker has an oracle that tells all valid seeds of a
given (known) strength n, it takes as many iterations to construct
all derived keys as there are elements in the seedspace.
@sipa
sipa / btc-beyondip.txt
Created September 23, 2011 16:19
Beyond IP transactions: towards a Bitcoin payment protocol
Beyond IP Transactions: towards a payment protocol
==================================================
IP transactions were originally introduced as a first "out-of-band" protocol
for negotiating a transaction output's public key. Being inconvenient and
insecure, they became obsolete, and recent versions of bitcoin don't support
them anymore.
The result is that static bitcoin addresses have become the most common way of
defining requested payments. This may be fine for anonymous donations, but is not