Skip to main content
Notice removed Draw attention by user49342
Bounty Ended with hroussille's answer chosen by CommunityBot
Notice added Draw attention by user49342
Bounty Started worth 50 reputation by CommunityBot
More accurate title
Link
user49342
user49342

What do the different fields in Vitalik Buterin's How does Minimal Viable Plasma transactions meanhandle more than 2 inputs for a transaction?

Source Link
user49342
user49342

What do the different fields in Vitalik Buterin's Minimal Viable Plasma transactions mean?

Vitalik Buterin proposed Minimal Viable Plasma in 2018. When describing the functionality, he mentions the format of a UTXO plasma transaction to be

[blknum1, txindex1, oindex1, sig1, # Input 1
 blknum2, txindex2, oindex2, sig2, # Input 2
 newowner1, denom1,                # Output 1
 newowner2, denom2,                # Output 2
 fee]

This structure leads to a misunderstandings for me, which I think is best illustrated by an example:

Assume Alice owns 1 ETH and wants to send 1 ETH to Bob, who owns 4 ETH. We assume the transaction does not require any fees. She received 1 ETH from Charlie in the first (0-indexed) transaction in Block 3, where her output was 2nd. Therefore, she fills the input 1 field with (3, 0, 1, [signature of the previous 3 values with Alice's key]). Alice's second input is empty, as she does not need it to complete the transaction to Bob. The Plasma transaction Alice sends is therefore:

[3, 0, 1, (Alice's signature), # Input 1
 0, 0, 0, 0, # Input 2
 [Alice's Address], 0,                # Output 1
 [Bob's address], 5,                # Output 2
 0]

However, what happens if Alice wants to send 1 ETH to Bob, but got this through 3 transactions e.g. 0.2 ETH from Sender 1, 0.3 ETH from Sender 2 and 0.5 ETH from Sender 3? The field only allows for 2 inputs, but no combination of size 2 consisting of Alice's UTXO's allows for this, how is this addressed?