A smart contract combines a legal contract with a form of computer code to automate the execution of specific terms of an agreement between parties in an objective way. Some distinguishing characteristics of EOSIO smart contracts include being written in C++ and the capability of sustaining upgrades after deployment without disrupting the blockchain network.