智能合约就是一种把我们生活中的合约数字化,当满足一定条件后,可以由程序自动执行的技术。就好比你跟我做了一个约定,我们定好奖惩措施,然后将约定通过代码的形式录入区块链中,一旦触发约定的条件,就会有程序来自动执行,这就是智能合约
智能合约是一种计算机协议,在协议制定和部署后,不需要外加人为干预,即可实现自我执行和自我验证。从技术角度来说,智能合约可以被看作一种计算机程序,这种程序可以自主地执行全部或部分和合约相关的操作,并产生相应的可以被验证的证据,来说明执行合约操作的有效性。
pragma solidity ^0.5.0; contract SolidityTest { uint storedData; constructor() public{ storedData = 10; } function getResult() public view returns(string memory){ uint a = 10; uint b = 2; uint result = a + b; return integerToString(result); }
在部署智能合约之前,与合约相关的所有条款的逻辑流程就已经被制定好了。智能合约通常具有一个用户接口,以供用户与已制定的合约进行交互,这些交互行为都严格遵守此前制定的逻辑。得益于密码学技术,这些交互行为能够被严格地验证,以确保合约能够按照此前制定的规则顺利执行,从而防止出现违约行为。
由于智能合约存储在区块链中,所有数据都以分布式方式存储,因此无人控制资金。在分散的商业模式中,智能合约取代任何其他可信赖的第三方。
这意味着合同的结果由网络中的每个人验证,就像区块链上的任何交易一样。该分发可防止攻击者强行控制资金的释放,因为所有其他参与者都会检测到此类尝试并将其标记为无效。