WhitePaper

Abstract

Can the block chain be scaled to support thousands of transactions per second, like   the world’s major payment networks in retail?

Ethereum is a public block chain platform that lets anyone build and use decentralized applications. In its current state, Ethereum doesn’t

scale very well because  every transaction needs to be processed by each and every node in the network.   Rather than having each and every

node computing each and every smart contract, UppCoin is a private chain with off-block chain transactions acting as a side chain where any

number of transfers can be processed locally. I explore the possible interoperability between the two; public and private distributed ledgers as

a hybrid block chain. An asset is moved from a private test chain to a public block chain or from a public to private one.  In the prototype, the

private chain's block header is checked and accepted as a valid header because the signature of the signers has been verified.

Once this is done, a token is issued and this transaction is then tracked on the public chain. Much like the private and public IP networks on the

internet, with private networks allowing constant internal ip traffic and public networks handling external traffic, this process allows only for a

subset of nodes to verify each transaction and as long as there enough nodes verifying each transaction, the system is still highly

secure but the nodes are not too many so that the system can still process as many  transactions in parallel. The advantages of this design

include high throughput, low costs, low latency  and anonymity.

 

Introduction

A block chain is defined as a distributed database/ledger where every network node executes and records the same transactions grouped into

blocks. Only one block can be added at a time, and every block contains a nonce that verifies that it follows in sequence from the previous

block. This technology was originally used as the underlying peer-to-peer distributed timestamp server for Bitcoin.

A transaction is a chain of digital signatures with each owner making transfers to the next owner by digitally signing a hash of the

previous transaction and the public key of the next owner. A hash of a block of transactions to be timestamped is published in the peer to

peer network.  Implementing this system as a peer to peer network  requires a Proof of Work consensus.

Proof of Work is a consensus system that relies on computational proof for the  order of  transactions.  CPU/GPU time and electricity are used

when work is done  to scan for a value that when hashed, like with SHA-256, gives a value that begins  with a number of zero bits. 

The block cannot be changed without having to redo this.  Miners race to solve this cryptographic problem  and are rewarded with BitCoin

to validate transactions and  create new blocks.[1] 

In Ethereum, each and every node of the network runs the Ethereum Virtual Machine and executes the same Contract Accounts.

The virtual machine on every node maintains the same consensus implementing a trustless smart contract platform on which users can

 create their own decentralised applications. The sender of a transaction pays with Ether for the contract activated as well as computation and

memory storage. The transaction fees are collected by the  nodes that validate the network. 

Proof of stake is an alternate consensus system that is based on proof of ownership of the currency i.e someone holding 5 percent of Bitcoin

can mine 5 percent of the blocks.[2]

Proof of Authority is an alternate consensus system where instead of miners racing to find a solution to a difficult problem, authorized signers

can at any time and own discretion create new blocks.[1.3]

Transitions between consensus systems or changes on the blockchain can be  achieved by hard forks or soft forks. A hard fork is permanent,

when non-upgraded nodes can’t validate blocks created by upgraded nodes on a chain while a soft fork is temporary, non-upgraded nodes

don’t follow the new consensus rules.  There are three types of blockchains, Public, Private and Consortium.

While blockchain technology allows for transparency, some assets need only to be private and localized.  A hybrid blockchain

would be a mix of both the public and private chains. This could be used by groups of organisation/firms, sharing assets

with multiple transactions or within an internal organisation with intra-transactions without need for the public to have access to them.

 

Design for a Hybrid BlockChain

We assume that all validators are rational except an attacker, who wants to break the system but no more than some fraction (1/4 to 1/2)  are

co-ordinated.

A smart contract checks and accepts a block header where the signature or the signer is verified on the private chain then creates a token.

The transaction of this token is then recorded on the private chain but can be tracked on the public blockchain. 

We use a token to represent value on the platform. They represent product prices on the platform.

Tokens are also used to represent details regarding your payment mode like in this case  cryptocurrencies or a bank account. 

Tokens used for currency conversion.

 

Source: https://prezi.com/p/cmwkjfeuvpxg/