another coin bites the dust

Another coin bites the dust Sergi Delgado Segura Cristina Prez-Sol, - PowerPoint PPT Presentation

Another coin bites the dust Sergi Delgado Segura Cristina Prez-Sol, Sergi Delgado-Segura , Guillermo Navarro-Arribas, Jordi Herrera-Joancomart Another coin bites the dust: An analysis of dust in UTXO based cryptocurrencies sr_gi


  1. Unprofitable outputs

  2. Unprofitable outputs To compute it, only an input spending from the analyzed output is used

  3. Unprofitable outputs To compute it, only an input spending from the analyzed output is used is_unprofitable ( ๐”ญ๐”ณ๐”ฒ ) = { 1, ๐”ญ๐”ณ๐”ฒ v < ๐”ค โ‹… ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s / ฮฑ 0, otherwise

  4. Unprofitable outputs To compute it, only an input spending from the analyzed output is used is_unprofitable ( ๐”ญ๐”ณ๐”ฒ ) = { 1, ๐”ญ๐”ณ๐”ฒ v < ๐”ค โ‹… ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s / ฮฑ 0, otherwise is the predicted size of the input that will spend output ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s ๐”ญ๐”ณ๐”ฒ

  5. Unprofitable outputs To compute it, only an input spending from the analyzed output is used is_unprofitable ( ๐”ญ๐”ณ๐”ฒ ) = { 1, ๐”ญ๐”ณ๐”ฒ v < ๐”ค โ‹… ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s / ฮฑ 0, otherwise is the predicted size of the input that will spend output ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s ๐”ญ๐”ณ๐”ฒ and is 4 for SegWit outputs, and 1 otherwise ฮฑ

  6. Unprofitable outputs To compute it, only an input spending from the analyzed output is used is_unprofitable ( ๐”ญ๐”ณ๐”ฒ ) = { 1, ๐”ญ๐”ณ๐”ฒ v < ๐”ค โ‹… ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s / ฮฑ 0, otherwise is the predicted size of the input that will spend output ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s ๐”ญ๐”ณ๐”ฒ and is 4 for SegWit outputs, and 1 otherwise ฮฑ

  7. Unprofitable outputs To compute it, only an input spending from the analyzed output is used We need a way of is_unprofitable ( ๐”ญ๐”ณ๐”ฒ ) = { 1, ๐”ญ๐”ณ๐”ฒ v < ๐”ค โ‹… ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s / ฮฑ computing the input size 0, otherwise is the predicted size of the input that will spend output ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s ๐”ญ๐”ณ๐”ฒ and is 4 for SegWit outputs, and 1 otherwise ฮฑ

  8. Computing the inputs size

  9. Computing the inputs size ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s = fixed _ size + variable _ size

  10. Computing the inputs size ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s = fixed _ size + variable _ size version #inputs #outputs nLockTime 4-byte var size var size 4-byte prev_tx_id prev_out_index scriptSig length scriptSig nSequence var size 32-byte 4-byte var size 4-byte inputs value scriptPubKey length scriptPubKey 8-byte var size var size outputs

  11. Computing the inputs size ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s = fixed _ size + variable _ size fixed _ size = outpoint + nSequence = 40 bytes version #inputs #outputs nLockTime 4-byte var size var size 4-byte prev_tx_id prev_out_index scriptSig length scriptSig nSequence var size 32-byte 4-byte var size 4-byte inputs value scriptPubKey length scriptPubKey 8-byte var size var size outputs

  12. Computing the inputs size ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s = fixed _ size + variable _ size fixed _ size = outpoint + nSequence = 40 bytes version #inputs #outputs nLockTime 4-byte var size var size 4-byte prev_tx_id prev_out_index scriptSig length scriptSig nSequence var size 32-byte 4-byte var size 4-byte inputs value scriptPubKey length scriptPubKey 8-byte var size var size outputs

  13. Computing the inputs size ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s = fixed _ size + variable _ size fixed _ size = outpoint + nSequence = 40 bytes variable _ size = scriptSig _ len + scriptSig version #inputs #outputs nLockTime 4-byte var size var size 4-byte prev_tx_id prev_out_index scriptSig length scriptSig nSequence var size 32-byte 4-byte var size 4-byte inputs value scriptPubKey length scriptPubKey 8-byte var size var size outputs

  14. Computing the inputs size ๐”ฎ๐”ฐ๐”ฃ๐”ข _ ๐”ง๐”ฌ s = fixed _ size + variable _ size fixed _ size = outpoint + nSequence = 40 bytes variable _ size = scriptSig _ len + scriptSig version #inputs #outputs nLockTime 4-byte var size var size 4-byte prev_tx_id prev_out_index scriptSig length scriptSig nSequence var size 32-byte 4-byte var size 4-byte Depends on the UTXO type inputs value scriptPubKey length scriptPubKey 8-byte var size var size outputs

  15. Variable size (non-SegWit)

  16. Variable size (non-SegWit) - Pay-to-PubKey (P2PK) outputs:

  17. Variable size (non-SegWit) - Pay-to-PubKey (P2PK) outputs: - PUSH sig (1 byte) + sig (71-73 bytes)

  18. Variable size (non-SegWit) - Pay-to-PubKey (P2PK) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) - Pay-to-PubKeyHash (P2PKH) outputs:

  19. Variable size (non-SegWit) - Pay-to-PubKey (P2PK) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) - Pay-to-PubKeyHash (P2PKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33-65 bytes)

  20. Variable size (non-SegWit) - Pay-to-PubKey (P2PK) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) - Pay-to-PubKeyHash (P2PKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33-65 bytes) - Pay-to-multisig (P2MS) outputs:

  21. Variable size (non-SegWit) - Pay-to-PubKey (P2PK) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) - Pay-to-PubKeyHash (P2PKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33-65 bytes) - Pay-to-multisig (P2MS) outputs: - OP_0 (1 byte) + [PUSH sig (1 byte) + sig (71-73 bytes)] * req_sigs (1-20)

  22. Variable size (non-SegWit) - Pay-to-PubKey (P2PK) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) - Pay-to-PubKeyHash (P2PKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33-65 bytes) - Pay-to-multisig (P2MS) outputs: - OP_0 (1 byte) + [PUSH sig (1 byte) + sig (71-73 bytes)] * req_sigs (1-20) - Pay-to-ScriptHash (P2SH) outputs:

  23. Variable size (non-SegWit) - Pay-to-PubKey (P2PK) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) - Pay-to-PubKeyHash (P2PKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33-65 bytes) - Pay-to-multisig (P2MS) outputs: - OP_0 (1 byte) + [PUSH sig (1 byte) + sig (71-73 bytes)] * req_sigs (1-20) - Pay-to-ScriptHash (P2SH) outputs: - โˆ…

  24. Variable size (SegWit)

  25. Variable size (SegWit) - Pay-to-Witness-Public-Key-Hash (P2WPKH) outputs:

  26. Variable size (SegWit) - Pay-to-Witness-Public-Key-Hash (P2WPKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33 bytes)

  27. Variable size (SegWit) - Pay-to-Witness-Public-Key-Hash (P2WPKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33 bytes) - Pay-to-Witnes-ScriptHash (P2WSH) outputs:

  28. Variable size (SegWit) - Pay-to-Witness-Public-Key-Hash (P2WPKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33 bytes) - Pay-to-Witnes-ScriptHash (P2WSH) outputs: โˆ… -

  29. Variable size (SegWit) - Pay-to-Witness-Public-Key-Hash (P2WPKH) outputs: - PUSH sig (1 byte) + sig (71-73 bytes) + PUSH pk (1 byte) + pk (33 bytes) - Pay-to-Witnes-ScriptHash (P2WSH) outputs: โˆ… - Witness scripts discounted = 1/4 ฮฑ

  30. Two metrics for non-profitable

  31. Two metrics for non-profitable Lower bound (unprofitable_low): Takes into account the minimum size of the input -

Recommend


More recommend