Jump to content
iLeeT

Someone paid over 50k XRP for a transaction fee

Recommended Posts

Surely any bot written should have a max fee value set at something reasonable...  say 100k drops.  But then again it's easy to Monday morning quarterback on someone else's game.

Presumably everyone looking learns from this unfortunate persons mistake, so at least some good comes of it....

Share this post


Link to post
Share on other sites
Posted (edited)
2 hours ago, Psychodance said:

https://bithomp.com/explorer/rHQ6kEtVUPk6mK9XKnjRoudenoHzJ8ZL9p

When you scroll down to the transactions with the high fees, it looks like the amount of XRP fees always doubled for the next transaction...

 

Good find! I wonder how the guy handles this in terms of taxes: "Yeah. I lost tens of thousands of dollars, because I made a mistake in the code of my bot. You can check the transactions on the XRP ledger dear taxman." ;)

Edited by DavyJones

Share this post


Link to post
Share on other sites

So in theory, if a few really big fat-fingered-fee transactions occur, XRP’s circulating supply can drop to such a point that it can no longer fulfill its function? Seems like a patch is needed imminently.

Share this post


Link to post
Share on other sites
41 minutes ago, JA8 said:

So in theory, if a few really big fat-fingered-fee transactions occur, XRP’s circulating supply can drop to such a point that it can no longer fulfill its function? Seems like a patch is needed imminently.

I don't see any problem even in the worst scenario. Let's say Ripple burns 60 billion XRP in fees. 40 billions are left. So what? If a certain value is needed then the rest of XRP will gain value. If more precision is needed we could switch from 1M drops to 100M drops per XRP.

Share this post


Link to post
Share on other sites
6 hours ago, Amigo said:

Does it relate this this spike on Kraken (Europe time) or was this another dude messing up

 

7E99F030-72E8-4EC2-BF3C-AD1B303DB0BB.jpeg

Your red sign seems funny bro, lol

Share this post


Link to post
Share on other sites

Javascript strikes again? 😐

Looks like there were around 16 transactions with anomalous fees executed by a script of some kind.  When you order this set of transactions by the amount of fee paid, you notice that each transaction paid exactly double the previous fee.  So it looks like someone had particular set of bugs that created this case. It wouldn't be hard to do, if they had bad programming practices encouraged by a language that does things like initialise variables for you and resolve ambiguities for you it could even happen quite simply. Something like a function containing "fee += fee" (an accidental "+" sign typo, which would even just literally be a typo because often + and = are on the same key on the keyboard).  This would have added every fee together, when maybe they intended to write "fee = fee" or something similar, intending to pass "fee" to the function, and have it initialise a new "fee" value.  It would be bad programming practice to name a passed in variable the same as a newly-initialised one, but some languages/cases permit it.  Ordinarily a programmer might do something like "let _fee = 0; _fee = fee;", which would prevent any accidentally added "+" sign from spiralling out of control.

Programming requires great attention to detail, and "good" programming languages enforce this, not letting you get away with anything.  Javascript, and a few others, let you do all kinds of things without necessarily realising it, which is why they are a bad choice for writing software that moves money around.  It's bad because such lack of strictness makes a language *seem* easier to learn, when in fact this "false-ease" it's actually preventing you from learning a bunch of incredibly important things.  A beginner can be readily fooled into thinking what they're doing is correct, when in fact what they're doing can leave them open to all kinds of (mega-costly) errors down the line.

There's no reason a competent programmer can't use Javascript/node to write robust code, if they are patient, methodological and adhere to good programming practices.  But it is much harder to do, and the reliance on modules authored by others makes this much more difficult to maintain.  For example, I recall finding a bug in an old version of ripple-lib's transaction signing code (which is written in javascript) that would turn a supplied amount that has high precision floating point amount like 0.0182665927465921, into billions without letting you know. The only reason I found the bug was because a transaction I signed and submitted came back with an "insufficient funds" error.  Ie, had my account enough BTC at the time in it (luckily in this case, more than even exist...), the transaction would have attempted to use all of it.  In which case, whose fault would it have been?  Ripple's for the bad ripple-lib code?  Javascript for making such silly things possible?  Or mine for trusting ripple-lib to sign my transaction without silently modifying the amounts I supplied?

In the case of the fee-doubling transaction, at least whomever did that seemed to be watching it after it ran.  It's evident they halted the script after about 10-15 seconds as the errant fee-doubling transactions only happen across 3-4 ledgers.

Share this post


Link to post
Share on other sites

×