北大肖甄《区块链技术与应用》

Malina ·
更新时间:2024-11-13
· 685 次阅读

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



北大 区块链技术 区块链

需要 登录 后方可回复, 如果你还没有账号请 注册新账号