Although your calculation is mostly correct, it did not take into consideration the network's capability to slowly increase the block gas limit. If a block becomes full with transactions, miners are allowed to bump the limit of the next block by a certain amount (for details please see Yellow paper, page 6, equations 40-42 + surrounding context).
Based on ...
The only way I can think of to make this work is to require that DAO accounts are tied to real life identities. The verification process itself (3rd party verification of passports, notary seals, etc) would still rely on some element of trust.
Even with an identification system there would be know way to know if some people were acting as proxies to control ...
Yes. Here Is theDAOVoter
theDAOVoter v1.0000000000000003 is a little Perl script (~808 lines, 738 source lines) that will allow you to:
List The DAO proposals.
List your accounts, displaying whether The DAO transfers are blocked due to opened votes and expiry time.
List the DAO proposals with a listing of your accounts showing which accounts ...
You are cornering a central topic on blockchain voting I have recently worked on and there are not many satisfying solutions available.
The best resource on the net for ideas around that issue is Follow My Vote who are working for ages now on a stake-weighted blockchain voting solution utilizing bitshares. Unfortunately, they only have one developer and ...
The DAO gets a lot of comparisons to shareholders, but mostly in this sense: Your shares give you the right to vote and the right to collect "dividends" (reward tokens) and so it's in your best interest to vote, but you don't have to vote to collect your dividends.
When there is a proposal to vote on, you call the "vote" function from your wallet with the ...
Ethereum is fundamentally limited by single threaded performance of a CPU. Discussion over GAS costs/etc is misleading because the maximum GAS that an individual node can process is limited and there is relatively little room to optimize execution.
Early test networks reached 25 tx/second. With optimizations they may be able to reach 50 tx/second.
The short answer is "No". The Ethereum foundation have been very public with there plans and activities but it is nevertheless clearly not a DAO.
There are attempts in this direction but nothing concrete yet.
This topic is called "proof of individuality" and is open for a great solution. One possible solution works as follows: Around the planet, participants are meeting at the same time via video-chat and uniquely identifying one another. This should supposedly not allow anyone to be present in two videochats at the same time. From then on, the keys which have ...
This is a bit theoretical and I don't know of a practical way to use this right now but one thing people have been discussing is Proof of Passport. Modern passports contain data signed by the government that issued them, which can be read with an NFC reader. In theory it should be possible to create a Zero Knowledge Proof of information in the passport, so ...
You have one vote per account, but your one vote has the weighting of your account's token balance. And as @Nick Johnson commented below, this is functionally equivalent to having one vote per token.
If you vote Yea, the balance of your token account is added to the Yea accumulator.
If you vote Nay, the balance of your token account is added to the Nay ...
A voting system can be implemented on Ethereum, and infact the official solidity document has an example on just this.
To answer the second part:
How you would insure that people wouldn't create second account and vote second time? Is this possible to restrict voting ability based on your ...
The dApp uses a smart contract to handle the voting. Therefore the data resides within the Ethereum blockchain and inside the smart contract. Physically the data is "replicated" across the entire network to all its nodes (thousands).
You should check the Ethereum White Paper https://github.com/ethereum/wiki/wiki/White-Paper (and possibly also Yellow Paper) ...
This fulfills Howey test criteria for a security: carries dividends and is common enterprise.
In most jurisdictions (in your cases, states?) and with most company types, it is a company internal matter how it maintains the shareholders registry. Tokens/a blockchain would be one format of a shareholders registry. The requirement is just to maintain ...
yes, you will,
that said it's useless, suppose you have 10 tokens, your say in the DAO is 10 over 100 issued tokens.
if you split in half, you'll have 2 votes of 5 tokens each, so at best you'll vote yes for 5+5 which is exactly what you'll have done if you kept your 10 tokens, at worst you'll cancel your own voting power by voting yay with the 5 tokens ...
While you can create and vote on proposals in the 0.6.2 wallet, it is just that: a wallet.
The 0.7.4 release can be used in "Mist mode," in which it essentially functions as a full browser with a built in ethereum node.
The Mist browser lets you view markdown and images associated with proposals.
I don't think the article is saying that you should switch ...
EDIT 03/06/2016 - Updated list of sites providing the list of The DAO proposals
You can view the list of The DAO proposals with the current voting status at:
My understand: this is a smart contract that can be used to hold a public vote on the blockchain.
The person who deploys the smart contract is known as the "chairperson." They get to do two special things:
At the time of deployment, they create a number of "proposals" (the options that people are voting on).
After deployment, they can invite someone to ...
The while loop is for checking that no delegation loop exists like this:
voter A === delegate ===> voter B === delegate ===> ... === delegate ===> voter A
Whereas the line require(to != msg.sender, "Self-delegation is disallowed."); only checks for a direct self-delegate:
voter A === delegate ===> voter A
Yes, all full nodes validate all blocks. Not only do they validate the hash is correct and meets the current difficulty requirement, but they also validate that all transactions in the block are valid. This means they also run all the smart contract code that was executed in the block.
All of this is a very small amount of work and prevents a node from ...
Yes, it is possible.
Moreover that technique was already used against MakerDao, read https://forum.makerdao.com/t/urgent-flash-loans-and-securing-the-maker-protocol/4901.
It can be fixed by requiring funds to be locked for a period of time longer than a block.
You can't directly access any resources outside the blockchain. All the data your contract wants to use has to be input into the blockchain.
So you just have to have some functionality in your backend to send a transaction to the contract with all the candidate names.
Ethereum is a decentralized blockchain. It's not controlled by anyone and it's run by client nodes. Anyone is free to run their own node which participates in upkeeping the blockchain and nobody can be banned from connecting their node. There is no company called Ethereum.
So you can't hack Ethereum per se. In theory you can hack the protocols which are ...
You are thinking it a little bit wrong way, I'd say.
A token contract is a simple smart contract which basically only 1) contains a ledger which says how many tokens each address has and 2) has functionality to transfer those tokens.
I'm not aware of any token standard which couldn't be transferred freely - probably such exist but they are not commonly ...
Cool idea. Yes, a commit-reveal scheme is a primitive from cryptography that is easy to implement on Ethereum using, e.g. the built-in keccak hash function.
The salt you mention is also known as a "blinding factor" in cryptography, a randomly chosen value that hides what you noticed is an otherwise deterministic hash value of YES or NO. Your one extra step (...
To elaborate on JAG's answer - if you run a local Ethereum blockchain like Ganache, you get 10 accounts with 100ETH each by default (or you can configure it for any other number of accounts/value). Then connect your Metamask to that network (http://localhost:7545) and add private keys that show in Ganache, to Metamask (via Import account menu).
Then in ...
Just to add to @smarx's correct answer:
The main thing to realize is that mining (finding the right nonce or answer which fulfills the PoW "puzzle") is very difficult and requires a lot of processing power. But verifying the result is trivial.
To verify that a given nonce is the right answer for the PoW work the verifier simply needs to execute one hash ...
This is a subject of research. E-voting systems are not simple, they should verify a list of properties like Ballot privacy, Individual verifiability, Eligibility, Accuracy, Universal Verifiability, Receipt-freeness, Coercion-Resistance...
Clearly, Etheruem is not sufficient on its own.