Author

Topic: Blockchain with "account-based" transactions (Read 926 times)

legendary
Activity: 980
Merit: 1008
August 30, 2016, 03:33:56 AM
#6
I just realized I made a mistake. This wouldn't enable clearing payment channel payments from multiple clients into one Bitcoin transaction. Only payments to the same address/script can save space in the redeeming transaction. And distinct payment channels have distinct scripts, of course (duh). This makes it a lot less interesting for me.
legendary
Activity: 980
Merit: 1008
If your distributed database doesn't store all the transactions that have occurred...

Then how can anyone verify that the balance at an account is valid?
It's not that transactions aren't stored in the blockchain (they still are), it's just that they no longer reference other transactions in the blockchain, but rather they reference accounts (unique output scripts) in the UTXO set. When we parse the blockchain, we need to keep a UTXO set anyway, because an outpoint can only be redeemed once. This means we need to maintain a UTXO set in any case, and if transactions referenced this directly we could save space.

So only transaction inputs would change, nothing else.

EDIT: I've changed the title of the post to better reflect the above explanation, as I see how your doubt can arise when I say that the blockchain is "account-based" (it's the transactions, in the blockchain, that are account-based, so to speak).
legendary
Activity: 1260
Merit: 1168
Ideas?

If your distributed database doesn't store all the transactions that have occurred...

Then how can anyone verify that the balance at an account is valid?

Lets say you have a blockchain that says that account 1d2f3... has a balance of 2 BTC
Lets say that I have a blockchain that says that account 1d2f3... has a balance of 10 BTC

Which is the "correct" balance?  How would we decide?

Actually, cryptonite's Mini-Blockchain scheme does exactly that: http://cryptonite.info
What it does is basically keep a account balances ledger (in form of a second blockchain) storing the correct account balances and thus allowing to prune past transaction data.

This example here

Quote
Lets say you have a blockchain that says that account 1d2f3... has a balance of 2 BTC
Lets say that I have a blockchain that says that account 1d2f3... has a balance of 10 BTC

is impossible if a consensus is formed after let's say 6 confirmations through a proof of work function. (Note, the account balance blockchain may use the same POW as the regular blockchain does). Your example is as impossible as if a merchant thinks that account 1d2f3 payed him 2 BTC (and confirmed 6 times) while a different merchant thinks he got the very same 2 BTC as well. (also with 6 confirmations) Wink
legendary
Activity: 3388
Merit: 4615
Ideas?

If your distributed database doesn't store all the transactions that have occurred...

Then how can anyone verify that the balance at an account is valid?

Lets say you have a blockchain that says that account 1d2f3... has a balance of 2 BTC
Lets say that I have a blockchain that says that account 1d2f3... has a balance of 10 BTC

Which is the "correct" balance?  How would we decide?
staff
Activity: 3374
Merit: 6530
Just writing some code
legendary
Activity: 980
Merit: 1008
Jump to: