BitShares Forum

Main => 中文 (Chinese) => Topic started by: zhao150 on June 26, 2014, 03:53:19 am

Title: 新手关于DPOS的疑问?
Post by: zhao150 on June 26, 2014, 03:53:19 am
目前我就知道这个DPOS 是要选出100个代表的,当然还有候补代表。
这100个代表,是通过持有BTS的人投票选举产生。
投票方式bm打算采用Approval Voting这种投票方式。
这种方式好处是:
对于某个受托人你只有选择信任(trust level >0),或者不选择(trust level =0),而没有不信任这一选项, 也就是说没有反对票了。得赞成票数排名在前101的受托人有出块的权力。这样子的投票方式可以规避上面提到的两个问题,因为你对你所信任的受托人投了赞成票,实质上相当于对其他所有的受托人投了‘反对票’; 在任何时候你只需要关心你所信任的受托人,如果你觉得你信任的某个受托人在干坏事,很简单,不信任他并叫别人也这么做就可以了。

以上是我知道的,我不清楚的是:
1 比如我发送一笔交易出去,那这笔交易的确认是,需要100个代表个个都签名呢?还是只需要随机在这100个代表中由系统随机选出一个代表签名就算这笔交易确认了。如果是只要随机抽取的一个代表签名交易就确认,这样我觉得是也有点草率,可以随机抽取20个代表签名,这样安全性就很高了。所以我觉得这个安全性是可发展的,比如现在一共有1万个代表,确认必须随机选择200个代表签名。那这样的安全性简直逆天了啊。


2 DPOS算法将出块时间减低到15-30秒,并把算力资源应用到交易广播和确认上而不是浪费在无意义的计算上。这使得DPOS块链可以承载Visa级别的交易量。这个是DPOS的优势,不过我不太明白,理论上只要15到30秒,但是最近几次测试都出现分叉,由此BM打算把这个时间延长到2分钟。我不明白这个时间跟分叉有什么必然的关系吗。
Title: Re: 新手关于DPOS的疑问?
Post by: mmlmmlmml on June 26, 2014, 05:18:01 am
现在延长到2分钟为解决其他逻辑bug吧,只是临时的,解决后还是会恢复到30秒的。
Title: Re: 新手关于DPOS的疑问?
Post by: cgafeng on June 26, 2014, 05:20:04 am
1、交易会被其中一个代理打包到块里,其他所有代理都会对这个块的合法性做校验,即对块里的所有交易做验证,只要有一笔交易非法,代理就可以拒绝这个块。从这个设定来说,每一笔交易都会被所有代理验证。

2、出块时间和分叉是有关系的,任何一个代理的块都需要广播到全网让其他代理接收到这个块,否则如果有的代理块链里有这个块有的代理没有就会产生分叉。 广播到全网是需要时间的,对于p2p网络来说,这个时间会比中心化的网络长。当然,出块时间并不是唯一导致分叉的原因。
Title: Re: 新手关于DPOS的疑问?
Post by: Musewhale on June 26, 2014, 10:21:40 am
我是对票数的流动性以及如何避免重复投票很好奇


比如:我现在有2万个币,我投给BM了,他得到总共四万张选票,当了代表。然后我把我的币给卖掉了,他会咋样?
以及,如何保证币的投票权不被重复使用?到时候代表的稳定性就会很差哦

因为能坚守不动的币会有一部分,但是代表所得到的票数,必然也会有一大批流动性高的币参与进去

BM的设想里,可能是120个左右的常备代表来竞争100个席位
但是考虑进流动性之后,可能是要在150~200个以上的常备代表里展开
然后,从经济性上面来说,100个代表名额可能无法带动200个代表去投入硬件
因为会导致大约80个以上的代表硬件利用率极低

而一旦流动性过大之后,很多前面的代表会突然票数不够,后面的需要顶上去,但是可能顶上去的人根本就不够专业或者没有很好的准备
比如最专业的100个代表,可能其中30个会在今天因为市场上BIP的高流动而被终结代表资格,这时候就要后面第100~130的人来候补,而这些人可能是没有做好准备的。如何激励这些人长期心甘情愿的在线做备胎?

还有就是,在不同的地理区域,可能会集中过多的代表,万一哪天海底光缆断一下,搞不好几十个代表同时失踪了




Title: Re: 新手关于DPOS的疑问?
Post by: rnixianren on June 26, 2014, 10:30:31 am
代表制度,其实是开了历史的倒车,,不是人人都有钟本聪和sunny king的本事,非得逼公牛下个崽,崽下不出只有拉砣屎应付着,这是没办法啊!
Title: Re: 新手关于DPOS的疑问?
Post by: thistome on June 26, 2014, 11:26:44 am
看来楼上不喜欢这东西,那就找你喜欢的东西去吧 :P :P :P :P
Title: Re: 新手关于DPOS的疑问?
Post by: gyhy on June 26, 2014, 01:07:11 pm
我认为代表制不错
Title: Re: 新手关于DPOS的疑问?
Post by: dcchong on June 27, 2014, 06:09:35 am
1、交易会被其中一个代理打包到块里,其他所有代理都会对这个块的合法性做校验,即对块里的所有交易做验证,只要有一笔交易非法,代理就可以拒绝这个块。从这个设定来说,每一笔交易都会被所有代理验证。

2、出块时间和分叉是有关系的,任何一个代理的块都需要广播到全网让其他代理接收到这个块,否则如果有的代理块链里有这个块有的代理没有就会产生分叉。 广播到全网是需要时间的,对于p2p网络来说,这个时间会比中心化的网络长。当然,出块时间并不是唯一导致分叉的原因。

@cgafeng,请教下。 “交易会被其中一个代理打包到块里,其他所有代理都会对这个块的合法性做校验,即对块里的所有交易做验证,只要有一笔交易非法,代理就可以拒绝这个块。”  代理打包的块被其他所有代理验证,是否是51%的代理验证通过这个块,这个块才通过,还是只要有一个代理拒绝这个块,这个块旧无法通过?麻烦cgafeng知道的话解惑下。。。 :P


另外纠正下楼主,trust>0即为true, trust=0即为false,true表示赞成票,false表示反对票。
Title: Re: 新手关于DPOS的疑问?
Post by: zhao150 on June 27, 2014, 06:43:59 am
我感觉只要随机从100个代理中抽取51个代理 通过就可以了。因为是随机抽取的51个,所以安全性也是很高的。
不能是有一个代表拒绝就通不过,因为有可能有些代表搞恶作剧故意不通过。
虽然这种恶作剧 他自己也无法得到任何利益。
Title: Re: 新手关于DPOS的疑问?
Post by: cgafeng on June 27, 2014, 06:49:25 am
超过50%代理接受一个块,这个块就可以算通过了。
Title: Re: 新手关于DPOS的疑问?
Post by: zhao150 on June 27, 2014, 06:53:15 am
我感觉这个代表制非常不错,
人是非常聪明的,想要制约聪明人犯罪,靠电脑、靠电子设备绝对做不到。
最好的方法就是用另外的聪明人来制约。聪明人之间互相制约,这样彼此都不敢犯罪。
这个代表制绝对有前途,将来也可以扩展,形成彼此制约,那安全性更高。
这个dpos安全性的设计确实已经很高了,而且将来也可以扩展代表数量来增强安全性
只要把分叉解决,那就好了。