Bitcoin Forum
September 24, 2018, 04:53:20 PM *
News: ♦♦ New info! Bitcoin Core users absolutely must upgrade to previously-announced 0.16.3 [Torrent]. All Bitcoin users should temporarily trust confirmations slightly less. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Thoughts on transaction pool and orphan pool and DOS attack  (Read 298 times)
Dr.Z
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
December 05, 2017, 02:34:29 AM
 #1

When a node receives a transaction, it first verifies the signature is valid or not. If the transactions pass the validation with a correct signature, they are added to the transaction pool. If a transaction’s inputs refer to a transaction that is not yet known, the orphan transaction will be stored temporarily in the orphan pool.

DOS attack: Just simply fake some transactions with randomly generated key pairs, they will pass the validation and fill up the orphan pool(since the nodes cant find the input address).

Am I wrong with the transaction validation mechanism on the node or do I miss other technical details? Because this sounds trivial and no one thought about this?
1537808000
Hero Member
*
Offline Offline

Posts: 1537808000

View Profile Personal Message (Offline)

Ignore
1537808000
Reply with quote  #2

1537808000
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1537808000
Hero Member
*
Offline Offline

Posts: 1537808000

View Profile Personal Message (Offline)

Ignore
1537808000
Reply with quote  #2

1537808000
Report to moderator
1537808000
Hero Member
*
Offline Offline

Posts: 1537808000

View Profile Personal Message (Offline)

Ignore
1537808000
Reply with quote  #2

1537808000
Report to moderator
1537808000
Hero Member
*
Offline Offline

Posts: 1537808000

View Profile Personal Message (Offline)

Ignore
1537808000
Reply with quote  #2

1537808000
Report to moderator
Dr.Z
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
December 06, 2017, 01:56:06 AM
 #2

Wrong place?
unholycactus
Legendary
*
Offline Offline

Activity: 1078
Merit: 1021


https://reg-charity.org/


View Profile WWW
December 06, 2017, 02:07:08 AM
 #3

The generated keys won't control any funds. This makes you unable to produce a valid transaction.

ranochigo
Legendary
*
Online Online

Activity: 1554
Merit: 1094


View Profile WWW
December 06, 2017, 11:53:27 AM
 #4

DOS attack: Just simply fake some transactions with randomly generated key pairs, they will pass the validation and fill up the orphan pool(since the nodes cant find the input address).

Am I wrong with the transaction validation mechanism on the node or do I miss other technical details? Because this sounds trivial and no one thought about this?
Nearly there. The orphan pools serves primarily those without a parent transaction that can be found in their UTXO. For those transactions, they are stored in a orphan pool with a max transaction size of only 100, if I'm not wrong.
You can't do much with it. Even if you want to spam up to their limits, its fruitless and it won't be relayed to other nodes.

Oooh wait, I found it: https://github.com/bitcoin/bitcoin/blob/3c098a8aa0780009c11b66b1a5d488a928629ebf/src/net_processing.h#L13.

Dr.Z
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
December 07, 2017, 01:00:34 AM
 #5

Nearly there. The orphan pools serves primarily those without a parent transaction that can be found in their UTXO. For those transactions, they are stored in a orphan pool with a max transaction size of only 100, if I'm not wrong.
You can't do much with it. Even if you want to spam up to their limits, its fruitless and it won't be relayed to other nodes.

Oooh wait, I found it: https://github.com/bitcoin/bitcoin/blob/3c098a8aa0780009c11b66b1a5d488a928629ebf/src/net_processing.h#L13.

Thank you. What happens when it reaches the limit. Drop existing transactions or refuse new coming transactions.
I think although the spams won't affect other transactions, it will somehow interrupt the service of orphan pool.
ranochigo
Legendary
*
Online Online

Activity: 1554
Merit: 1094


View Profile WWW
December 07, 2017, 02:47:34 AM
 #6

Thank you. What happens when it reaches the limit. Drop existing transactions or refuse new coming transactions.
I think although the spams won't affect other transactions, it will somehow interrupt the service of orphan pool.
For each additional orphan transaction newly received, the client will select one random transaction to kick out, IIRC.

Frankly speaking, the orphan pool isn't of too much importance and if anyone were to spam it, the service wouldn't be really affected either. The main transaction pool should be the mempool.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!