Bitcoin Forum
April 25, 2024, 12:34:38 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Bitcoin Discussion / outline for a simpler virtual currency on: May 09, 2011, 06:18:59 AM
Ok, so I've been reading about bitcoin and following discussions on this forum for a few weeks.  While I was initially enthusiastic that bitcoin could replace cash I quickly cooled as the problems with the currency came more into focus.  Sorry to disappoint you all but bitcoin in its current form has some really major hurdles.  The main ones being:  anonymity is the exception not the norm and that it takes too long for transactions be to confirmed.   These two issues have of course been discussed here many times.  There is also two other lesser issues that are important that aren't as often mentioned: each transaction will have a fee involved and it relies on internet connectivity.

These are show stopping problems-- bitcoin in its current form will *not* replace printed currency unless you can overcome them.


Pondering about bitcoin and virtual currency has made wonder how I would implement a virtual currency.  This is what I've come up with:

1) Anyone can download the transaction software and install it on as many machines as they wish-- as long as the computer and its operating system is reliable and trustworthy and that it can prove to other machines that it is trustworthy.  The software allows the user to create any number of accounts on their machines.  An account is basically a secure store of single non-negative number that represents the amount of currency held.  Each account is created with a zero balance.

2) Everyone who participates in the system may bootstrap exactly one account of their choosing with 1000 coins.  This is the only way that new coins are minted.  ie: everybody is given the same initial cash holding as a reward for joining the system- thus this encourages people to trial the currency since it allows them to immediately undertake transactions without any cost to them while at the same time boot-strapping the whole system.  This mechanism is fair to the participants because everybody is treated equally and given the exact same initial starting amount.  This boot-strapping mechanism controls/limits the overall money supply in the economy.

3) Besides the initial bootstrap transactions all further transactions occur between exactly two accounts -- the account receiving money is debited (ie: its balance is increased by the amount of the transaction) the other sending the money is credited (ie: its balance is decreased).  The transaction amount can be a small fraction of a coin, let's say down to one millionth.  A transaction will only proceed if the controlling software of both accounts have mutually successfully acknowledged that the machine and software of the other account is trustworthy and also that the account to be credited has a balance greater or equal than transaction amount. (Note: the two accounts may be on the same machine. eg, someone transferring their own money between their own accounts).  There is no need to record these transactions only the final balance of the two accounts matters, there is no external entity (either central or distributed) that needs to confirm the validity of the transactions.  

4) If a general transaction involves two accounts on different machines the software can use any secure network that connects them to negotiate the details, eg: from local connections like near-field to wide intercontinental TCP/IP connections.

That's it, that's the system in a nutshell!  A very simple, intuitive and efficient system.  Transactions in this system are truly anonymous, the transactions are settled immediately (ie: there is no delay involving p2p network confirmation), the general transactions have no fees/cost involved,the system is robust and has no single point of failure nor a single controlling entity.

On top of this system you can easily build other services such as an escrow services, banks, exchanges, etc.
 
So tell me what you think-- is bitcoin better or worse than this and why is it?



-----------------------------------------------------------------------------------------------------------------------


PS: At this point you may be asking, "Can we actually implement this?  Do the necessary technologies already exist?".  Well today we don't have the necessary infrastructure to deploy it, however it is quite believable that in the very near future (less than a couple of years) the required technology will be available and commonly deployed.  

Let's work through what technology we need for this and what we've currently got:

# Firstly regarding the technology required for installing and running the standard transaction software :  
What we need:
  -We need a base kernel that is trust worthy and widely deployed.
  -We need to be sure that the device boots the kernel securely in a tamper free way.
  -We need the device to assert that it is trustworthy to the software.
  -We need a way to securely distribute the software to the end users and a method to be able to securely install it.
  -We need the interacting instances of the software through the use of hardware/OS provided mechanisms to be able to attest to each other that they are trustworthy.
  -We need a way to securely store the accounts on the device and a way for devices to securely communicate over the network.

