mirror of
https://github.com/bitcoin/bips.git
synced 2025-01-19 05:45:07 +01:00
Clarify Backward compatibility
This commit is contained in:
parent
894d8ac1cb
commit
3e3006127e
@ -224,11 +224,14 @@ With a soft fork, it is possible to introduce a separate witness structure to al
|
||||
== Backward compatibility ==
|
||||
As a soft fork, older software will continue to operate without modification. Non-upgraded nodes, however, will not see nor validate the witness data and will consider all witness programs as anyone-can-spend scripts (except a few edge cases in version 0 witness programs which are provably unspendable with original script semantics). Wallets should always be wary of anyone-can-spend scripts and treat them with suspicion. Non-upgraded nodes are strongly encouraged to upgrade in order to take advantage of the new features.
|
||||
|
||||
=== Version 0 witness programs ===
|
||||
Witness programs are hashed to 256 bit "redeemscripts" which are then hashed to 160 bit P2SH. This format is fully compatible with currently existing wallets that support P2SH. Upgraded wallets will be able to send and receive to and from older wallets without any problems.
|
||||
'''What a non-upgraded wallet can do'''
|
||||
* Receiving bitcoin from non-upgraded and upgraded wallets
|
||||
* Sending bitcoin to non-upgraded wallets
|
||||
* Sending bitcoin to upgraded wallets using a P2SH address (a less efficient way to use segregated witness)
|
||||
|
||||
=== Version 1 witness programs ===
|
||||
Witness programs are hashed to a 256 bit output. This format will not be compatible with older wallets but will require less block space and will have better security due to increased collision resistance.
|
||||
'''What a non-upgraded wallet cannot do'''
|
||||
* Validating segregated witness transaction. It assumes such a transaction is always valid
|
||||
* Sending bitcoin to upgraded wallets using a native witness program (a more efficient way to use segregated witness)
|
||||
|
||||
== Deployment ==
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user