Starcoin guarantees its security in five layers: the base layer, consensus layer, protocol layer, extension layer and application layer. On the one hand, Starcoin uses Rust programming language to ensure memory security and operational efficiency, on the other hand, Starcoin has designed a complete data verification mechanism to ensure the verifiability of transactions, blocks, state and blockchain. Those ensures the security of the basic layer. As for the consensus layer, Starcoin Consensus has made many improvements to Satoshi Consensus, which not only inherits the security, complete decentralization and anti-tampering features of Satoshi Consensus, but also greatly enhances the security and efficiency of the consensus. Likewise, Starcoin protocol is designed on the basis of data security and consensus layer security to fully guarantee the security of the chain in untrusted networks. In addition, Starcoin guarantees the security of the extension layer by ensuring the security of smart contracts, and enhances the security of the application layer by means of asymmetric signature.
Satoshi Consensus and POW
Starcoin consensus is an enhancement of the Satoshi consensus in Bitcoin.The POW algorithm design adopted by Starcoin meets the requirements of novelty, simplicity, and security, and lowers the threshold of hardware development. In addition, in order to speed up the block out speed and transaction confirmation time, we adjust the block out time, difficulty, and block reward through the uncle-block rate and other runtime data, which can maximize the use of the network and reduce user waiting time. In addition, we have also enhanced the dynamic adjustment capability of the blockchain so that some key parameters can be configured online, which can minimize hard forks. In order to do this in a decentralized environment, we have also introduced an on-chain governance mechanism to facilitate the participation of the community, developers and miners at large.
Move Programming Language
Move is a programming language created for expressing digital assets, which first appeared in Facebook's blockchain project Libra, and features Resource as a first-class element of Move. It provides a secure and programmable foundation. the characteristics of Move fit so well with Starcoin's model that Starcoin chose Move as its smart contract programming language. Move is capable of defining custom resource types in the semantics of linear logic: resources can never be copied or implicitly discarded and can only be moved between programs. These security guarantees result from the static execution of Move's type system. As a smart contract language, the linear logic semantics are very obvious and very useful for smart contracts to do reviews of resource use and prevent engineers from accidentally causing security issues. This is also the direction in which the blockchain smart contract language is evolving.
Status Storage and Fee
In the case of Ethereum, since its contract data is stored under the contract account, the user pays only the GAS fee for the current transaction when writing data, and does not have to pay separately for the state storage. Users, however, do not have to pay for the storage. In Starcoin, since there is no contract account in Ethernet, user data is stored under their own account, which is more convenient and beneficial for state billing, and can also help solve the state explosion problem.
The governance of the blockchain encompasses decision-making and communication processes that have an invisible but long-term effect on the blockchain and especially the public chain ecology. While off-chain governance started with the previous generation of public chains, the new generation of public chains favors on-chain governance. The token governance of contractual agreements has also pushed the DEFI on Ethereum to an unprecedented peak, which is a serious issue that the next-generation public chain should consider.Starcoin embraces the on-chain governance model in its design, solidifying most of the chain's governance rules in the form of contracts, while combining on-chain governance and off-chain governance to achieve decentralized, open and efficient governance as our target.
Layered networks are one of the features that Starcoin has been designed for. Starcoin considers security and decentralization as features that must be guaranteed, but speeding up transactions and increasing throughput are also very user-friendly features. Also, global consensus, while slow and costly, is not required for all transactions, so the idea of building a layered blockchain was born. Specifically, on layer 1 of the network use POW and global consensus to ensure decentralization and security, and other technical solutions to speed up transaction execution and reduce transaction waiting time, and on the layer 2 use local consensus to maximize the speed and throughput of transactions to ensure security while supporting commercial applications. Due to the special design of Starcoin, Starcoin layer 2 can use the data of layer 1, and layer 1 can also verify the calculation results of layer 2, which is an organic combination of layer 1 and layer 2, assets can move freely between layer 1 and layer 2.