or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
TzVote
Glossary
Initial requirements
5.1 : Bakers voting based on capital power
5.2 : Delegators voting based on existence power
Implicit requirements
Answers (Answer –to–> RequirementList)
Voting templates :
1.1 Tezos (i.e capital power
Image Not Showing
Possible Reasons
)
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →creation => (1 question, n options) , vote => 1 choice , voting power => rolls
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →1.2 Free Simple poll
creation => (1 question, n options) , vote => 1 choice , voting power => 1 identity = 1 vote
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →1.3 Permissioned Simple poll
creation => (1 question, n options) , vote => 1 choice , voting power => permissioned address balance
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →1.3.1 Permissioned OIDC Simple poll
creation => (1 question, n options) , vote => 1 choice , voting power => permissioned address balance
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →OIDC will serve as the voter list here, there is no admin entrypoints to add or remove voters
1.4 BF (Borda-Fibonacci)
https://en.wikipedia.org/wiki/Borda_count
creation => (1 question, n options) , vote => n choices , voting power => \(BF^{identity}\)
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →BF is defined as follow :
Instead of linear vote allocation (1,2,3,…) uses a Fibonacci suite (1,2,3,5,8,…) to enforce clear positions. To avoid exponential results on high option choice number, need to balance the points as for the sum of user's vote allocation should be zero : \(\forall\) j a voter \(\cap\) \(\forall\) i a vote choice, \(\sum_{i=1}^{n}votes(i,j)\)=0. Ex : For a vote with 8 options, allocation of points is among list [5,-3,-2,-1,1,2,3,5] , with 9 options is [5,-3,-2,-1,0,1,2,3,5] , with 10 is [-8,5,-3,-2,-1,1,2,3,5,8] etc ..
1.5 Samarkand
creation => (1 question, n options) , vote => n choices , voting power => rolls
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →The difference with Tezos implementation is that a voter stack x Tezos and has to distribute all Tezos amongs all options. Each allocation is bounded between [-x,x] and \(\forall\) j a voter \(\cap\) \(\forall\) i a vote choice, \(\sum_{i=1}^{n}votes(i,j)\)=0.
Example for 6 voters A..F financial allocation:
For the winner 3 of this election, we can resolve the financial resolution as this :
\(\sum gains\)=150
\(\sum loses\)=-350
\(\Delta\)gains-loses=-200 \(\leftarrow\) negative result ! Winners need to finance 200 to losers
Smooth resolution redistribution. Election voter losers take their gains, Election voter winners lose reduces money proportionally
Summary
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →User stories
Architecture
Basic (MVP)
Oracle
Smart contract cannot get the current voting period index, to provide this data, we create an oracle. The oracle is another smartcontract providing this information on the chain. A schedule job push/refresh the current period every end at interval of min block creation interval
Flow between the smart contract and the oracle is as follow
Schedule job
The role of the schedule job is to maintain the storage of oracle uptodate. Here below is the pseudo-code algorithm :
Indexer
We will use the TZKT.IO indexer (https://github.com/baking-bad/tzkt)
One or several smartcontrats for a voting session ?
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →OR
ask for payment on each transaction request
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Implementation
US-0
Login
Home page (we could also replace it with a Menu 2 entries, less code and better navigation)
US-1
Configure page
Creation page
US-2
Search page
Voting page
US-3
Results page
Proof of Existence
Introduction of the problem
Best video so far of the issue and a proposed solution https://www.brightid.org/
A good voting app using it apparently on Ethereum : https://snapshot.org
Investigation field
Each real person develops a strongly connected graph locally. Making bi-directional connection will strenghen the solidity of the structure. In graph theory, the goal is to create the greatest clique (https://en.wikipedia.org/wiki/Clique_(graph_theory) , https://en.wikipedia.org/wiki/Theorem_on_friends_and_strangers)
If hackers try to created some sock puppets, consequences are :
To strenghen the consensus, I propose to not rely (only) on the virtual social graph for theses reasons :
Let's add a geographical criteria :
Story game : How to play the game in real life ?