(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.
The nodes vote and the weighted majority (>51%) is taken as the real fork. The weight of a node's vote is the sum of the balances all accounts that have named that node as its representative.
The key thing here is that when a fork or missing block occurs, only the accounts referenced in the transaction are affected. The rest of the network proceeds with processing transactions for other accounts.
The voting mechanism is to wait for 4 voting periods (1 minute total) and keep a cumulative tally of incoming votes from the other representatives. The most popular block wins majority and is kept. The other block is discarded.
Refer to page 4 (bottom right) of the whitepaper: https://raiblocks.net/media/RaiBlocks_Whitepaper__English.pd...
As far as I am concerned, this is a great design (if you buy into proof-of-stake, which I do).
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?
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.
The main function of money is not transferring value. It's keeping track what society as a whole ows to whom. Transferring is just a secondary job. And there's absolutely no need to incentivize it. That's why some cultures used stuff like big rocks as money.
Money is a good money, when you don't want to part with it. And its crappy money, if everybody are just looking for a way to get rid of it.
All the speculative bubbles that we're seeing are caused by lack of real-money. People are trying to get rid of their fiat, and park the value anywhere else.
And it's not very productive when young famillies can't afford to live anywhere, because the houses are used as speculative investment and essentially.. money. It was actually much better when otherwise useless pet rock was taking a function of keeping track of debt in the society and inflated and deflated according to real market conditions.
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 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?
 - https://cryptostream.com/token-utility/
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 ."
"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."
> 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.