What we've got:  
  - We've half got these needs covered: for the case of the base kernel requirement we have the OKL4 kernel which is extremely trustworthy and widely deployed in mobiles (over a *billion* deployments).  As for the secure storage and networking requirements standard encryption techniques and protocols cover these.  Also, it is already common practice to securely distribute software over the internet. Unfortunately, solutions to cover the other requirements are currently quite lacking and the situation needs considerable improvement before we can safely deploy the currency.  However, it is not all that bad because these improvements are already under way--extremely secure booting and software attestation in mobiles are areas that are advancing very rapidly because phone manufacturers have recognised that rock solid digital rights management is a very pressing requirement generally.  Widely deployed solutions are only a matter of a year or two away.  (This currency is really nothing more than managing a digital right-- so the improvements currently in the pipeline for general digital rights management on mobiles lend themselves to the implementation of this currency.)

# Secondly regarding the requirements for the special initial bootstrap transactions:
What we need:
  -We need to be able to prevent the same person from multiple registrations with the system-- they should only be allowed to collect the 1000 coin reward once.
What we've got:
  -We can cover this requirement by implementing a p2p system similar to the way that bitcoin works by creating a network that validates that a given user has not already joined the system.  This would work by assigning each user exactly one unique global ID.  The nodes in this network would race to complete blocks containing new user IDs not already known to the network.  When the user wants to collect the 1000 coin trial incentive they ask the transaction software to give it them, the transaction software ask the p2p network if the userID associated with the user is already registered and if not then register ID.  Once the network has added the userID into the block chain and its been confirmed the transaction software rewards the user with 1000 coin minus a small processing fee that goes to the miner. Obviously if the userID is already registered the transaction software refuses the user's request for the reward.  
  While this p2p system is more than possible to deploy today it leads to the problem of how to associate a unique ID with a real person and how to prohibit that person from obtaining more than one ID.  This is a general problem that has plagued the internet for quite a while with no real leading solution.  We could base our solution to this on existing technology such as openID or a web-of-trust scheme, or we create a novel solution based on p2p and crowd sourcing*, or some combination of these technologies, etc.


* This is an rough outline of my ideas for a crowd sourced solution to problem of assigning a global unique ID to each user:
The system has three types of participants:
1) the client- who is person seeking a globally unique user ID so they can claim the 1000 coin reward,  
2) the ID provider- this is a trusted software service which establishes that the client is who they say they are and assigns the globally unique user ID to them,  
3) verifiers- who are the set of the people that actually decide that the client is who they say they are.  Anyone can on the internet can join-up to be a verifier.  When they join they state what sort of documents they are proficient at identifying.

For each possible nationality of a client there is type of document that is agreed upon across the system as a required document that must be provided as evidence in their claims of identity.  This document must have a unique ID amongst all the documents of that type and a person must only be able to obtain one of them.  eg: for most nationalities this would be a current passport of their country.

The process of assigning the client their ID runs as follows:
1: the client pays a small fee to the ID provider-- this is to pay for the verifiers' time and also for the cost of running the provider.  A competitive market amongst providers will determine this fee.  The client also lodges a bond in escrow with the ID provider which will be destroyed if the verifiers think the person is a fraud else it will be returned.  This bond should be a sizeable part of the reward, say 500 coins.  They could borrow these monies off a friend or may have already earned it by selling stuff.
They then fill out a web-form from the provider stating who they claim to be and what the type of documents will be produced as evidence and what the ID from the required document is.
2: the provider checks amongst its peers that the required document's unique ID has not already be registered with the system.  If it is it informs the client and returns the money else it proceeds.
3: the client uploads to the provider a short video they have created about themselves and shots of supporting documentation.  This video should have enough details to prove to the verifiers that there exists a person with certain credentials- such as name, address, etc., and that person is indeed the person in the video, and that there exists a genuine required document with the same ID as in the clients form and it is for the same person as the other documents.  eg: they first film themselves with photo ID documents of themselves such as drivers licence and any other identifying data they wish such as bills, birth-certificates, facebook, etc. this establishes that there is indeed a person with those credentials who exists and that person is the person in the video. They then do a detailed filming of the specific required document with its unique ID.  They have to film this with enough detail to prove that it describes the same person as the other documents and that the document is not a forgery  (eg: in the case of a passport they film the it overall, film the main page as well as close-ups of the visible anti-tamper features).
4: this video is then distributed to twenty randomly selected verifiers who are familiar with the types of documents provided.  The verifiers watch the video and decide-- a)there is not enough evidence to make a decision b)the evidence is good enough and they've decided that the person is a fraud or c)there's good evidence and the person matches it.  They inform the provider of their decision.
5: the provider collects the decisions- if +80% agree that the person is who they say they it gives them a global unique user ID, registers the required document ID with its peers and returns the bond; if +80% say that they are a fraud then it destroys the bond (it just subtracts the amount from its own account); otherwise it returns the bond.  The provider then pays verifiers.
6: On top of this basic verification process we add another mechanism-- the verifiers each deposits an amount equal to the verification payment prior to each round of verification.  After the decisions are in, those verifiers in the majority agreement receive the deposit of the other verifiers.   e.g.: if 45% voted fraud,  35% insufficient evidence and 20% voted genuine the fraud voters would win the deposits off the others.  This enforces self regulation of the verifiers, after a while certain standards will naturally develop as everyone tries to vote the same way for a given collection of evidence.  Also, the video can be sent out to inexperienced verifiers who can practice their verification skills against the pros-- these learners don't have to lodge coins to practice.  They get to see the final result from the real verifiers to compare how they going, once they're confident enough they may join in the real process.

