# Practical I-Voting on Stellar Blockchain
## 2 Blockchain Technology for I-Voting  
Blockchain, as decentralized and a distributed ledger that stores transactions in a way they are open to everyone and resistant to fraud, has been introduced by [PERSON] in the Bitcoin Whitepaper [10]. Initially, it offered one simple application--a ledger for transferring Bitcoin cryptocurrency. Blockchain technology provides two vital properties that are highly desirable in applications like i-voting. Immutability ensures that no one can modify the data once written into a blockchain, and Transparency allows everyone to validate its correctness. In the case of voting, it allows each participant to calculate voting results on its own without relying on results computed by organizers. In consequence, one can distrust organizers while trust voting results. Five years after Bitcoin has been published, [PERSON] proposed an extension of this idea by allowing to process not only transactions but also so-called smart contracts, which are, in fact, scripts executed on the Ethereum platform [11] by all participating nodes. That nodes use blockchain as persistent storage for keeping smart contracts' source code and global state. This innovation allowed to create domain-specific actions on top of the Ethereum blockchain, leveraging already existing infrastructure. Currently, the most popular application of smart contracts is token issuance. Those tokens can represent any arbitrary asset either in the virtual or physical world. For example, one can create tokens for funding his startup; hence token represent company shares. This pattern is called ICO (Initial Coin Offering), alluding to IPO (Initial Public Offering). Another use case is to issue tokens backed by a physical asset like national currency, bypassing slow and expensive international transfers and taxes from exchanging cryptocurrencies with national currencies. This pattern is called Stable Coin. There are many other token applications, particularly vote token, where token represents a ballot paper. Transferring such token to a ballot-box account can represent an act of casting a vote. The number of tokens can be limited to the number of eligible voters, so no more ballots than eligible users can be ever issued. Such a token (ballot) can be published to any node in a decentralized network. And since the blockchain is transparent, everyone can audit and compute the results on its own.public vs. private blockchain. Blockchain technology has become popular mainly because of its openness, neutrality, censorship-resistant, and permissionless. We can think of open blockchains as a pure democracy, where developers are legislators, miners are deputy, and users are electoral. All parties incentives themselves to act honestly. If developers (legislators) do not do their best to improve the ecosystem, miners and users will choose different, better blockchains. If miners start to form cartel, censor transactions, or approve illegal transactions, users will stop using this blockchain. If users stop using the blockchain, the whole project collapses; thus, developers and miners lose their job. This perfect equilibrium makes public blockchains great. Everything is strengthened by the fact that each of them holds some shares in the project in the form of cryptocurrency, so the gains and losses are tangible. Things change significantly when we strip blockchain from being public--the most fundamental property. Private Blockchains are just immutable, integral, distributed database. It must be admitted that private blockchains have many advantages, they can handle higher transaction throughput, do not require costly mining, are asymptotic resistant (asymptotic resistant means that the node consisting of large computational resources does not gain any advantages in the network, especially can not proceed 51% attack, that is possible in PoW protocols) and are easier to manage.