Skip to content
  • David Vorick's avatar
    0bb496af
    ordered wallet output iteration · 0bb496af
    David Vorick authored
    siacoin outputs in the wallet are now iterated through in sorted order,
    starting with the largest output and going to the smallest output. This
    stifles a DoS attack where a bunch of tiny outputs are sent to a
    person's wallet, causing all of their transactions to be gigantic as the
    wallet nearly always selects a large volume of small otuputs when
    creating a transaction.
    
    This commit could be further improved upon by, instead of always
    selecting the largest output, selecting the smallest output that still
    covers the entire balance. Such a change would reduce the average
    transaction size.
    
    fixes #526
    
    most users should no longer have problems with this, though the problem
    is not completely solved.
    0bb496af
    ordered wallet output iteration
    David Vorick authored
    siacoin outputs in the wallet are now iterated through in sorted order,
    starting with the largest output and going to the smallest output. This
    stifles a DoS attack where a bunch of tiny outputs are sent to a
    person's wallet, causing all of their transactions to be gigantic as the
    wallet nearly always selects a large volume of small otuputs when
    creating a transaction.
    
    This commit could be further improved upon by, instead of always
    selecting the largest output, selecting the smallest output that still
    covers the entire balance. Such a change would reduce the average
    transaction size.
    
    fixes #526
    
    most users should no longer have problems with this, though the problem
    is not completely solved.
Loading