知识点总结三
- 三棵树:全节点:状态树、交易数、收据树
- 先执行再挖矿。挖矿中需要三棵树的信息。
- 汽油费只是给执行智能合约,执行交易的矿工。
- 会不会矿工不验证交易的合法性(验证没有费用)?如果不验证,就不能更新本地的三棵树,就无法进行下一步的挖矿。
- 发生错误的交易是否需要发布到区块链上?同样会发布到区块链上,因为不发布不能获得汽油费;收据树种中的status会显示这次的交易是否成功。
- 智能合约支持多线程吗?不支持多线程;
- 智能合约可以获得的调用信息:
- 地址类型
- transfer:连锁式回滚,send不会回滚
- 智能合约如果设置不好,可能永远取不回转入的币。
- 重入攻击:先清零,再转账。在调用别人合约中的函数的时候可能会被别人的合约调用。
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库
P26总结
- 去中心化是一种技术,不是针对商业模式下一定是去中心的;
- 退款不是取消交易,而是重新发起交易(商家退款(转账));
- 区块链没有监管机构,相关的法律法规;
- 加密货币应该应用在已有的货币不是很好的领域;比如:跨国交易;
- 信息与价值将融合;
- 加以货币不应该与信用卡做竞争;加密货币的效率在增加;
- 智能合约:程序化是趋势;智能合约在走向成熟,现在只是开始;公开投票不是最明智的方式。
- 炒币有风险,投资需谨慎。