It seems that blockchain code written in C++ is prone to obscure but serious bugs such as recently seen in Zcoin.

I know that rewriting Monero in a safer language is not practical in the short-term, and there are various tests run during the build process to check functionality which are helpful.

Given that people will be relying on Monero for cryptographic privacy as well as financial security, and formal verification is some way off; what tools for improving code reliability - such as static code analysis or undefined behavior sanitisation - are (or should be) incorporated into the development process in addition to normal development practices such as unit tests and code reviews?

  • some people are thinking about rewriting monero in c for this reason – samwellj Mar 7 '17 at 21:28
  • 1
    How is c safer than c++? – assylias Mar 7 '17 at 23:23
  • 1
    @assylias it's easier to understand since it's a smaller language. And it there would then be 2 implementations, which is good in itself. But I otherwise agree, that maybe a second implementation should be made in some other, more different language. – Prof. Falken Nov 1 '17 at 7:52
  • Seeing a C rewrite started would be one of the happiest days in my life ;) But that requires A LOT OF WORK – Michał Sałaban Jan 16 at 1:09

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.