{ "subject": "Re: Transactions and Scripts: DUP HASH160 ... EQUALVERIFY CHECKSIG", "content": { "format": "html", "body": "<div class=\"post\">The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime.&nbsp; Because of that, I wanted to design it to support every possible transaction type I could think of.&nbsp; The problem was, each thing required special support code and data fields whether it was used or not, and only covered one special case at a time.&nbsp; It would have been an explosion of special cases.&nbsp; The solution was script, which generalizes the problem so transacting parties can describe their transaction as a predicate that the node network evaluates.&nbsp; The nodes only need to understand the transaction to the extent of evaluating whether the sender's conditions are met.<br/><br/>The script is actually a predicate.&nbsp; It's just an equation that evaluates to true or false.&nbsp; Predicate is a long and unfamiliar word so I called it script.<br/><br/>The receiver of a payment does a template match on the script.&nbsp; Currently, receivers only accept two templates: direct payment and bitcoin address.&nbsp; Future versions can add templates for more transaction types and nodes running that version or higher will be able to receive them.&nbsp; All versions of nodes in the network can verify and process any new transactions into blocks, even though they may not know how to read them.<br/><br/>The design supports a tremendous variety of possible transaction types that I designed years ago.&nbsp; Escrow transactions, bonded contracts, third party arbitration, multi-party signature, etc.&nbsp; If Bitcoin catches on in a big way, these are things we'll want to explore in the future, but they all had to be designed at the beginning to make sure they would be possible later.<br/><br/>I don't believe a second, compatible implementation of Bitcoin will ever be a good idea.&nbsp; So much of the design depends on all nodes getting exactly identical results in lockstep that a second implementation would be a menace to the network.&nbsp; The MIT license is compatible with all other licenses and commercial uses, so there is no need to rewrite it from a licensing standpoint.</div>" }, "source": { "name": "Bitcoin Forum", "url": "https://bitcointalk.org/index.php?topic=195.msg1611#msg1611" }, "date": "2010-06-17T18:46:08Z" }
Inscription number 18,210,038
Genesis block 799,367
File type json
File size 2.53 KB
Creation date