Saturday, 28 January 2017

Using Mist - Testing Contracts

I just started testing on the Ethereum blockchain. I am including some notes in case someone is trying to get started.

1. Video to get started - https://www.youtube.com/watch?v=9_coM_g7Dbg
2. Get ether - http://faucet.ropsten.be:3001/


Sunday, 23 October 2016

Sharing Economy

I just posted on my linkedin account some links about recent and upcoming ICOs.

This blog post is about what new currencies and tokens are possible. The main point about new currencies in the cryptospace is they allow microbilling because everything is realtime. The transaction between the buyer and seller can be completely fluid because we have no third party involved.

It is akin to a conversation - the buyer and seller are interacting.

Example of how new currencies can be used -

1. Mobile phone payments - pay as you go now works on a "top up" but with blockchains we can organise realtime billing and debits are done exactly as you use your phone with a token billing system.

In effect you have a wallet with phone-tokens and as you use services they are billed.

2. Electricity - smart meters can bill as you use electricity - no more top-up based on a discrete transaction but realtime billing.

3. Taxi rides - billed not at the end but as you actually travel - no surprise bill at the end of the journey.

4. Water rates - as you use.

5. Taxes - taxed as you incur tax liability.

6. Salary payments - as you work - not at the end of the month. You are paid immediately a minute of work is done.

7. Interest on bank accounts - earn money as the money is invested into the bank - by the minute.

8. Web Hosting - billed as you use it.

9. Landlines - billed as you use them.

10. TV subscriptions - actually all subscriptions - billed as you use them.

The list is almost endless - an economy based on pay-as-you-go: realtime processing; distributed power and currency.

Thursday, 20 October 2016

MSc Digital Currency

I am  studying the free course at the University of Nicosia. This is also part of the MSc program run by the university.

Saturday, 15 October 2016

Reputation Systems & Ethereum

I have been reading more about possible implementations, and a key aspect is removing Amazon etc from the equation.

If we consider that today Amazon sales are significantly made up from marketplace sales, and ebay of course is a platform bring buyers and sellers together, then the reputation system would in effect create a trust factor for the buyer and seller.

The design would be to connect a buyer and seller together directly via a P2P network without amazon etc in the system. A reputation factor would determine the safety of the transaction.

Solidity

Here is some code from ether.fund:

contract Ballot {
    // Create a new ballot with $(_numProposals) different proposals.
    function Ballot(uint8 _numProposals) {
        address sender = 0x123; // msg.sender
        chairperson = sender;
        numProposals = _numProposals;
    }

    // Give $(voter) the right to vote on this ballot.
    // May only be called by $(chairperson).
    function giveRightToVote(address voter) {
        if (/*msg.sender != chairperson ||*/ voted[voter]) return;
        voterWeight[voter] = 1;
    }

    // Delegate your vote to the voter $(to).
    function delegate(address to) {
        address sender = 0x123; // msg.sender
        if (voted[sender]) return;
        while (delegations[to] != address(0) && delegations[to] != sender)
            to = delegations[to];
        if (to == sender) return;
        voted[sender] = true;
        delegations[sender] = to;
        if (voted[to]) voteCounts[votes[to]] += voterWeight[sender];
        else voterWeight[to] += voterWeight[sender];
    }

    // Give a single vote to proposal $(proposal).
    function vote(uint8 proposal) {
        address sender = 0x123; // msg.sender
        if (voted[sender] || proposal >= numProposals) return;
        voted[sender] = true;
        votes[sender] = proposal;
        voteCounts[proposal] += voterWeight[sender];
    }

    function winningProposal() const returns (uint8 winningProposal) {
        uint256 winningVoteCount = 0;
        uint8 proposal = 0;
        while (proposal < numProposals) {
            if (voteCounts[proposal] > winningVoteCount) {
                winningVoteCount = voteCounts[proposal];
                winningProposal = proposal;
            }
            ++proposal;
        }
    }

I am interested in building a trust system and voting will be a part of that. I am unsure how currently a node can access data relevant to an external contract. Ethereum.org states that voting is possible using Ethereum. They also talk about a concept of Liquid Democracy.

I googled this and found a useful site talking about some of the issues - stackexchange.


A video follows which has some details about TrustDavis and a Reputation Systems (Farmer & Glass):




Friday, 14 October 2016

Business Models for Ethereum

I was thinking about this and I think the electoral one could work.

To start this we could have an opinion based at a local level, so people may put their views forward on key local issues.

Democracy and Ethererum.