P23 ETH-DAO(Decentralized Autonomous Oraganization)
导致:硬分叉,出现ETC
review:软分叉是临时性分叉,后面会回归主链;硬分叉是永久性分叉,会形成两条链。
P24反思
智能合约:
Is smart contract really smart?------Smart contract is anything but smart. Irrevocability is a double edged sword .(不可篡改性是把双刃剑。) Nothing isirrevocable.(没有什么是不可篡改)意思是可以进行认为修改。 Is Solidity the right programming language?------ 函数具有反调用功能,功能漏洞或者使用函数式语言。 使用智能合约固定模板。 What does decentralization mean?—去中心并不是说全自动化,让机器决定一切,不加以人为干预,已经制定的规则不修改,而是说对于规则的修改要使用去中心化的方法。 分叉也许就会是去中心化的方法,明主的体现。 Decentralized not equal Distributed。-----去中心化的系统一定是分布式的系统;分布式系统不一定是去中心化的。 state machine:不是为了速度,而是为了容错。同步状态,重复同一组操作。 EVM:不适合大规模计算,是编写控制逻辑。P25美链
在Solidity中设计运算的时候,考虑溢出的情况。一定要使用safeMath库