federatedbookkeeping / federatedbookkeeping.org

A website about Federated Bookkeeping
0 stars 1 forks source link

Facts, Statements, Messages, and Records #2

Open michielbdejong opened 3 years ago

michielbdejong commented 3 years ago

In World Ledger Gossip, we care about facts (e.g. Alice clicked the button), statements (e.g. Bob says Alice clicked the button), and records (e.g. Charlie's device holds a record of Bob's signed statement about Alice).

In linked data, a triple is a fact, a quad is a statement, and a quad store is a record. What linked data is not very good at is moving, trusting, copying, and checking data. So we need an extra layer there.

W3C-VCs are useful for the following scenario: Alice knows Bob said he would lend her money. But now she wants to convince Charlie that this is the case. Charlie trusts Bob but not Alice. So Alice shows Charlie a W3C-VC from Bob. That's why we do want to use signatures for World Ledger Gossip, probably.

michielbdejong commented 3 years ago

So basically SNAP is not good enough, because it combines fact (Alice decided to give Bob money, Bob accepts) with statement (Alice tells Bob so, Bob tells Alice so) into the same message; sending the PROPOSE message or the ACCEPT message is both a speech act and a statement. You can't gossip about it within SNAP.

Of course it's fine if a bilateral ledger is maintained using SNAP, but it's not enough for Federated Bookkeeping.

So should all records in a bookkeeping system be of signed statements? Maybe there can be three levels:

michielbdejong commented 3 years ago

So the four levels would be FSMR: Fact, Statement, Message, Record. Even if you just propose a transfer in a bilateral ledger, you could create a Fact record of that on your own HalfLedger, sign that in a Statement, send it in a Message, and create a Record a message log entry saying you sent it.

In federated data, it's not enough to store the facts. You also need to store who made the statements, then send those in messages, and record logs about those messages.