Skip to content

Latest commit

 

History

History
47 lines (29 loc) · 2.31 KB

signatures-on-lightning.md

File metadata and controls

47 lines (29 loc) · 2.31 KB
latest-revision original-author created status title contributors type description discussions-to category
2019-01-27T00:00:00.000Z
Ryan Shea (ryan-shea)
2019-01-01T00:00:00.000Z
Accepted
Digital Signatures
Ryan Shea (ryan-shea); Gareth James (gjradar)
article
GitHub URL
bitcoin-basics

Digital Signatures

Overview

A digital signature is a mathematical concept used to demonstrate the authenticity of a digital document. A valid digital signature gives a recipient reason to believe that the message was created by a known sender (authentication), that the sender cannot deny having sent the message (nonrepudiation) and that the message was not altered in transit (integrity).

Details

How Digital Signatures Work

A digital signature consists of two parts. The first part is an algorithm for creating a signature, using a private key (the signing key), from a message (the transaction). The second part is an algorithm that allows anyone to verify the signature, given also the message and a public key.

The digital signature algorithm used in Bitcoin is the secp256k1 Elliptic Curve Digital Signature Algorithm.

Signatures on Lightning

Digital signatures are an integral element of the multi signature holder address created in the establishment of a channel. Two verified digital signatures are required to create the channel, as well as initiate the closing transaction. Signatures are also essential to the Hashed Timelock Transfer Contract, or HTLC, a smart contract that enables payments to be routed across the Lightning Network.

Resources

Digital Signatures (Wikipedia)

Digital Signatures (Mastering Bitcoin)

See also

Signature Hash Types (SIGHASH)

References

[1] https://en.wikipedia.org/wiki/Digital_signature

[2] https://github.com/bitcoinbook/bitcoinbook/blob/f8b883dcd4e3d1b9adf40fed59b7e898fbd9241f/ch06.asciidoc