You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Instantly share code, notes, and snippets.
Jason Dreyzehner
bitjson
Bitcoin Cash, software security, and markets. Working on @bitauth. Formerly @bitpay.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
A description of known problems in Satoshi Nakamoto's paper, "Bitcoin:
A Peer-to-Peer Electronic Cash System", as well as notes on terminology
changes and how Bitcoin's implementation differs from that described in
the paper.
Abstract
The longest chain not only serves as proof of the sequence of events
witnessed, but proof that it came from the largest pool of CPU power.
Improving the ability of SPV clients to detect invalid chains
SPV clients lack the ability of full nodes to detect whether or not a chain provided to them by another source complies with the rules of the Bitcoin protocol.
SPV clients can connect to multiple full nodes in the hope that at least one of the nodes is honest and will provide them with the best valid chain, however situations may arise where the non-compliant chain contains more proof of work than the compliant chain. In this situation, there is no way for the honest full node to signal to an SPV client that it should disregard the chain with more proof of work.
Fraud proofs are a technique which provide honest full nodes the capability to conclusively demonstrate that chain is invalid regardless of the amount of proof of work backing the invalid chain.
If Bitcoin nodes implement the ability to create, propagate, and verify fraud proofs, the security of SPV clients will be improved.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
There are many guides on how to install and use PGP to encrypt email.
This is not one of them. This is a guide on secure communication using
email with PGP encryption. If you are not familiar with PGP, please
read another guide first. If you are comfortable using PGP to encrypt
and decrypt emails, this guide will raise your security to the next level.
Bitcoin miners want their newly-found blocks to propagate across the network
as quickly as possible, because every millisecond of delay increases the
chances that another block, found at about the same time, wins the "block race."
JSON-RPC methods shown here may be sent via HTTPS or stratum protocol. It is easily adaptable to protocol buffers or another favored marshalling method.
Open channel
Client requests a public key. Server responds with a public key (K2). K2, converted to a bitcoin address, forms the unique identifier for this payment channel. Each public key returned must be unique.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters