Smart contracts are essentially small computer programs that execute predefined instructions when certain conditions within the system are met. Nick Szabo, the law scholar and software engineer that originally came up with the concept of smart contracts back in 1996, described them as a way of formalizing and securing relationships on public networks. Smart contracts are also, legally speaking, a mechanism to bind one to fulfill obligations one has committed to or can be constructed to function as synthetic assets and financial instruments, such as derivatives or options.
The most popular smart contracts language in use today is Ethereum’s Solidity, which is a mishmash of conventions from object-oriented programming to web development and even assembly and is intended to cover a broad range of possible applications and use cases. However, as time goes by and we learn from mistakes, new paradigms of smart contract languages are elucidated to better meet specific needs and criteria in different contexts.Vyper: Auditable Smart Contracts
Vyper is a language for expressing smart contracts targeting the Ethereum Virtual Machine that derives from Python 3 conventions and is the culmination of previous efforts in that direction (Pythereum, Serpent, etc.) The EVM can be programmed in any language equipped with a bytecode compiler for it and so far Solidity has been widely adopted as the mainstream standard.
Unlike Solidity however, which is intended for more complex DApps development and the Web3 (meant for people with web developer background), Vyper focuses on more trivial use cases, providing a more pragmatic, minimalist regime for reading and writing self-executing contractual agreements. Its emphasis on simplicity and readability (consequently making smart contracts easier to audit) makes it more likely to be adopted as the de facto smart contracts paradigm to be used by non-technical people.
Both Ethereum’s shard...