Ravencoin — Voting for HODLer Representative (w/RVN) - Tron Black
Ravencoin — Voting for HODLer Representative (w/RVN) - Tron Black
  • 주은혜 기자/조해리 기자
  • 승인 2020.11.25 13:16
  • 댓글 0
이 기사를 공유합니다

Ravencoin — Voting for HODLer Representative (w/RVN) - Tron Black

Note: The website for this is not built yet.
The HODLer representative will be voted on by the RVN HODLers. Every RVN you hold at the designated blockheight can be voted.
If you own lots of RVN, you get lots of votes. If you own one RVN, you get a vote. Pretty simple.
Before you get concerned that someone could just buy a bunch of RVN (driving up the price) and dominate the whole project, remember that the HOLDer representative, while influential, is only one seventh of the board making critical decisions.
How to vote
Eventually we may have a more elegant system of voting, but for now, go into Ravencoin Core, and choose File->’Sign Message’, then take the name of a nominee (in all caps), and paste it into the text field, select an address that has RVN, and hit the [Sign Message] button. Enter all three (address, nominee, signature) into the voting website (see spec below), where it will check the Ravencoin address for double-voting, and check the signature matches the address, and will record all your votes based on how much RVN was in the address at the blockheight determined by the foundation. (Repeat for each address which holds RVN).

If you don’t want to use the graphical interface in QT, then use the command-line raven-cli or RPC call:
signmessage “address” “message”
Where message is the ALL CAPS name of the person you’re voting for.
Why at a certain blockheight? Because we don’t want someone voting 1,000,000 RVN votes, and then sending those RVN to another address and voting again with the same RVN. This isn’t a US election, we have strict standards.
Technical Specs for off-chain HOLDer voting
The website that tracks voting for HOLDers, should have these features…
Candidate Registration
An admin feature to allow the addition of candidates. Anyone, who wishes, can be a candidate. They need to be willing to publish their real information. This is necessary for accountability, and because of the transparency of the Ravencoin Foundation governance board. They will publish their real name, bio, the reason they wish to be a candidate, a photo, and contact information. In most cases, they will have been a supportive community member for some time. The admin will add any candidate that qualifies. Their name for voting will be ALL CAPS and placed prominently with their record, like ROBERT SMITH.
Display Candidates
A view of all eligible candidates should be available. All references to candidate names should be linked to a page about the candidate.
Voting Blockheight
Once a voting block height has been selected, by the temporary board, or the ongoing board, then that will be used to pre-load a database with all RVN ownership for every known address that holds Ravencoin at that block. This can be done by stopping the sync at a given block, and querying for balances, or by running the transfers from Ravencoin genesis to the specified blockheight. The reason for using a specific block height is to prevent double-voting caused by voting, sending to new address, and voting again. At any given blockheight, the qty per address is fixed.
Excluding Exchanges
Because the goal of the voting is to determine the best HOLDer representative, and not to delegate the choice to custodians, the addresses that hold RVN on behalf of many people like Binance, Bittrex, etc. should be excluded from voting. http://rvn.CryptoScope.io groups Ravencoin addresses and has identified these large custodians, so they can be excluded. If you wish your vote to be counted, withdraw your RVN prior to the voting blockheight, vote, and then you can send it back to the exchange.
Table Fields
Ravencoin address
Qty of RVN
NAME (NULL until vote)
Signature (NULL until vote)
Voting Website
The website that accepts the votes, will take three inputs
Ravencoin address
NAME of candidate (in all caps — as displayed in candidate list) — It can be a drop-down.
Signature — Signed by private key matching the Ravencoin address (output of signmessage)
Vote Validation
The website should validate the signature. There is an RPC call which does this. verifymessage “address” “signature” “message” It will return true or false. It takes the same three inputs as the voting website. If the signature validation returns true, the name and signature should be updated in the database in the same row as the guaranteed unique Ravencoin address, which can be used as a primary key into the table.
Display Vote Totals
Real-time vote totals can be shown simply by summing up the RVN qty totals for non-NULL name field, and grouping by name.
Third-party Validation
The database should be downloadable as a CSV file. Address, Qty, NAME, Signature
Anyone can validate the signatures using a script, or spot check them using the QT wallet, or the RPC call already built into Ravencoin. The RPC call is:
verifymessage “address” “signature” “message”
Anyone can sum up the votes for a given candidate by putting the CSV into Excel, or Google Sheets.
Anyone can verify the Ravencoin address held that QTY of RVN at the blockheight of the vote by using an explorer API and accounting for transfers after the specified blockheight.
Any discrepancies can easily and automatically be detected with this audit.
Voting Anonymously
To vote anonymously, it is suggested to use a VPN to obscure your real location, and IP address. This is simply good operational security (OPSEC).
Voting Safety
There is no danger in signing a string of letters with your private key. The string of letters in this case is the name of the candidate you’d prefer. The signed string will not reveal your private key, and if you use a VPN when submitting to the voting website, the vote submission will not reveal your location or IP address. As always, make sure you’re using the correct Ravencoin software as occasionally there have been unscrupulous individuals trying to get folks to download a fake Ravencoin core which could be a wallet stealer.
Computer Language
The voting site can be written in any language. As long as the qty can be summed, uniqueness enforced on the Ravencoin address field, and data can be exported to CSV, any database technology can be used. It is expected that the voting website code would be open sourced for auditing purposes, even though validation does not rely on the voting website code because counting can be done independently, each vote can be validated as matching the qty independently, and each signature can be validated independently.
I’m putting this specification out there so that if someone wants to build this site, they have the information to do so. The only part of this project that is associated with crypto is verifying the signatures, and that is only a call to Ravencoin Core’s RPC call. To avoid duplication of effort, please let me know if you or someone you know is taking on this task.

Tron Black



삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.

  • 서울특별시 영등포구 선유로47길 19
  • 기사정정요청: press88only@daum.net
  • 애드버토리얼 아티클 : 광고문의 클릭 및 작성
  • 대표전화 : 010-2068-7868 (문자 수신용) 편집부장 조해리
  • 제호 : 블록체인밸리::No.1 Korea Blockchain & Fintech Media
  • 등록번호 : 서울 아 04281
  • 등록일 : 2016-12-15
  • 발행일 : 2016-12-15
  • 발행인·편집인 : 조흥훈(Harry_cho)
  • 청소년보호책임자 : 강민
  • 블록체인밸리::No.1 Korea Blockchain & Fintech Media 모든 콘텐츠(영상,기사, 사진)는 저작권법의 보호를 받은바, 무단 전재와 복사, 배포 등을 금합니다.
  • Copyright © 2016-2022 블록체인밸리::No.1 Korea Blockchain & Fintech Media. All rights reserved. mail to ajuaju123@naver.com(business proposal) / 보도자료는 press88only@daum.net