Author Topic: Approval Voting 同意投票/赞同投票  (Read 11851 times)

0 Members and 1 Guest are viewing this topic.

Offline Yao

  • Hero Member
  • *****
  • Posts: 534
    • View Profile
  • BitShares: yao
  • GitHub: imYao
大家的怒气消了一点没?我再来转移大家的注意力吧,来看看DPOS中投票方式的改进:Approval Voting,中文叫同意投票/赞同投票,三俗称AV。

维基百科中对AV的定义:
中文 http://zh.wikipedia.org/zh/%E5%90%8C%E6%84%8F%E6%8A%95%E7%A5%A8
英文 http://en.wikipedia.org/wiki/Approval_voting

英文版的讨论:
https://bitsharestalk.org/index.php?topic=4009.msg67618#msg67618
https://bitsharestalk.org/index.php?topic=5164.0
https://bitsharestalk.org/index.php?topic=5205.0

参与测试的朋友应该知道之前的投票大概是这样的:你在钱包里选择受托人或候选人(delegate/candidate),给予信任(trust level >0)或者不信任(trust level<0),当然不选择也可以(trust level =0),然后在转账的时候,你的赞成票(vote for)或反对票(vote against)就会投出去他(给自己转账或者给别人转账都是投票的过程,其思想就是需要用股份/权益(Stake)来表达你的意见,这其实很好理解,POS嘛)。经过对赞成票和反对票的计算后,得分排名在前101的受托人才有出块的权力。这个过程有人会出局,有人会入局。

这个投票方法的弊端:
某个受托人作恶被逮到之后,几乎只有1个办法能把他赶出局,那就是靠投反对票来把他赶出top 101。问题一,大部分人是不会整天开着客户端来投票的(lazy voters),只有要转账时才会打开客户端,很难保证大部分人能一起联合起来投反对票;问题二,作恶者被赶出局之后,他可以通过注册新的受托人继续作恶,我们又要投反对票了,这样子会变成无穷无尽的打地鼠游戏(whack-a-mole game)。

Agent86提出了Approval Voting这种投票方式,经过他和toast的努力游说,BM接受了这种投票方式。它是这样的:
对于某个受托人你只有选择信任(trust level >0),或者不选择(trust level =0),而没有不信任这一选项, 也就是说没有反对票了。得赞成票数排名在前101的受托人有出块的权力。这样子的投票方式可以规避上面提到的两个问题,因为你对你所信任的受托人投了赞成票,实质上相当于对其他所有的受托人投了‘反对票’; 在任何时候你只需要关心你所信任的受托人,如果你觉得你信任的某个受托人在干坏事,很简单,不信任他并叫别人也这么做就可以了。

目前的测试版本里已经实施了这种投票方法,如果你信任了4个受托人,当你转账的时候就会把你的‘票’投给这4个人之中的某几个(应该是1--3个)。选择这几个人是随机的过程,你可以选择一直用某个随机组合(这样子投的话,别人可以通过对投票的分析知道某几个地址是属于同一个人的,匿名性有所降低),或者每次投票都用不同的组合。每次最多只能给33个受托人投票。

大家觉得这样子的投票方法如何?

P.S 拜托大家,我希望这个帖子纯粹一点,就单单讨论这个话题,不要扯到其他的,例如“BM又乱想了,一天一个想法” “能不能先做出1个产品再说?”之类的。谢谢!
感谢cgafeng帮助我理解这种投票方法。


+5%
测试-改进-测试-改进-……
相信经过否定和自我否定之后的 Bitshares X 会越来越完美!

Offline urbanpauper

  • Full Member
  • ***
  • Posts: 112
    • View Profile
btsx: urbanpauper

Offline Overthetop

支持新方案,更加简单易行。

而且,这样的方案会让“行善”的 受托人更加重视自己信誉的积累,而想“作恶”的受托人他“干坏事儿”的门槛提高了。

个人微博账号: Overthetop_万里晴空
“块链创新与创业”交流群: 330378613

Offline metalallen

  • Sr. Member
  • ****
  • Posts: 262
    • View Profile
