A new intermediate programming language will segregate communication and computational functions within smart contracts to give developers an intuitive edge.
A team of researchers have published a paper proposing a new programming language called Scilla that aims to solve security and development problems in smart contracts, the underlying framework behind blockchain technology. Scilla will allow developers to build smart contract applications on any blockchain, such as Ethereum or Bitcoin, but it was built specifically to be used withZilliqa, a new high speed public blockchain platform that uses the technology of ‘sharding’ to achieve transaction rates on par with VISA and Mastercard.
Smart contracts are powerful bits of code that can be interlaced into transactions on blockchain platforms like the Ethereum network and others. Companies that properly deploy the utility of smart contracts stand to ride the cutting edge of disruption that blockchain technology promises to deliver to industries at large in the coming years.
There are several languages that can be used to design smart contracts. The most popular of those languages is arguably Solidity, and generally speaking, it’s a more complicated language. Scilla is designed to be an “intermediate” level programming language for smart contracts, whose underlying computational model is based on communicating automata. Higher level languages such as Solidity can be compiled into Scilla. In addition, Scilla offers various layers of separation for the communication and operational aspects of smart contracts.
Scilla’s authors assert that by compartmentalizing various components of smart contract languages they will be able to give developers better design tools that will thwart attackers who have classically breached security measures on systems by exploiting unforeseen bugs in code. Instances like the DAO hack and Parity breach are reminders of such unfortunate consequences. In light of these exploits, Scilla is meant to act as a stepping stone towards building more secure automated systems enabled by smart contracts.
In the Scilla white paper, researchers provide an example wherein the language supports the operation of a crowdfunding campaign similar to those seen on Kickstarter. Scilla’s smart contract language can manage parameters like soft caps e.g. if funding is not achieved in a certain time period, investors are refunded. Scilla’s code provides proofs of contract security and that it operates under desirable conditions, as well as handling unforeseen issues with relative autonomy.
Authors of the language hope that Scilla will provide developers access to an intermediate programming language tool designed to allow for distinctive autonomous operation of communication aspects of smart contracts and their operational programming components. Looking ahead, development will begin towards formalizing the syntax and the semantics of the language.
Next Generation Smart Contract Applications
Scilla will allow developers to build better smart contract applications on any blockchain network, like Bitcoin or Ethereum, but it was designed specifically to optimize applications built on Zilliqa, a new blockchain platform based on the technology of sharding. Originally developed by researchers from the National University of Singapore, Zilliqa can potentially solve the issue of scalability in blockchains using sharding, where
Sharding is a concept that the Zilliqa team proposed in a paper back in 2015, but hasn’t yet been deployed as an open and permission-less blockchain at scale until now. The idea is to automatically split up a large network of machines processing transactions into parallel sub-committees or “shards”. Each shard processes its own microblock in parallel with other shards, and resulting micro-blocks are merged into one final one. Although the high-level idea of sharding appears not difficult to understand, ensuring a secure and unbiased process of sharding is highly challenging. Zilliqa develops a mechanism to dynamically elect and update a special committee of machines to ensure such properties.
Using this approach with a network size of 10,000 nodes (less than half of Ethereum), Zilliqa would enable a throughput which matches that of VISA, the largest payment processing network in the world. The company recently announced that an internal testnet of AWS servers has reached a peak throughput of 2,488 transactions per second (TX/s).
With Scilla, developers will be able to easily build more secure smart contract applications and combined with Zilliqa, the two could potentially usher in a new era of fast and safe blockchain applications.