You may see that there is a slight flaw with this above-- some people have multiple passports and nationalities so they could successfully be issued with multiple userIDs and claim the reward a few times.  Admittedly there is not much you can do about this-- personally I'm happy to ignore it and say "lucky them Smiley ".  You may have also noticed that you still need to bootstrap this process, ie. how does the very first person join the system-- you could hard-wire into the software that the very first account made is created with a 1000 coin opening balance and then use that to pay for the first bonds and fee of the verification system.

2  Bitcoin / Bitcoin Discussion / Estimating the rate of coin loss. on: April 29, 2011, 11:16:51 PM
I have been wondering what the annual rate of bitcoin loss would be assuming that bitcoin was the world's currency. 

I'm guessing that the largest contributing factor to the number of coins lost each year will be the loss due to people dying and leaving them behind their computers never to be used again. 

So I've internet searched and discovered that in the European Union the crude date rate is 10 per 1000 (ie: 1% of the population die each year), the USA is 8.2 per 1000 (0.82%),  China is 7.1 per 1000 (0.71%), Japan is 9.0 per 1000 (0.90%), India is 8.2 per 1000 (0.82%) and Russia is 16 per 1000 (1.6%)- my calculations give about 8.4 per 1000 (0.84%) as the date rate of the combined population of the world's largest economies.

However, the problem is likely to be a factor bigger than losing 0.84% of all personal cash holdings each year, because the people who die are more likely to have larger cash balances then those who don't die. This is because those past middle-age have an ever increasing chance of dying while at the same time these people hold more cash than those younger. Older people hold more cash because to a mature person with other assets a $500 cash holding is a relatively smaller amount and also less useful to them then someone who is 18 years old on an apprentice wage or someone who is 28 years old with 2 kids and paying off a mortgage. i.e. young people don't hoard cash or hold large amounts of working cash as older people do.

Now you may say that people dying is not a problem, they just have to keep someone informed about where there coins are.  However, I can't envision many people leaving instructions in a will or with a trusted person about their password and where they've stored their every-day-use bitcoins because the amount of cash involved is small compared to the total wealth of their assets and thus not worth mentioning.  Not only that, leaving instructions has the extra hassle of keeping them up-to-date each time you change your password or move the coins to store them on some other device.  (Similarly in the current state of affairs most people don't leave instructions in their wills about where they keep their physical wallets/purses). Where large stashes of cash are involved it is easily believed that the owner doesn't want anyone else to know since it reduces the risk of theft if no-one knows.  Furthermore, for the case of extremely large stashes it is likely to be the result of illegal activity and they would be very reluctant to tell anyone (this scenario is even worse because people who engage in such activities -eg. drug trafficking- have an increased chance of dying).

Of course, in addition to all the coins lost each year due to people dying there will be a very small percentage lost due to negligence and mishap.  eg. people forget passwords, accidentally delete wallet files, suffer hardware failures, etc. and not have a backup of the coins they have lost.

All up I would guess that at least a few percent (it would not surprise me much at if it was even as high as 5%) of the current year's coins will be lost each year.


I'm curious to know what members of this forum forecast the loss to be?


(PS: You could of course view this as a gift from the dying to the living-- the value of the coins that aren't lost should rise in value by at least this much).
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!