其他分享
首页 > 其他分享> > 北京大学肖臻老师《区块链技术与应用》公开课笔记16 The Dao

北京大学肖臻老师《区块链技术与应用》公开课笔记16 The Dao

作者:互联网

这个是接着北京大学肖臻老师的课记的笔记,由于前面的笔记在:https://blog.csdn.net/Mu_Xiaoye/article/details/104299664,已经有前人写好了,并且写的不错,所以这里直接给出链接,然后这个是剩下的内容。
具体目录:

北京大学肖臻老师《区块链技术与应用》公开课笔记1 【课程介绍】

比特币(BTC)篇(已全部更新完成)

北京大学肖臻老师《区块链技术与应用》公开课笔记2 【BTC密码学原理】
北京大学肖臻老师《区块链技术与应用》公开课笔记3 【BTC数据结构】
北京大学肖臻老师《区块链技术与应用》公开课笔记4【BTC共识协议】
北京大学肖臻老师《区块链技术与应用》公开课笔记5 【BTC系统实现】
北京大学肖臻老师《区块链技术与应用》公开课笔记6 【BTC网络】
北京大学肖臻老师《区块链技术与应用》公开课笔记7【BTC挖矿难度调整】
北京大学肖臻老师《区块链技术与应用》公开课笔记8 【BTC挖矿】
北京大学肖臻老师《区块链技术与应用》公开课笔记9 【BTC脚本】
北京大学肖臻老师《区块链技术与应用》公开课笔记10【BTC分叉】
北京大学肖臻老师《区块链技术与应用》公开课笔记11 【BTC回顾问答】
北京大学肖臻老师《区块链技术与应用》公开课笔记12 【BTC匿名性】-1(匿名性分析)
北京大学肖臻老师《区块链技术与应用》公开课笔记13 【BTC匿名性】-2(零知识证明)
北京大学肖臻老师《区块链技术与应用》公开课笔记14 【BTC思考】

以太坊(ETH)篇(更新中…):

北京大学肖臻老师《区块链技术与应用》公开课笔记15 【ETH概述】
北京大学肖臻老师《区块链技术与应用》公开课笔记16【ETH账户】
北京大学肖臻老师《区块链技术与应用》公开课笔记17 【ETH数据结构】-1(状态树1)
北京大学肖臻老师《区块链技术与应用》公开课笔记18 【ETH数据结构】-2(状态树2)
北京大学肖臻老师《区块链技术与应用》公开课笔记19 【ETH数据结构】-3(交易树和收据树)
北京大学肖臻老师《区块链技术与应用》公开课笔记20 【ETH-GHOST协议】
北京大学肖臻老师《区块链技术与应用》公开课笔记21 【ETH挖矿算法1】
北京大学肖臻老师《区块链技术与应用》公开课笔记22 【ETH挖矿算法2】
北京大学肖臻老师《区块链技术与应用》公开课笔记23 【ETH挖矿难度调整】
北京大学肖臻老师《区块链技术与应用》公开课笔记24 【ETH权益证明】
北京大学肖臻老师《区块链技术与应用》公开课笔记25 【ETH智能合约1】
北京大学肖臻老师《区块链技术与应用》公开课笔记26 【ETH智能合约2】

The Dao

比特币实现了去中心化的货币,以太坊实现了去中心化的合约,那么去中心化这么好,为什么不把所有的都改成去中心化,所以有人提出一个口号:decentralized everthing,DAO(Decentralized Automous
Organization,去中心化的自治组织)就是在这个背景下产生的。
传统社会当中,组织是建立在某种法律文件基础上的,比如说可以有一个书面的章程,规范组织的行为,有时候还需要到政府进行登记注册。

1. DAO概念

在区块链上DAO这个组织就是建立在代码基础上的,组织的规章制度是写在代码里面,通过区块链上的共识协议来维护一种规章制度的正常执行。
2016年5月出现了一个致力于众筹投资的DAO,名字叫做The DAO。这个名字容易引起歧义,DAO是一个通用的概念,凡是去中心化的自治组织都能称为DAO,The DAO是指这个DAO。他的工作原理有点想一个众筹的投资资金,用来投资项目,只不过钱是通过区块链上的众筹的方法得到的,本质上是一个运行在以太坊上的智能合约,如果想参与其中,可以把以太币发给智能合约换到The DAO的代币,具体投资哪个项目是由大家投票决定,代币越多,投票权重越大。最后的收益也是按照智能合约规定的进行分配。
The DAO工作原理有点像DAC(Decentralized Automous Corporation).这两个的区别,DAC是处于盈利目的的,DAO可以是处于非盈利性目的,比如公益事业。虽然是Corporation,但是现实中不具有法人地位,也就是董事长之类的职务。
The DAO,2016年5月开始众筹,受到瞩目,因为以前没有这么民主的投资资金,在当时被称为是一种伟大的尝试,引起互联网社区里很大的兴奋,从5月开始众筹,一个月众筹到了1.5亿美元的以太币。但是3个月就不行了。

2.拆分

拆分过程:假如你是投资者,需要用钱了想把以前投资的以太币换回来,在The DAO的基金里,以拆分的方法实现,就是split DAO,这个拆分的方法并不仅仅是取回收益,还是建立子资金的方法,chlid DAO。如果有一小部分人和其他人的投资理念不一样,这种情况下,这一小部分人可以用拆分的方法成立自己的子资金,拆分的时候手中的代币是要被收回的,换成相应数量的以太币,然后就可以投想投的项目。极端情况下,单个投资者成立一个子资金,在子资金里就能把所有的钱投给自己,这是投资者取回投资和收益的唯一途经。并没有withdraw()函数,竞拍不成直接取回,这里不行,只能用拆分的方法。

拆分的时候有7天的讨论期,大家可以讨论这个拆分好不好,拆分之后有28天锁定期,拆分后,把钱打入子资金里面,但是只有28天后才能取出来。拆分的理念没有错,问题出现在splitDao实现上,他是先转账后扣除总资金,然后把账户清零,正确的操作顺序是先清零后转账,黑客就用这个漏洞进行重入攻击。

在这里插入图片描述

3. 补救

提出了两种方法:
1.回滚交易(如果出了问题就回滚,就不是去中心化的);
2.不需要采取补救措施,因为黑客没有做错,没有违反法律。

补救措施:软件升级,只回滚黑客的交易(软分叉)。但是有Bug:汽油费,非法执行用不用收取汽油费?如果不受汽油费,就会有人一直非法攻击,然后矿工就收不到交易费,后来就很多人恢复了原来的版本。
后来新的措施,把钱强行转到新的智能合约,这个新的智能合约只有一个功能:退钱,把代币退回成以太币用软件升级的方法,不用合不合法签名,这是硬分叉。现在旧链和新链并存,这会导致重放攻击,在新链上的也可以在旧链上执行,于是增加一个chainID防止它。

标签:区块,16,DAO,笔记,公开课,北京大学,肖臻
来源: https://blog.csdn.net/m0_50299484/article/details/114992367