
Fluree DB – A scalable blockchain database - nwatson
https://flur.ee
======
wslh
Fundamental red flag: performance/speed metrics not available, it reads like
they have found a way to obtain better performance in a database + blockchain
software. To probe that they should base their claims on solid research.
Currently one of the best performant BFT software is BFT-SMaRt [1][2] which is
not scalable to many nodes without degrading the performance significantly.

If someone wants to claim a breakthrough it would be simpler to identify
current blockchain restrictions and show how they are improved. Once this is
clear we can only hope that the relatively few researchers in the field take a
look to see if there are obvious inconsistencies.

[1] [https://github.com/bft-smart/library](https://github.com/bft-
smart/library)

[2]
[http://repositorio.ul.pt/bitstream/10455/6897/1/TR-2013-07.p...](http://repositorio.ul.pt/bitstream/10455/6897/1/TR-2013-07.pdf)

------
manojlds
Isn't blockchain just a slow database in the first place. What do you mean by
blockchain meet database.

~~~
prepend
Having a multi-node database that syncs (even slowly) and handles merge
conflicts is useful in many applications.

Specifically, this is useful in global health situations where you have lots
of data collectors with tablets entering data that all has to eventually come
together. But has lots of offline/online changes and has an untrusted data
entry issue where you don’t want anything deleted.

~~~
he0001
How can it handle merge conflicts automatically?

~~~
prepend
I don’t need it to merge automatically, but storing them in a way that can be
reconciled later is necessary. In some situations merges could be automatic if
the records don’t have any conflicts.

------
shiado
[http://doyouneedablockchain.com/](http://doyouneedablockchain.com/)

~~~
prepend
Normally I like this flowchart, but the permanent record is useful even within
trusted parties. There aren’t many (any?) distributed databases with
permanence built-in. So getting that for free is nice to not have to build
yourself.

Especially self-hosted. If this allowed self hosted, it would be cool. Paying
them seems not very useful.

~~~
endymi0n
OMG, looks like „permanence“ is now to blockchainers what „web scale“ was to
MongoDB fanboys.

Now if you were so kind to explain to me what about modern, distributed
databases isn‘t „permanent“?

Permanence is the very definition of a database‘s job. If you really want to
make extra sure it‘s permanent, give write-only permissions to the DB user,
make backups and if you want to allow mutations, enable change data capture.

Now if there only was a way to short blockchain technology as a financial
asset...

~~~
prepend
What I mean by permanence is that you can’t delete. Databases typically allow
delete and mod and this is a big problem for me.

What is a more accurate term? I always used persist for writing to disk, like
databases do.

With the “workaround” you describe, although a big pain in the ass for lots of
nodes, still doesn’t work. How do you know that someone’s backup is correct?
Or how do you verify that a remote node didn’t write/delete/sync? There’s many
situations that make your idea fail that a blockchain would work.

Although, I agree that lots of “blockchain” solutions just need a decent
distributed cache since you don’t care much about integrity.

~~~
MichaelGG
Of course you can delete, just create a new DB and insert the records except
the ones you don't want.

If you want to have integrity control, you can use digital signatures without
blockchain.

If all you're trying to fix is making it hard to issue a DELETE statement,
then make it easier to set permissions. Which isn't really hard in any
mainstream database...

It seems like this is a log, which might work better, although existing RDBMS
already have high performance versioning/change tracking.

~~~
prepend
You can only delete up to the last point you synchronized. So once your record
gets onto any other node, then it becomes harder and harder with more nodes to
delete or change. Regardless of root/permissions/whatever.

Of course you can use signatures as you basically start recreating blockchain
at that point (eg, each transaction is signed and linked to the previous; then
connected with other nodes doing the same thing. A change to any segment would
be detectable, etc etc).

Basically, it is just a distributed log that removes any change for changing
data and the inability to set any permissions to remove data.

Maybe I’m being dense, but please let me know of any mainstream databases that
give this functionality without relying on permissions to insure integrity. If
an admin is able to change data, then that won’t work in my use case.

~~~
MichaelGG
Define "synchronized". If you already have a way for nodes to determine
something was valid as of a certain set of data and time, you've already
solved it.

------
jrq
Since one of these buzzword bingo projects are posted so often, can someone
explain what this does, and why I shouldn't just use datomic anyways?

~~~
Ihfhcub
It does absolutely nothing interesting. It's a broken database with a buzzword
attached

~~~
jrq
What do these projects hope to gain from pushing bad tech or broken ideas? Why
do so many founders WANT to bust a Theranos-esque move? Its nuts

~~~
manigandham
Money. Bad tech and broken ideas have never stopped businesses before and some
have become rather successful. Using blockchain hype along with access to
unregulated ICO markets just makes it easier.

------
jcousins
Epicenter podcast with the founders for those interested:
[https://epicenter.tv/episode/216/](https://epicenter.tv/episode/216/)

------
evanweaver
Seems more like a blockchain as a service like Chain's Sequence than an actual
database.

------
aboodman
IIIUC the fundemental datamodel here is a log of changes. A "query engine" is
layered on top to get reasonable query performance, but that amounts to
maintaining a materialized view for any data that might want to be queried.
Otherwise the blockchain itself is not practically queriable by itself.

~~~
KingMob
Sounds Datomic, but way less efficient.

------
prepend
Is my math right that a 1 gb database sitting there doing nothing is 1.4M
tokens per month (2/MB/hour). And tokens are $5/200k, so $35/month before you
do anything.

This seems pretty crazy. But I really need a blockchain db for the permanence.

~~~
manigandham
> But I really need a blockchain db for the permanence.

Do you really? What exactly is so permanent and who holds all the copies?

~~~
prepend
I explain it on the thread, but I have health records for disease outbreaks
where the version is very important never to delete. The copies end up being
stored amongst a few countries and Health partners. In some situations,
countries can’t be trusted to archive or not alter records as it could be
politically sensitive (eg, “maybe we just edit the db to say 10 cases of
disease X is really 10 cases of disease Y.”). Or prevent situations where one
site accidentally deletes some records, but not all, and it isn’t caught for
weeks later where there have been other adds and edits over the time. Figuring
out the restore was really hard. Being able to immediately detect changes
across all nodes is valuable.

~~~
f00_
maybe you'd be interested in opentimestamps or factom, they use the bitcoin
blockchain to timestamp documents

[https://petertodd.org/2016/opentimestamps-
announcement](https://petertodd.org/2016/opentimestamps-announcement)

------
filleokus
Somewhat related Ask HN-commenters: Are there any widely used append-only
DBMS's out there? Perhaps even with built in support for hash chains? I would
like to have basically a single node, non-POW, "blockchain" database. Or,
described differently, I guess, ≈≈ git for a database.

~~~
aboodman
[https://github.com/attic-labs/noms](https://github.com/attic-labs/noms) (full
disclosure: my project)

~~~
aboodman
(not widely used though)

------
shubidubi
i find it strange that none of the team members is an engineer

~~~
nwatson
Brian Platz, Fluree CEO, is an entrepreneur and engineer. I know Fluree's
written mostly in Clojure, and he wrote the core. (He worked out of the same
co-working space I'm in but recently the company graduated to their own
space.)

Brian Platz ([https://angel.co/brian-platz](https://angel.co/brian-platz))
also previously founded SilkRoad Technology (not _the other_ Silk Road), an HR
management solution (among perhaps other things) ...
[https://www.silkroad.com/](https://www.silkroad.com/). Many institutions use
Silk Road, e.g., the institution where my wife teaches, Wake Forest U ...
here's their Silk Road portal:
[https://wakejobs.silkroad.com/WFU/Employment_Listings.html](https://wakejobs.silkroad.com/WFU/Employment_Listings.html).

------
he0001
Immutable eh? What about GDPR?

~~~
alexchamberlain
I've not read too much into Fluree itself, but GDPR doesn't actually say you
have to actually delete data. You can cryptographically shred it, among a few
other options.

~~~
he0001
How do you cryptographically shred it in a immutable blockhain? And what are
the other options? It explicitly says you have to “erase the personal data”,
GDPR Chapt 3 Art. 17

~~~
nickpeterson
I think you would put the surrogate key in the block chain interactions, and
then have a side place where you store the encrypted gdpr data. Then you can
just overwrite the fields with null and keep the key.

~~~
warkdarrior
If you can overwrite the data fields, then it is no longer immutable, is it?

~~~
nickpeterson
There us no such thing as immutable data. The only constant is change. I'm
suggesting that in the modeling of the data structures in a system, you rely
only on the surrogate value and not the actual values. You're holding an
immutable key to mutable data, that can be altered, but isn't necessary to be
constant for the system to work. There is really no alternative, because laws
are making it increasingly likely that immutable data stores will not be
legally sound. Data stores like datomic have the notion of excision to handle
this. Blockchains may require immutability, but that simply means you
shouldn't put data in that must be removed by a court order.

------
marknadal
This sounds a lot like (full disclosure: mine)
[https://github.com/amark/gun](https://github.com/amark/gun) ? How do you
compare?

\- Except ours is Open Source (MIT/ZLIB/Apache2) and ranked #2 on GitHub in
Blockchain and Cryptography
[https://github.com/topics/blockchain](https://github.com/topics/blockchain)

\- Performance benchmarks are posted publicly
[https://github.com/amark/gun/wiki/100000-ops-sec-in-
IE6-on-2...](https://github.com/amark/gun/wiki/100000-ops-sec-in-IE6-on-2GB-
Atom-CPU)

\- It has been load tested doing 100M+ records/day for $10/total costs (CPU,
disk, backup)
[https://www.youtube.com/watch?v=x_WqBuEA7s8](https://www.youtube.com/watch?v=x_WqBuEA7s8)

\- Explains how consensus, CRDTs, and DAGs work
[http://gun.js.org/distributed/matters.html](http://gun.js.org/distributed/matters.html)

~~~
hobofan
Can you please stop spamming this every time a remotely related topic (which
apparently now also includes CRDTs and blockchain) is mentioned?

~~~
marknadal
GUN is a CRDT, you should know that if you've read my comments from years ago.

I get it, you don't like seeing Open Source (MIT/ZLIB/Apache2) posted about.
But that isn't my problem, others do, and I don't profit from it. In fact, it
takes a significant amount of my time to help provide free support to any the
~8K developers developers in our community. I'm not ashamed of this, nor do I
think it is spam. If I was selling a service or a product, sure. But that
isn't the case.

~~~
hobofan
> I get it, you don't like seeing Open Source (MIT/ZLIB/Apache2) posted about.

No you don't get it. I love hearing about such products - from the people who
love using it so much that they feel the need to spread the word around.
Submissions about project news are also great, because they can be separately
up/downvoted, and don't ride on the coattails of trending submissions. That
plus deceitful marketing tricks ("ranked #2 on Github" for a buzzword keyword
you picked out, doesn't mean shit) is clearly spam in my book.

> and I don't profit from it

Is it not true that you run a VC-funded company that is behind gun, as you
have claimed on other occasions? If it's VC-funded there probably is a profit
goal in the foreseeable timeline.

> ~8K developers in our community

Stars on Github doesn't translate to community members, especially if they are
gained by high-publicity actions, like posts on HN. This is meant as advice
coming from someone who made the mistake of seeing them equivalent in the
past. We got ~5k stars via HN for Leaf[0], and I know that only about 10-20
people tried to even use the library. Judging from the activity on the gun
repo, it does look to be a little bit better, but not by much.

[0]: [https://github.com/autumnai/leaf](https://github.com/autumnai/leaf)

~~~
marknadal
The fact that we get so much traffic and contributors to our community from HN
means that for every 1 person like you who is so disgruntled and disturbed by
other hackers talking about their Open Source projects, that there is a good
70 to 80 who appreciate it, get value from it, discover a new cool tool, and
wind up building projects and helping out.

Can you see, at all, from the other perspective? Maybe I annoy the living
daylights out of you, but can you also see how you come off as one of those
cliche "hater HN commentors"?

If you had 3 worlds to choose from, one where people openly talk about their
work which they give away for free to others, or a world where everybody tries
to censor, silence, and hate on others for being passionate about their Open
Source projects, or a world where, because everybody is so spiteful and nobody
is supportive, that everybody is forced to make their software proprietary and
charge for it. Which world would you want to be in?

VC funding is another indication/signal of the value I have created. And no,
they don't want me to do some stupid "open core" crippleware (like some of my
competitors do) or even convert the open source code from MIT/similar to a
terrible AGPL/similar license. They want me to create such a core component of
infrastructure that we become the defacto standard, like MySQL, Redhat, and
others have become.

So no. You have no basis to hate what we are doing, except for your own
frustration probably at hate others have given you. Don't pass that along, you
are better than that.

~~~
hobofan
My remarks have _nothing_ to do with the open source nature of your product.

> that there is a good 70 to 80 who appreciate it, get value from it, discover
> a new cool tool, and wind up building projects and helping out.

Then why do I always ever see you posting comments about gun, and not any of
those people?

I don't argue that HN isn't a place that can also be used for self-promotion,
but there is a right time and place for it: "Show HN", and when people
specifically post comments seeking out something like what you are building.

There are also mechanisms in place to prevent too much self-promotion, like
not being able to submit the same link twice. You know that, as you've also
"cleverly" figured out how to circumvent it and submit the gun Github repo >10
times.

