1
$\begingroup$

I searched "ECDSA threshold signing" recently and found a lot of papers where it is said that their authors solved the problem of ECDSA threshold signing efficiently: e.g. here and here. Why there are no practical implementations of those (e.g. in cryptocurrencies)?

$\endgroup$
3
$\begingroup$

I just saw this question now. There is no reference implementation of the 2-party threshold ECDSA protocol since this was joint work with Unbound Tech (previously Dyadic Security), and they did the implementation. In general, I am a strong proponent of open source, and all pure academic work that I do is published with open source code (see https://github.com/cryptobiu). However, in some cases, research is carried out in collaboration with industry, and where they do the implementation it is limited by them. I believe that this is a reasonable balance.

Note that Unbound Tech does have a commercial offering using this for protecting cryptocurrencies (but at the level of enterprises, and not individual wallets).

$\endgroup$
  • $\begingroup$ Thanks for your answer! We would like to try to implement your paper in our product. Can we do that or this algorithm is patented? Also I'd like to ask whether there is enough information inside the paper for the knowledgeable person to gain the same results? $\endgroup$ – Kirill Vasin May 8 '18 at 21:39
  • $\begingroup$ Unfortunately, since it was done in collaboration with industry, the algorithm is patented. I suggest you contact me via email directly. (Just a word about patents: I don't like them and don't like doing them. However, when I collaborate with industry, and they are actually going to use the solution, then I have to go along with it.) $\endgroup$ – Yehuda Lindell May 9 '18 at 6:01
1
$\begingroup$

I am not a cryptocurrency wallet implementor, so I can only guess as to why they did not use these protocols for their implementations. As for why there are no reference implementations I can also guess.

First, let's start with the "easy" part: Why are there no reference implementations? Note, these are only guesses, I don't actually know.

  • The authors may have implemented their protocols, but didn't want to publish the code because of the low quality.
  • The authors may have implemented their protocols, but didn't want to publish because they thought, this would mean a lot of work to maintain the code.
  • The authors may have guided implementations of their protocols and got measurements, but the code was actually written by a company which wants to sell the code / otherwise profit from it, making it a business decision outside the reach of the researchers to not publish the code. I suspect this is what happened to Lindell's paper's protocol (I can't comment on the other paper, because I haven't read it).
  • The authors may have not implemented their protocols, because "what matters" to some academics is only the number / quality of the published papers and not whether the described things can actually be deployed.

Now let's head over to potential reasons why these protocols haven't been picked up by wallet implementors.

  • The implementors may simply not have been aware of such (efficient) protocols.
  • The implementors may have considered these protocols "too inefficient".
  • The implementors may have considered these protocols "too complex", maybe also in relation to the "little" benefit these provide over the self-invented solutions of the inventors.
  • The implementors may have not bothered to search for such schemes and may have successfully found their own solutions / work-around to the problem.
  • The cryptocurrency itself has support for this built-in in some acceptable sense. I think Bitcoin has this and I know you can do this with Ethereum using their smart contracts.
  • The implementors may have been scared away by the lack of useful engineering things, like readable protocol descriptions, like test vectors or like reference implementations to test against.
$\endgroup$
  • $\begingroup$ Comments are not for extended discussion; this conversation has been moved to chat. $\endgroup$ – e-sushi Mar 18 '18 at 15:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.