What is Blockchain?
A blockchain is a specific type of database that is not maintained by any one particular entity, where you cannot change the previously stored data and all new data is updated one block of entries or transactions at a time under public view and consensus. In a public blockchain, anybody can choose to maintain the database correctly as it grows, and are often rewarded to do so by the internal mechanisms of the established blockchain protocol. This reward is usually in the form of the digital currency whose balance is maintained in the blockchain database.
The first digital currency that used blockchain technology to maintain a correct database of ownership is bitcoin.
What is a Smart Contract?
After the advent of the digital currency bitcoin, the next step was to have a programmable asset which could be transferred based on predetermined conditions, rather than human intervention.
The set of those predetermined conditions and the way to interact with those set of conditions come together in the form of smart contract.
More succinctly, in the words of Nick Szabo - who coined the term smart contract - a smart contract is a set of promises, specified in digital form, including protocols within which the parties perform on these promises.
Smart contracts can help mitigate the counterparty risk i.e. helps us transact with each other without needing to rely on mutual trust or any arbitration parties such as courts if that trust is perceived to be breached.
What is Scilla?
Scilla is a language for writing smart contracts that are safe by design.
Since smart contracts have to deal with digital assets, they are often targeted by hackers for any flaws in the programming which might allow the hackers to exploit them.
Scilla is designed similar to functional programming languages like OCaml. This makes it more friendly towards static checks and formal verification which can help programmers make their smart contracts more secure.
So, are you ready to learn how to code a smart contract in Scilla?
We will be there with you helping you through a friendly interactive tutorial and a link to our chat where you can always discuss your doubts.
Additionally, building with Scilla language can also help you be eligible for a grant from Scilla.
Learn more about it here.
Take the first step to become a programmer on blockchain.