Peer addresses: DHT (think Tor/Torrent)

// kadmillia mainline?
peer name:discovery points[ ]?
// also signed onto a per-user federated blockchain?
// last seen = chain segment signed by that peer?

Pubkey identities: Network Of Trust (think GNU/CA)

// export as openpgp compatible
key : signed by [ ]?
// also signed into a per-user federated blockchain?

Individual Transactions: mongo/JSON (think noSQL/API)

// blockchain
{
    data: {
        id: id_person,
        vote: persons_vote,
        poll: persons_poll,
        sig: vote_poll_id_sig
    },
    checksum: hash_data,
    previous: hash_prevous,
    position: hash_previous_checksum
}

Blockchains (think litecoin/bitcoin)

genesis (advertized genesis block signed by that jurisdiction)
    starting a genesis block is identity (not automatic reputation) based
validated (blocks confirmed by jurisdiction are 20 deep)
    can use a fraction system based on the size of jurisdiction
ordered (blocks that have reached a best effort consensus ordering)
    most rapid exchange becomes law
unordered (new data blocks not explicitly ordered)
    new votes go here
open vote blocks (the consensus on who is yet to vote)
    based on their pubkey, if they were authorized to vote and hadn't yet

Expired data (think freenet/gnunet)

old data is cleared out if it's not relevant to a live election / jurisdiction
* peers (dht rendesvous, .onion address data)
* users (openpgp data)
* transactions (unordered, non-confirmed transactions)
* blockchains (creation gives expiry? seems fair)