Is it possible have a blockchain that is easy, fast to generate and uses little energy or processing power, say on a mobile or tablet, that still has the security benefits of cardano? This would form a disposable currency used for a one off purpose then it is destroyed, but still provides any necessary benefits.
Thatās a strange question ⦠what do you mean exactly? Several Cardano light wallets are available for mobile phones. It takes a minute or so to download one of these. Then I can either create a brand new, empty wallet, or add one of my preexisting wallets to the light wallet on the mobile, do whatever I want to do, then delete the light wallet if I want. This is fast and requires very little processing power.
Remember, the blockchain to be a blockchain is not a local thing it is distributed all over the world, and your personal wallet doesnāt exist on your desktop or your mobile, it exists on the blockchain, and you can recreate it anywhere and anytime by using your list of keywords.
Hi mikalzet,
Thanks for replying. I found cardano while researching how I might use blockchain for voting. This is as part of a larger project of tiered communities. I love the benefits blockchain offers to be more than just a currency, and the idea of being able to make it a tool for managing all kinds of aspects in life.
I am of the opinion money should be used in such ways and not as an asset to be hoarded, accumulated to gain wealth or benefit above others. This is why I used the term disposable.
I wanted a voting system for Joe Blogs to be able to generate a unit of blockchain, securely register that unit as a vote, cast their vote (or if you like spend it) This vote is then counted alongside other peoples votes. Once voting closes and the decision is made, all votes are disposed of, erased, deleted.
This way individuals could easily generate, register and vote on any current policy/decision being debated or up for implementing at any level of their community.
I hope this makes sense or if there is another way.
Chris
You are touching on two things.
When you say easy and fast blockchain with security benefits, that is what mithril is trying to do. A snapshot of the blockchain is signed by the stakepool operators instead of downloading the whole blockchain everytime.
Regarding disposable currencies, this will be possible with hydra. Hydra can facilitate state channels where participants can create tokens, do something with them with their own rules and later destroy the tokens.
Both are in active development.
Hi faretheewell,
Thank you for that. I will have to have a look at these two, and see how they develop. I take mithril and hydra are separate projects? Will the benefits of both be available in one form at some date?
Chris
Yes they will be incorporated as they both are in active development. Hydra I believe is already in mainnet in itās infancy and I expect mithril will be once itās solidified. As like in all Cardano open-source protocols, they are all in github so one can always follow and participate in their developments.
I envision as a conjecture for example that one can play poker in a hydra head. You have participants register in the head, convert some of their adas into another token, their āpoker chipsā, play with their own rules inside the head and once finished, convert those tokens back to ada reflecting the winnings and loses of the participants. Another way I think Hydra can be used is online auction. Somebody auctions an item inside a hydra head, and the bidders just converts some ada into a bidding token, etc.
Mithril aims to be fast and secure. Right now the fast wallets, unlike Daedalus, relies on 3rd party entities to look at the blockchain. What mithril aims top do is, since transactions that are passed are immutable, then everyone can just agree that that is the state of the blockchain at certain point. Itās like starting a game of chess from a certain known position since everyone agrees that you arrived at that position by certain known moves. There is no need for 3rd part entities making it morer secure.
The main question for me would be why you want to use a blockchain āfor votingā. What problem shall be solved exactly? Why should āblockchainā be a solution for this problem? Is it really needed?
Things do not become more reliable, more decentralised, more trustworthy, ābetterā just because someone throws a blockchain at them in some way.
You can just implement a voting system as a simple, classical web service. No problem at all, trivial, no blockchain needed. Totally enough for most applications, where there is a trustworthy enough entity organising the vote like a lot of online communities. Of course not enough for public elections and similar high stakes decisions with a lot of distrust between entities.
There are some hard problems on the way:
- Who is eligible to vote? If you want to have a vote by all citizens of a certain jurisdiction, by all members of a certain community, or by all humans world-wide, but preventing people from creating sockpuppets to vote many times, you need a reliable registry of those eligible voters. And a blockchain can help very little with that. Even if āDIDsā were already more operational than they are, they would still need a source of truth, a trustworthy authority for the information which unique persons exist, who is a registered citizen, a unique member of the organisation.
Votes in Cardano are often by ADA as voting power. Here, the blockchain can help, but that is not because blockchain is good for voting in general, but because Cardano is the organisation that wants to vote. If your community is already on Cardano and has a token there and it is okay to have voting power determined by how much stake people have in this community (as opposed to āone person, one voteā) then and only then, you can have the eligible voter problem solved by using token ownership on chain as voter eligibility. - Ballot secrecy (if that is wanted and/or needed) is another hard problem. Homomorphic encryption is the solution that comes closest in that area. If you can add up the ballots in encrypted form and only decrypt the result, but not the single ballots, you have some form of secrecy. If you need k out of n entities to decrypt, you have to trust k entities to actually decrypt the result so that the election does not fail and nāk+1 entities to not decrypt your single ballot to have secrecy. Those entities are ideally independent enough organisations, but for some use cases it might be sufficient to have different persons inside one organisation who pinky swear to not collude. For other use cases ā public elections ā it is also a valid opinion that this is still unacceptable and we should just stick with the tried and tested paper ballot because no online system can reach the same easily understandable level of secrecy.
There is one aspect where blockchain can help: It is good at providing an unmodifiable, kind of time-stamped public record. This is often one building block of voting schemes.
This gives you, e.g., uncensorable votes. You can see your ballot entering the vote on chain and then used later for the tally. Everybody could see, call out, and prove if some of the votes on chain were not tallied in the end. If the system is built in a way where recording votes on chain is permissionless, every voter could record their ballot themselves or at least everybody could build an independent service recording votes, this prevents censorability. If there still is a centralised submission service, you can only be sure that your vote is tallied once you see it on chain, but it could still be hard to prove malice if the submission system just doesnāt accept your vote in the first place.
But for this usage, you really do not want a ādisposableā, short-lived blockchain, but you want to have this record that everything went okay, permanent, and you want the security of lots of operators forming a consensus about the state of the chain, so you really want to do it on Cardano or another large enough permanent blockchain itself. If you think that a disposable blockchain with just you as the operator is sufficient, you probably do not need a blockchain at all and can just use a database and be done.
Mithril and Hydra are already operational, can already be used on Cardanoās mainnet, but are not really relevant for this use case.
To have less transactions necessary on Cardanoās main ledger, Hydra allows to open heads, do lots of high-speed transactions in this head, and only record the net effect of all of them together once the head is closed again. So, you could do lots of poker games inside the Hydra head (by the way no need to change for a āpoker chipā token, you can just use ADA inside the head) and at the end of the day only record the net changes of the balances of the players instead of the result of every single game on the way.
For voting, you do not have a lot of intermediate results that are changed again. You want to record all votes. Period. So, not really a need for Hydra. You could use systems that aggregate some votes and put them on chain together to make it a bit more efficient, but that can be done with a much simpler submission system than Hydra heads.
Mithril can publish data signed by Cardano pool operators. Up to now that data are only snapshots of the whole blockchain. That saves a lot of time when first synchronising with the blockchain, but after unpacking these snapshots are still 177 GiB and counting. It could potentially be used in the future to distribute snapshots of only the current ledger, the transaction outputs that are still unspent, the current distribution of ADA across the wallets (and data associated with these outputs). That would still be 5 GiB, so still not really feasible to do it in browsers or mobile phones.
I donāt see much connection of Mithril with the voting use case. You can use any technique for connecting to the blockchain for submitting the voting transactions and querying them to audit and tally. You can use a local Cardano node, synchronised using Mithril or not, or a public API to a Cardano node operated by someone else.