diff options
author | Luke Dashjr <luke-jr+git@utopios.org> | 2017-03-25 08:04:54 +0000 |
---|---|---|
committer | Luke Dashjr <luke-jr+git@utopios.org> | 2017-03-25 08:04:54 +0000 |
commit | b23c34ae22369d697962170740ced969f2050f61 (patch) | |
tree | 1fb788d165b472fae8129e2cafed6933da036adf /bip-0180.mediawiki | |
parent | 0606cf65769eeb91a950ada61dc446f557df9013 (diff) | |
parent | c8406d3dd6c3b4e09ff58732f6eb60ef9a222734 (diff) |
Merge branch 'bip-sizefp'
Diffstat (limited to 'bip-0180.mediawiki')
-rw-r--r-- | bip-0180.mediawiki | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/bip-0180.mediawiki b/bip-0180.mediawiki index 74afdb1..9f6bd18 100644 --- a/bip-0180.mediawiki +++ b/bip-0180.mediawiki @@ -57,8 +57,7 @@ To verify an individual size proof: ##Subtract the default size it was presumed to consume, and add the claimed total size of tx. ##Take the SHA2 midstate, and update it with the final SHA2 chunk (which needs to be padded, including with the total tx size). The final SHA2 hash is the transaction id (stripped-size proof) or hash (full-size proof). #For the full-size proof, replace the 60 byte default with any larger sizes proven from the stripped-size proof. -#Build the merkle root, and compare it to the block header (stripped-size proof) or witness commitment (full-size proof). -#Check that if there are any duplicate merkle links, there are no full tx proofs on the right side of them. +#Build the merkle root, and compare it to the block header (stripped-size proof) or witness commitment (full-size proof). Ensure when building the merkle root, that there are no duplicate merkle links, and each merkle link claims to represent the correct number of represented transactions. #Add 80 bytes, plus the size of the tx-count varint, to the calculated lower-bound size. #The calculated size is returned as the lower-bound possible size of the block. @@ -118,7 +117,7 @@ By supporting block size fraud proofs, light clients can protect their users fro Why must a full tx size proof be included? -* This is necessary to establish that the claimed block transaction count is correct. +* This is necessary to establish that the claimed block transaction count is not inflated. Otherwise, a prover could claim any number of represented transactions for merkle links, and rely on the default size alone to exceed the limit. How does the full tx size proof actually prove the size? |