DPOS system for Steem ?


Img src

DPOS 의 특징과 장점을 잘 설명한 글이 있습니다.
EOS 도 DPOS 를 사용한다고 하니, DPOS 에 대한 관심이 더 많아질 것 같군요.

@iang/seeking-consensus-on-consensus-dpos-or-delegated-proof-of-stake-and-the-two-generals-problem

이글에 대한 댓글로 DPOS 에 대한 저의 댓글을 달았습니다. 글 내용이 길어져서 한글로 따로 올려 봅니다.
DPOS 에 대한 일반적인 내용이라기 보다는, 주로 스팀에서 사용된 DPOS 룰에 대한 것입니다.

===========================

DPOS 합의 메카니즘의 키 포인트는 어떻게 블록을 생산하는 대표자(또는 증인)을 선출하는가이다. 본문의 저자는 이 메카니즘을 "오픈 커뮤니티 투표"로 묘사했지만, 이 투표를 어떻게 조직하는냐에 따라 매우 다른 거버닝 구조가 나올 수 있다.

The key point in DPOS consensus mechanism is how to elect the representatives(or witness) producing the blocks. You described the mechanism as "open community poll", but how to organize the poll can result in a very different governing structure.

예를 들어, 스팀은 20명의 증인과 한명의 타임 쉐어링 증인이 있는데, 각 쉐어당 다른 증인들에게 30 번을 투표할 수가 있다. 재미있는 부분은 왜 각 쉐어가 30번의 투표권을 가져야만 하는가이다.

For example, Steem has 20 witnesses plus 1 time-sharing witness, and each share can vote 30 times on different witnesses. The interesting part is why each share should have 30 times voting chances.

이러한 규칙하에서는, 증인이 되기 위해서 반드시 다수의 "커뮤니티의 지지"에 의존할 필요가 없다. 대신 최상의 10명 또는 20명 정도 고래들의 상호투표 구조가 가장 중요한 결정력을 가지게 된다. 20% 의 투표를 받으면, 증인자리를 유지하는 것은 매우 안전하다고 볼 수 있는데, 이 정도의 투표를 받기 위해서, 최소 2% 이상의 지분율을 가진 다른 10명 정도의 고래의 동의만을 받아도 된다. 나머지 커뮤니티 전체의 투표를 전혀 고려할 필요가 없다. 그렇기 때문에 최상 고래들이 상호 교차 투표를 하기 위한 협약을 맺고, 서로 배반하지 않기로 합의하는 것은 자연스러운 일이 될 수 있다. 반드시 하나의 파워 블럭만이 존재할 필요는 없다. 내부 멤버들에게 주로 투표하는 2-3개의 파워블럭이 생길 수도 있다. 만일 멤버 하나가 배반을 하면, 이 멤버를 배제하는 것은 매우 쉬운 일이 된다.

Under this rule, to become a witness does not necessarily depend on the majority of "community support". Instead, cross-voting structure among top 10 or 20 whales becomes the most important decision factor. If you get 20% voting, it is pretty safe to maintain the witness position and to get that amount of voting, you need just 10 other whales supports with at least 2% of the total Steem shares. You don't need to worry about all other community members' voting at all. So for the top whales, it is very "reasonable" to make agreements to do cross-voting each other and not to "betray" each other. There may not be a just one power block, there can be two or three different power groups voting internal members mostly. If one member betrays, it is very easy to pull down his seat.

만일 시스템이 쉐어당 오직 1번의 증인 투표권만을 부여한다면, 이런 식의 교차투표는 불가능해진다. 대형고래가 자신의 지분을 분할해 몇개의 증인 자리를 차지할 수 있을지는 모르겠지만, 50% 이상의 지분을 가지지 않고서 다수의 증인 자리를 차지 하기는 매우 어려울 것이다.

If the system allows only one voting chance per share, this kind of cross-voting is impossible. Maybe one big shareholder can divide up his shares to multiple accounts and can occupy multiple witness seats, but it is very difficult to hold more than several unless he has more than 50% of the total shares.

전체 증인수가 작고(예를 들어 100명이하), 쉐어당 여러번의 증인 투표권을 부여하게 되면 최상의 고래들이 협약해서 자신들의 (수익이 매우 좋기도 한) 지위의 유지를 목표로 하는 파워블럭을 만들기가 쉬워진다.

When the number of representatives(or witness) is small (such as less than 100), and having multiple voting chances per share, it is easy for the top whales to collude to make a power block whose main goal is to maintain their prestige (and very profitable) positions.

이러한 방식의 DPOS 투표 시스템은, 제한된 수의 기존의 파워 플레이어들이 이미 있는, 예를 들어 대기업들간의 컨소리움 체인에는 별 문제가 없을 수는 있지만, 퍼블릭 체인, 특히 스팀과 같은 컨텐츠 네트워크 체인 (여기서는 증인이 어떤 포스팅이 좋은지 나쁜지 까지도 결정할 수 영향력이 있다)에는 이상적이지 않다. 이 문제에 대해서는 이전에 포스팅한 글이 있다.
@atomrigs/net-neutrality-and-curation-rewards
Korean
@atomrigs/net-neutrality-curation-rewards

This kind of DPOS poll system may be okay for a consortium chain with a limited number of established pre-existing power players such as a big enterprise consortium network, but not idealistic for a public chain, in particular for a public contents network where those witnesses can decide which content is good or bad.
Regarding this issue, I wrote a post several months ago,
@atomrigs/net-neutrality-and-curation-rewards

만일 내가 다시 스팀 시스템을 만든다면 다음과 같이 셋팅하고 싶다.

  • 최소한 100개의 풀타임 노드
  • 각 쉐어당 한번의 증인 투표권
  • 증인은 큐레이션 보팅을 할 수 없다.
  • 달러기준 증인의 봉급의 상한성이 정해져 있어야 한다.

If I have a chance to design a new Steem system, I would do these things;

  • At least 100 full-time witness nodes
  • Only one witness vote chance per share
  • Witness should have no curation voting power
  • Witness rewards in terms of dollar amount should be capped.
H2
H3
H4
3 columns
2 columns
1 column
18 Comments