Introduction
介绍
In the case a single token holder, or a group of token holders, does not a agree with decisions by the curator and following proposals to a certain address, he can split off the original DAO to a new DAO. This mechanism is primarily to avoid the "Majority robbing the minority attack" described in section 4 in the white paper.
如果某个代币持有者,或者一批代币持有者,不同意提议负责人的决定和相应地址的提议,他可以从原有的DAO中分隔出新的DAO。这个机制主要是为了避免“大多数人抢劫少数人攻击”,在白皮书的第四节里有描述。
This process will destroy all his tokens and move his portion of the Ether (note: the extraBalance
is not part of that) owned by the original DAO and his portion of the rewardTokens
(used to retrieve his portion of the future rewards) to the new DAO.
这个过程会销毁他所有的代币,将他在原DAO所占份额的Ether(注:extraBalance
账户不计入),以及他所占份额的奖励代币rewardTokens
(用来获取他所占份额的未来收益)到新的DAO。
After completion, this can not be undone! Everyone participating in a split should know exactly what he is doing in order to avoid any losses.
完成操作之后,将不能再撤销!任何参与分隔的人,应该知道他到底在做什么,以避免不必要的损失。
Process
过程
In order to initiate a split, a token holder needs to create a proposal with the newCurator
flag as true
and the recipient
specifying the new curator of the new DAO (see https://github.com/slockit/DAO/wiki/How-to-create-a-proposal).
Every token holder who wants to join this new DAO, needs to vote in favour of the proposal (https://github.com/slockit/DAO/wiki/How-to-vote-and-execute-a-proposal).
After the debating period, which is at least 1 week, the token holder can then call the function splitDAO
.
This function has 2 parameters:
为了开始一个分割,一个代币持有者需要创建一个提议,且newCurator
标志为true
,recipient
指定为新的DAO的负责人(见https://github.com/slockit/DAO/wiki/How-to-create-a-proposal )。每一个想要参与新DAO的代币持有者,需要投票赞成这个提议( https://github.com/slockit/DAO/wiki/How-to-vote-and-execute-a-proposal )。在经过至少一周的讨论期后,代币持有者可以调用函数splitDAO
。
这个函数有两个参数:
-
proposalID
新提议的ID -
newCurator
新提议负责人的帐户地址(或者多重签名钱包)
In the function it is checked that the voting deadline is over, the new curator is different from the old one, the transaction sender has voted in favour of the proposal and that the sender of the transaction has not voted on another proposal with a deadline after the proposal to split the DAO.
这个函数,它会检查:投票截止日期已过,新DAO负责人和原DAO不同,交易发送者投票赞成提议,以及交易发送者没有投票到其他提议(这个提议的截止日期在分隔DAO提议之后)。
The first token holder calling that function for this proposal will automatically create the new DAO. In this process the current balance of the original DAO, as well the current balance of reward tokens (see white paper section 7) of the DAO and the total supply of DAO tokens are stored in the splitData
section of the proposal and used to fairly split the DAO.
After this process, the portion of the ether and the portion of the reward token belonging to the sender of the transaction are moved to the new DAO. Finally, his DAO tokens are destroyed.
第一个调用这个函数的代币持有者会自动创建新的DAO。这个过程中,原DAO中的帐户余额,DAO奖励代币的余额(见白皮书第七节)以及存储在splitData
里的DAO代币的总供应量,都会平均的分配到DAO。
这个过程后,交易发送者所拥有份额的ether和奖励代币,都会转移到新的DAO中。最终,他的DAO代币会被销毁。
In order to find the address of the new DAO, one can use the getNewDAOAdress
function, which takes the proposalID
as input parameter and returns the new address.
为了找到新的DAO地址,可以调用getNewDAOAdress
函数,需要传递proposalID
为输入参数,返回新地址。
The new DAO which has been created will now go through the same 27 day creation period as the original DAO. This is the time for every token holder who has voted on the proposal to join the new DAO by calling splitDAO
.
新的被创建出来的DAO,会和原DAO一样要经过27天的新建期。这个时间针对,每一个投票提议(通过调用splitDAO
参与新的DAO)的代币持有者。
After this time the new DAO is fully functional, and the curator can add addresses to the whitelist and proposals can be created, be voted on, and executed.
经过这段时间后,新的DAO完全开始运转,负责人可以增加地址到白名单,提议也可以被创建,投票,执行。
Remarks
The new DAO will have a proposal deposit of 0. Therefore one of the first action after the creation period should be a proposal to raise this value to a reasonable number.
注意
新的DAO会有一个押金为0的提议。因此,在新建期之后第一个动作应该是产生一个提议将此值提高到一个合理的值。
Warnings
In the case of a solo split, a split where you simply want to split out alone and take your portion of the ether, then there is something that you should be aware of. Anyone can join you in this solo split. If someone with more tokens than you tries to join, he can make your life difficult by downvoting all your proposals. He will never be able to steal your ETH since you will be the curator but he can block you taking your ETH out by also blocking his ETH inside with yours. More details about this and why it's not a serious issue can be seen Why-The-Stalker-attack-is-a-non-issue
警告
如果是一个个人分隔,通过分隔你想取出属于你的ether,那么有一些地方你需要明白。任何一个人可以参与到你的个人分隔中。如果某人拥有更多的代币,比你想要参与的多,那么他可以通过对你的提议投反对票对你造成麻烦。一旦你成为负责人,他将永远不会偷走你的ETH,但是他可以将他的ETH锁定在你的DAO中来阻碍你取出你的ETH。关于这方面的更多细节,以及为什么这不是一个严重的问题Why-The-Stalker-attack-is-a-non-issue。
The way to avoid such a scenario is to check after the votingDeadline
if the proposal has any other votes except from yours. If it does and they hold more tokens than you then don't call splitDAO()
. If not then call splitDAO()
and be certain that nobody will follow you in your new solo DAO.
避免这种情况发生的办法,就是在votingDeadline
之后,检查除了你是否有其他的投票参与了提议。如果有,并且他们比你更多的代币,你可以不调用splitDAO()
。如果没有,那么调用splitDAO()
,确保没有其他人参与到你的个人DAO中。