Bitcoin addresses encode the information required for a wallet to spend to the correct key.
Hierarchical Deterministic wallets use a child-key derivation algorithm to safely derive new addresses from the same root.
Absolute and relative timelocks prevent transactions from being broadcast before a certain time or blockheight.
A timelock may be commited to by the transaction signature, or can be enforced by the previous output script.
SPV clients follow the longest header chain with the most proof-of-work.
They rely on specific transaction updates from full Bitcoin nodes,
and perform merkle proofs to validate confirmation of these transactions.
We demonstrate a basic payment channel between two nodes which is enabled by revocable output scripts (RSMC's).
Payment routing across multiple payment channels is made possible by hashed time-locked contracts (HTLC's).