AV这种方式显然更合理一些。
随着时间的推移,101名受托人都会是稳定出块且不可能作恶的人,对于网络的稳定和安全是很有好处的。
但是,也需考虑到负面因素:1、你信任的受托人不一定是稳定出块的人,也许只是因为你投给了你的朋友,这样很可能会出现”买票“行为;2、受托人一旦被多数人持续肯定,那么就意味着他需”永远“开动服务器出块,这等于变相绑架了受托人的选择权。建议在客户端给受托人留有”quit“选项。
浮壹白的微博:http://weibo.com/u/2279693077
BTSX Account:metalallen

Offline zhao150

  • Hero Member
  • *****
  • Posts: 606
  • 老子早就不想当代表了
    • View Profile
Approval Voting这种投票方式好,想当代表搞了一天 还是没搞定
老子早就不想当代表了

Offline h99t1

  • Full Member
  • ***
  • Posts: 66
    • View Profile
似乎这样更合理!!

Offline muse-umum

  • Hero Member
  • *****
  • Posts: 717
  • BitShares everything
    • View Profile
大家的怒气消了一点没?我再来转移大家的注意力吧,来看看DPOS中投票方式的改进:Approval Voting,中文叫同意投票/赞同投票,三俗称AV。

维基百科中对AV的定义:
中文 http://zh.wikipedia.org/zh/%E5%90%8C%E6%84%8F%E6%8A%95%E7%A5%A8
英文 http://en.wikipedia.org/wiki/Approval_voting

英文版的讨论:
https://bitsharestalk.org/index.php?topic=4009.msg67618#msg67618
https://bitsharestalk.org/index.php?topic=5164.0
https://bitsharestalk.org/index.php?topic=5205.0

参与测试的朋友应该知道之前的投票大概是这样的:你在钱包里选择受托人或候选人(delegate/candidate),给予信任(trust level >0)或者不信任(trust level<0),当然不选择也可以(trust level =0),然后在转账的时候,你的赞成票(vote for)或反对票(vote against)就会投出去他(给自己转账或者给别人转账都是投票的过程,其思想就是需要用股份/权益(Stake)来表达你的意见,这其实很好理解,POS嘛)。经过对赞成票和反对票的计算后,得分排名在前101的受托人才有出块的权力。这个过程有人会出局,有人会入局。

这个投票方法的弊端:
某个受托人作恶被逮到之后,几乎只有1个办法能把他赶出局,那就是靠投反对票来把他赶出top 101。问题一,大部分人是不会整天开着客户端来投票的(lazy voters),只有要转账时才会打开客户端,很难保证大部分人能一起联合起来投反对票;问题二,作恶者被赶出局之后,他可以通过注册新的受托人继续作恶,我们又要投反对票了,这样子会变成无穷无尽的打地鼠游戏(whack-a-mole game)。

Agent86提出了Approval Voting这种投票方式,经过他和toast的努力游说,BM接受了这种投票方式。它是这样的:
对于某个受托人你只有选择信任(trust level >0),或者不选择(trust level =0),而没有不信任这一选项, 也就是说没有反对票了。得赞成票数排名在前101的受托人有出块的权力。这样子的投票方式可以规避上面提到的两个问题,因为你对你所信任的受托人投了赞成票,实质上相当于对其他所有的受托人投了‘反对票’; 在任何时候你只需要关心你所信任的受托人,如果你觉得你信任的某个受托人在干坏事,很简单,不信任他并叫别人也这么做就可以了。

目前的测试版本里已经实施了这种投票方法,如果你信任了4个受托人,当你转账的时候就会把你的‘票’投给这4个人之中的某几个(应该是1--3个)。选择这几个人是随机的过程,你可以选择一直用某个随机组合(这样子投的话,别人可以通过对投票的分析知道某几个地址是属于同一个人的,匿名性有所降低),或者每次投票都用不同的组合。每次最多只能给33个受托人投票。

Edit:在dry run 6里,这个数字改变了,每次最多可以投给101个人。

大家觉得这样子的投票方法如何?

P.S 拜托大家,我希望这个帖子纯粹一点,就单单讨论这个话题,不要扯到其他的,例如“BM又乱想了,一天一个想法” “能不能先做出1个产品再说?”之类的。谢谢!
感谢cgafeng帮助我理解这种投票方法。



« Last Edit: June 26, 2014, 05:35:29 am by heyD »