区块链是支持智能合约执行并确保双方公平的技术。这意味着合约参与者相信合约按照预先设定的规则运作,任何人都不能更改或从系统中删除它们。由于区块链功能,这是可能的。它具有透明和去中心化的性质,允许合约参与者跟踪每个协议步骤的执行并在合约被一方丢失的情况下恢复合约。
智能合约是基于区块链技术的一种计算机程序。它是一种自治的自执行代码,可以自动执行其中的条款和条件,不需要人工干预。智能合约被设计为在去中心化的网络中运行,可以实现可靠、安全和透明的交易。由于智能合约的执行是由区块链网络的共识机制控制的,因此智能合约也具有高度的可信度和可靠性。
目前区块链上的智能合约还处于技术早期阶段,是不成熟、不安全的和不智能的,更没有形成理论体系,还不能大规模够满足应用的需求,主要问题有:智能合约规模化产生问题:和软件发展过程一样,可以预计智能合约是需要规模化生产应用的,如何规模化生产可信智能合约是个大问题,笔者提出的智能合约工程正是未雨绸缪的理论。
function setInfo(string _fName, uint _age) public { fName = _fName; age = _age; } function getInfo() public constant returns (string, uint) { return (fName, age); } }
把合约状态的一致性过程与区块链的一致性过程区别处理,有可能会增加区块的制作时间,比如区块的构造时间就包含了区块中交易的处理时间,减慢了建块速度,该如何加快合约执行效率?当然还有很多技术实现问题,本系列文章将抛砖引玉,大家一起来讨论解决这些问题之路。