Saved by the Audit

A founder’s guide to smart contact audits

Rob Hitchens
B9lab blog

--

Your team is amazing, your system is ready to go and everything is great!

Hold up!

Is it ready for production? How do you know? Is it because your developers said so?

Overconfidence is a key contributor to many disasters and management teams often exacerbate the problem by creating feedback mechanisms that reward optimism and discourage caution. Your technical team wouldn’t be unusual if they were feeling pressured to enthusiastically launch the project in the real world.

What about quality-assurance?

While your technical team may believe that the system is ready to go, ultimate responsibility falls on the management team. They alone decide when the system is ready for operation and they alone decide on the diligence to apply to that decision.

An independent software audit is a must-do action item for any serious project. Independent software audits show:

  • You are investing in due diligence.
  • People who were incentivized to find defects conducted a meticulous search for them.
  • Experts outside of your own team have accepted reputational risk for the software.
  • And, knowledge that their work product will be subjected to peer-review is, in itself, a strong motivator for developers.

Audits raise the stakes internally by inviting the possibility of professional embarrassment. However, while embarrassment can be uncomfortable, it is less uncomfortable than serious issues in a production setting — issues with much higher reputational and financial stakes and a realistic possibility that repair will be impossible. Development is a team sport and it is far better to have a spirited internal debate about the implications of a few lines of code than to experiment in the real world, come what may.

Founders are well-advised to consider the additional liability that goes with skipping an industry-standard step. What if something goes wrong after the management team decided to rely exclusively on internal risk assessments? A plaintiff would probably want to know more about that.

When airplanes fall out of the sky or funds disappear it is seldom the individual engineer who is held accountable. Processes are scrutinized in detail, and management may be asked to explain why more care wasn’t given to code review.

Have a look at a sampling of disasters that were prevented by software audits.

The author’s intent is not to pick on those projects. Indeed, the author has great respect for them. The list is to show that subtle problems can lead to catastrophic failure. These sorts of errors and oversights can and do emerge in projects by the most capable teams money can buy. Independent and thorough code review is a must-do step.

Becoming a smart contract auditor means mastering the subtleties of Solidity, the EVM, best practices, known attack vectors and game-theoretic analysis. Smart Contract Auditors are a special breed of best-in-class coders who are not only meticulous in their inspection but are also creative enough to imagine unexpected attack and accident scenarios. It is no surprise that auditors are among the highest-paid developers. They also take on the greatest responsibility - determining when the system is ready to fly.

Leading blockchain training provider, B9lab Academy is partnered with the leading Ethereum contract auditor Solidified.io to present the world’s first Smart Contract Auditor Certification. This mentored program is a gruelling deep dive for committed individuals who aspire to become the best of the best and save projects from hidden danger.

— — -

Write to info@b9lab.com to work with a B9lab certified Smart Contract Auditor. Boost your internal capabilities by sending your developers on the course. Prepare yourself for the auditor training with complimentary access to the mentored B9lab Certified Ethereum Developer Course.

--

--