Hacker News new | ask | show | jobs
by joeblau 3090 days ago
Can someone help me understand.

If a block chain (or whatever you want to call your token of choice) doesn't have any fees, how is it different from just having a database. No fees mean that every transaction has the same value so there is no transaction prioriization other than time. This seems like a glorified eventually consistent database synchronization algorithm. In a fee based blockchain, I can pay more to get my transactions through before someone else.

Again... I'm not a PHD, nor am I even that smart so can someone break this down.

4 comments

The nodes are paid from "created coins", at the expense of everyone diluting. Could call it artificial inflation.

> This seems like a glorified eventually consistent database synchronization algorithm.

To some extend that is what a blockchain is. Also: immutable, no-need-to-trust-every-node, KV, and sometimes with the ability to perform smart contracts.

> In a fee based blockchain, I can pay more to get my transactions through before someone else.

Yes. Either way, as long as you tx comes through "quick enough"... :)

Ah okay thanks for helping. I guess in the case of RaiBlocks, since you're only transacting currency (not Turing complete smart contracts) there isn't really a need for fees to prevent the halting problem like you have with Ethereum.

I've made a list of tokens that I'm trying to categorize[1] so I think I've got RaiBlocks in the right place.

Is Bitcoin slightly over designed in how the fee structure is implemented for the problem it's solving?

[1] - https://cryptostream.com/token-utility/

In BTC land PoW = fee. In RaiBlocks they use it more like a Captcha before sending a transaction, effectively getting rid of Fees because it's just as useful anti-spam. (However, I think that fee transactions are actually quite important in a blockchain because you don't want nodes wasting resource adding and checking nonsense even if the captcha was computed.)
Where is it specified how much people get paid in created coins?
"RaiBlocks achieves consensus via a balance-weighted vote on conflicting transactions. This consensus system provides quicker, more deterministic transactions while still maintaining a strong, decentralized system. RaiBlocks continues this development and has positioned itself as one of the highest performing cryptocurrencies."

Which I would follow with more from the paper:

"H. Proof of Work All four transaction types have a work field that must be correctly populated. The work field allows the transaction creator to compute a nonce such that the hash of the nonce concatenated with the previous field in receive/send/change transactions or the account field in an open transaction is below a certain threshold value. Unlike Bitcoin, the PoW in RaiBlocks is simply used as an anti-spam tool, similar to Hashcash, and can be computed on the order of seconds [9]."

"B. Transaction Flooding A malicious entity could send many unnecessary but valid transactions between accounts under its control in an attempt to saturate the network. With no transaction fees they are able to continue this attack indefinitely. However, the PoW required for each transaction limits the transaction rate the malicious entity could generate without significantly investing in computational resources. Even under such an attack in an attempt to inflate the ledger, nodes that are not full historical nodes are able to prune old transactions from their chain; this clamps the storage usage from this type of attack for almost all users."

Blockchains (e.g. bitcoin) and block lattice (e.g. RaiBlocks) are two approaches to implementing distributed ledgers. A distributed ledger is a type of distributed database. This article from last year I think sums up nicely the distinction between a distributed ledger and a distributed database.

https://medium.com/@sbmeunier/blockchain-technology-a-very-s...

> Distributed Ledgers (DL) are DDBMS that leverage cryptography to provide a decentralized multi-version concurrency control mechanism and to maintain consensus about the existence and status of shared facts in trustless environments (i.e. when the participants hosting the shared database are independent actors that don’t trust each other). Consensus is not a unique feature of DL per se: other distributed databases also use consensus algorithms such as Paxos or Raft. Same for immutability: immutable databases exist outside DL (Google HDFS, Zebra, CouchDB, Datomic, etc.). The two differentiators of DL in my opinion: (a) the control of the read/write access is truly decentralized and not logically centralized as for other distributed databases, and corollary (b) the ability to secure transactions in competing environments, without trusted third parties.

> This seems like a glorified eventually consistent database synchronization algorithm.

It is a form of eventually consistent databases. One that also solves the problem of nefarious actors trying to cheat.

It's more like a tsunami of Running Balances vying for event horizon. I'm not sure how this is ever supposed to be "consistent" unless you're talking about full historical nodes, in which case yes definitely, but non historical nodes are able to prune transactions after a while. Still a lot to dig out of this gem of a paper, any error in interpretation is my own.
You are using the wrong unit. In a database a unit is a key. In a blockchain a unit is an address. It is entirely consistent from this point of view.