Coder Social home page Coder Social logo

DOS's against makers about joinmarket HOT 4 OPEN

joinmarket-org avatar joinmarket-org commented on August 26, 2024
DOS's against makers

from joinmarket.

Comments (4)

chris-belcher avatar chris-belcher commented on August 26, 2024

Actually one resource of the maker's that a DOSer could use up is position in the HD wallet. If a DOSer partially fills a maker's order it will cause the maker to get another address from it's wallet. Do this a couple of times and the next address pointer will go beyond the gap limit. Do a real coinjoin and coins will be moved beyond the gap limit.

Then when the operator of the maker queries the balance of the wallet, it will appear as if they lost coins. The worst this attack can do is scare the operator a little, they would check their logs and set their gap limit to the required number to reach their coins.

from joinmarket.

chris-belcher avatar chris-belcher commented on August 26, 2024

An obvious solution is to store the HD key pointer in the wallet file. Restoring the wallet from seed may not find these keys but there could be an added message to try increasing the gap limit (or max mix depth) if the user believes coins have gone missing.

from joinmarket.

chris-belcher avatar chris-belcher commented on August 26, 2024

wallet file now stores the index of the HD wallet b3dc7c7 closing this dos opportunity

from joinmarket.

chris-belcher avatar chris-belcher commented on August 26, 2024

Another obvious DOS method is that the taker can create transactions that take a long time, or never get mined into a block. For example by the change address having size 1 satoshi.

Makers could check for simple non-standard transactions but they'd also need a timeout for waiting for their UTXOs to confirm. Perhaps even a timeout related to how much in fees they're earning for that transaction.

from joinmarket.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.