What makes a blockchain developer?


The network of weekly computer developers speaks with Lars Brunjes, director of education at IOHK, the research and development company blockchain behind the top 10 cryptocurrency Cardano.

Brunjes explains that blockchain protocols like Cardano must be efficient, correct and secure.

After all, billions of dollars are at stake, so programmers must be able to produce code with warranty levels normally used in space travel and medical applications.

"In IOHK, we use Haskell's functional programming language to implement the Cardano protocol. As Computer Weekly readers know, Haskell is very high-level and close to mathematics, which makes it easier to implement the correct code than most do. of "mainstream" languages, but the use of Haskell by itself does not guarantee error-free code Our developers should not only be experienced software developers fluent in Haskell, but also be able to understand and implement specific mathematics and work with formal verification tools to achieve the highest possible level of assurance, "Brunjes explained.

Once the blockchain protocol is implemented, Brunjes programmers can develop smart contracts on it, which will run on the blockchain.

Unexpected loopholes

"The correctness of the underlying protocol does not guarantee the correctness of these contracts, however – an intelligent contract may contain unexpected loopholes that can prove extremely expensive." High-level languages ​​for intelligent contracts such as IOHK's Plutus (strongly inspired by Haskell) facilitate 39 avoidance of such pitfalls, but still pose high demands on the ability of programmers to ensure (and ideally demonstrate) the correctness of their contracts, "said Brunjes.

In short, Brunjes explains that a blockchain programmer must be more than a competent software engineer.

They must be able to calculate and manage code correctness and familiarize themselves with formal verification techniques to ensure optimal quality and safety.

Brunjes: a blockchain programmer must be more than a competent software engineer.

[ad_2]Source link