(Disclosure: I became interested in RAI on NYE and recently invested some money in it)
The RAI secret sauce is the "block lattice" design where each account is its own blockchain and you only need to care about the chains you want to do business with, unless you encounter conflicts. Conflicts are resolved by proof-of-stake voting. If you don't run a full node, you choose a representative to vote on your behalf.
Today I spent the afternoon playing around with a conceptual design in ClojureScript for a better desktop wallet: http://petrustheron.com/posts/xrb-wallet-concept/
From a contrarian investor point-of-view, RAIBlocks is interesting because it is at the juncture of a terrible wallet experience, a weird name, dubious exchanges (at least UI wise), an okay website - but an excellent whitepaper and a working protocol that's free to transact on.
If it scales, I predict it will do well. My biggest concern is C++ as an implementation language, compared to, say OCaml that is easier to verify. I also don't have a strong feel for the robustness of the conflict resolution mechanism. However, the author is proficient and the codebase is readable.
The closest DAG impl. AFAIC, is Hashgraph, based on supermajority consensus that counts transactions that were "strongly witnessed", but it is patented with no coin presently for sale.
And that period is over? So is a small handful of a few developers/early-adopters that are trying to sell off a currency that they already own in its entirety?
Okay.
Or in other words, just gets you a larger initial pool of astroturfers online.
We've had deflationary and gold backed currencies for thousands of years and it worked out fine for people who used them.
IOTA solves it with a centralized coordinator and claims to have decentralized solutions being planned. RaiBlocks is, in my opinion, more honest about its vulnerabilities and its progress in solving them (they say they're working on it). Since RaiBlocks has no centralized coordinator, it could come under attack as soon as a shorting market emerges for it.
Looking at the commit stats, it looks like almost all the work so far is by clemahieu. It'll be interesting to see if his codebase is solid enough to allow more contributors to easily hop in.
I thought their wiki page listing potential attacks was also pretty interesting: https://github.com/clemahieu/raiblocks/wiki/Attacks
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.
> 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"... :)
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?
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."
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.
It is a form of eventually consistent databases. One that also solves the problem of nefarious actors trying to cheat.
However this approach should be tempered by the fact that the Bitcoin whitepaper would score poorly on this metric.
Also IOTA and Rai aren't really competitors. So for the time being, I hold both.
Anyway, the lesson for me was too look past the hype just a little deeper. At the time raiblocks was an underdog, so I closed the slack and forgot about it. At the very least, I could have learned a little more about it.
Lately I've really been curious about pascalcoin's approach. Its blockchain is trimmed constantly, acting as a short term, working memory. Its supposed to be very fast. Unfortunately, it's written in pascal, which has very crusty tools! Someone should clone pascalcoin in another obscure but modern language with cross platform tools. I think it'd be a hit. Haskellcoin? That rhymes with Pascal coin and Haskell is cooler. Ocamlcoin? Doesn't rhyme but Ocaml is cool too.