Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Couldn't we save a lot of energy and have a distributed stores of identities (public keys) with ledgers, something like a git repo per identity?

Whenever I want to spend money, I just commit a changelog to my repo, I want to transfer some credit to identity X, signed with my identity (private key). I sign the ledger with my private key and commit the entry to the distributed store. Push out the changes to anyone who will listen. If you want to forget my identity and transactions, you may, but if I'm credit worthy, my identity will probably be remembered and followed.

Github could remember a repo for each of us, but users of the network would want to mirror the repos, index the repos, and keep an eye out for modified histories.

I imagine there are likely problem(s) with the idea, can someone explain the problem?



The problem is, where do your coins come from? Who or what is allowed to bring coins into existence and what prevents them from just creating as many as they like? The second problem is, how do you resolve conflicting transactions spending the same coins?


There wouldn't be any coins, instead double entry accounting I (pubkey:ae32...) owe (pubkey:af41...) 10 US dollars. Medium of exchange is agreed upon by the two parties, USD is one option.

If you're my friend or a business, and you see my balance is deeply negative, maybe you don't give some service.

If your my friend or a business, and my credit is not too bad, you follow my repo and give me some service. You commit a change that says, (pubkey:ae32...) paid (pubkey:af41...) 10 US dollars and reference my repo and commit.

I don't think there could be double spending because the receiver of the money acknowledges the credit offer on record (the git repo that paid).

If there are identities and entries in my ledger that are questionable, maybe you don't count them. For example, you might say credit only counts from those identities that are willing to answer a two-factor sms challenge. Or, if my git repo is credited by a google account, that's something worthwhile that could count toward my balance.


So the entire thing starts with everyone having a balance of zero. Then A signs a transaction that he gives $1000 to B and we broadcast that transaction, new balances A $-1000, B $+1000. Now B wants to buy something for $500 from C and signs a matching transaction. What does C do? Is A a bank that provided a $1000 loan and therefore C will be able to actually get $500 from A? Or are A and B one and the same poor guy who just created two keys and invented $1000 out of thin air?

Maybe I am missing something but I have no idea how that could ever work unless this is essentially just the current banking system were I know that A is a trustworthy bank and I will be able to redeem your $500 check. Augmented with the anti-feature that we are now all broadcasting our balances and all our transactions to everyone.


The important part is A signed over to B $1000. B and C may be the same person. B wanting to do business as C.

If A, B and C are all the same person and there wasn't an identity attached to any account, outsiders wouldn't value the record much, especially if they were transactions of significant value.

C could redeem the value with Western Union (or similar agent). They might say you have to agree to sign the closure of the account to no longer modify the balance of the account. They'd basically be like a collections agency, buying debt.

You'd be able to have similar plausible deniability as Bitcoin. Coinbase sees the transaction flows and the ledger is public. You could do business as a pseudo identity ( Do business as C, if you're B )


Thing is, why would Western Union want to buy the debt unless they knew who A is and if they have any hope of collecting from them? This would probably only work if A was a known entity, and generally trusted to have the money they signed over. But if they are, why do we need Western Union at all? Just have C go to A to ask for the money. And if A is an publicly-known entity that exchanges signed amounts for the underlying currency, they're essentially an Exchange.

Combining this, you essentially get GNU Taler: https://taler.net/

No proof-of-work, just a way for people to get digital money (representing USD, gold, or anything else) issued by A (Exchanges). And rather than regular signatories they use blind ones, so that A doesn't even know that B spent its coins on C.


> If A, B and C are all the same person and there wasn't an identity attached to any account, outsiders wouldn't value the record much, especially if they were transactions of significant value.

Right. The only way B "really" has a balance of $1000 is if A is some established, trustworthy entity - e.g. an actual bank. And trustworthy entities that offer service to anonymous people don't stay trustworthy for long.


"similar plausible deniability as Bitcoin" - not very much, then.


"There wouldn't be any coins"

"USD is one option"

And now you have no restriction on the money supply.. USD is coins.


Use something else if you prefer, gold or you could even sit atop bitcoin if parties find that more agreeable to transact in.

If I say I owe bitcoin, that's a transaction where I cash into bitcoin and then resolve my debt via bitcoin, but do I want my debt in bitcoin, maybe, but the value does vary more than USD.

A credit agency might not care if you improve your credit (by paying or resolving debts) in bitcoin, or may also give the option of cash or some other cheaper transaction form.


No because it’s not an identity problem: both transactions are posted by the legitimate owner of the keys.

Modified histories are not that simple to deal with, because network propagation times mean that I can broadcast two different transactions to different parts of the network and base the attack on the ensuing race to reach consensus.


That's kind of how NANO (previously Raiblocks) works. One ledger per address.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: