mirror of
https://github.com/bitcoin/bips.git
synced 2025-03-17 21:32:50 +01:00
33 lines
1.1 KiB
Plaintext
33 lines
1.1 KiB
Plaintext
|
<pre>
|
||
|
BIP: 122
|
||
|
Title: Transaction Version 2 Specification (wildcard inputs)
|
||
|
Author: Chris Priest <cp368202@ohiou.edu>
|
||
|
Status: Draft
|
||
|
Type: Standards Track
|
||
|
Created: 2015-11-30
|
||
|
</pre>
|
||
|
|
||
|
==Abstract==
|
||
|
|
||
|
This specification defines a new type of transaction that supplements (not replaces)
|
||
|
version 1 transactions.
|
||
|
|
||
|
==Motivation==
|
||
|
|
||
|
Version 1 Bitcoin Transactions have one large inefficiency: When you want to spend
|
||
|
from multiple inputs with the exact same scriptPubKey, you have to list the same
|
||
|
signature multiple times. This bloats the transaction size and makes it expensive to spend
|
||
|
from small value inputs.
|
||
|
|
||
|
Because small value inputs are expensive to send, they remain in the UTXO pool
|
||
|
which full nodes have to keep around. It is believed that long term increase of the UTXO
|
||
|
set can have negative scaling consequences on the network.
|
||
|
|
||
|
==Specification==
|
||
|
|
||
|
A version 2 transaction is formulated the exact same way as a version 1 transaction
|
||
|
with one exception: each input is treated as a "wildcard input".
|
||
|
|
||
|
A wildcard input beings the value of all inputs with the exact same scriptPubKey
|
||
|
in a block lower or equal to the block the wildcard input is confirmed into.
|