diff --git a/_includes/guide_contracts.md b/_includes/guide_contracts.md index 7c72d9e0..b0279c8c 100644 --- a/_includes/guide_contracts.md +++ b/_includes/guide_contracts.md @@ -2,19 +2,12 @@ {% autocrossref %} -By making the system hard to understand, the complexity of transactions -has so far worked against you. That changes with contracts. Contracts are +Contracts are transactions which use the decentralized Bitcoin system to enforce financial agreements. - Bitcoin contracts can often be crafted to minimize dependency on outside agents, such as the court system, which significantly decreases the risk -of dealing with unknown entities in financial transactions. For example, -Alice and Bob might only know each other casually over the Internet; -they would never open a checking account together---one of them could -pass bad checks, leaving the other on the hook. But with Bitcoin -contracts, they can nearly eliminate the risk from their relationship -and start a business even though they hardly know each other. +of dealing with unknown entities in financial transactions. The following subsections will describe a variety of Bitcoin contracts already in use. Because contracts deal with real people, not just @@ -85,11 +78,11 @@ so she creates and signs a transaction with two outputs, one that spends 60% of the satoshis to Bob's public key and one that spends the remaining 40% to Charlie's public key. -In the input section of the script, Alice puts her signature, a 0x00 -placeholder byte, and a copy of the unhashed serialized redeemScript +In the input section of the script, Alice puts her signature +and a copy of the unhashed serialized redeemScript that Bob created. She gives a copy of the incomplete transaction to -both Bob and Charlie. Either one of them can complete it by replacing -the placeholder byte with his signature, creating the following input +both Bob and Charlie. Either one of them can complete it by adding +his signature to create the following input script: {% endautocrossref %} diff --git a/_includes/guide_mining.md b/_includes/guide_mining.md index bea9b4bc..5049a11d 100644 --- a/_includes/guide_mining.md +++ b/_includes/guide_mining.md @@ -187,8 +187,8 @@ Merkle root field. Unlike `getblocktemplate`, miners using Stratum cannot inspect or add transactions to the block they're currently mining. Also unlike -`getblocktemplate`, the Stratum protocol uses a two-way TCP socket which -stays open, so miners don't need to use longpoll to ensure they receive +`getblocktemplate`, the Stratum protocol uses a two-way TCP socket directly, +so miners don't need to use HTTP longpoll to ensure they receive immediate updates from mining pools when a new block is broadcast to the peer-to-peer network. diff --git a/_includes/guide_transactions.md b/_includes/guide_transactions.md index 9f4e4041..0c205890 100644 --- a/_includes/guide_transactions.md +++ b/_includes/guide_transactions.md @@ -340,10 +340,10 @@ scriptSig: OP_0 **Pubkey** -[Pubkey][]{:#term-pubkey}{:.term} scripts are a simplified form of the P2PH script; they’re used in all -coinbase transactions, but they aren’t as convenient -or secure as P2PH, so they generally -aren’t used elsewhere. +[Pubkey][]{:#term-pubkey}{:.term} scripts are a simplified form of the P2PH script, +but they aren’t as +secure as P2PH, so they generally +aren’t used in new transactions anymore. {% endautocrossref %} @@ -503,7 +503,7 @@ transaction should be made a few hours before the time lock expires. Previous versions of Bitcoin Core provided a feature which prevented transaction signers from using the method described above to cancel a time-locked transaction, but a necessary part of this feature was -disabled to prevent DOS attacks. A legacy of this system are four-byte +disabled to prevent denial of service attacks. A legacy of this system are four-byte [sequence numbers][sequence number]{:#term-sequence-number}{:.term} in every input. Sequence numbers were meant to allow multiple signers to agree to update a transaction; when they finished updating the transaction, they could agree to set every input's @@ -615,7 +615,7 @@ fixed URI to which payments should be sent, please see the {% autocrossref %} None of Bitcoin's signature hash types protect the scriptSig, leaving -the door open for a limited DOS attack called [transaction +the door open for a limited denial of service attack called [transaction malleability][]{:.term}{:#term-transaction-malleability}. The scriptSig contains the signature, which can't sign itself, allowing attackers to make non-functional modifications to a transaction without rendering it