New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IETF RFC writeup of Trustchain #2087
Comments
@synctext just explained his intended scope to me: Up to and including the crawling protocol. I agree that this is a good idea and there is value to document the protocol in a rigid way. Feel free to poke me for input and/or proofreading. |
IETF cut-off dates: https://www.ietf.org/meeting/important-dates.html |
|
Table 3.1 on page 12 describes the current packet format. |
This is the true half block format. In the half blocks situation we need a value to indicate an unknown link sequence number on a request block, and since we use unsigned numbers we can't use -1 (and using 0xff...fff makes the logic slightly more complex). So I choose 0 for the invalid sequence number. This however means that sequence number for genesis blocks should be 1, not 0 as described in the rfc ascii art example above. |
ToDo for next meeting:
|
ToDo: new storyline and focus "transitive trust exchange protocol" for usability in 8-bit processors and hostile networks ? |
|
|
We need a storyline focused on identity wallets+key attestation (self-sovereign ID). Out of scope: generic transactions, checkpoints, also perhaps distributed PageRank for spam/DDoS... 2017-06-02 (Friday): Cut-off date for BOF proposal requests to Area Directors at UTC 23:59. To request a BOF, please see instructions on Requesting a BOF. Full procedure Oops:
|
correct, first part of doc would be BoF scheduling related: why and what. Second our solution plus protocol layout format. |
Could I please be unassigned from this issue, as I no longer intend to work on the RFC. |
Goal is to document in IETF format what our architecture is and our running code.
Copied from Padma IETF draft:
group on the basis that it enables and seemingly encourages
embedding identifiers for humans as addresses. Doing so
would have significant privacy downsides, would enable
new methods for censorship and discrimination```
|
@synctext while writing I'm faced with some issues I thought we discussed:
|
At the moment my revised idea for the outline is:
I included the first writeup of these sections. |
Revised structure and rewritten story, current status:
1-introduction.txt |
IPv8 storyline inspiration text; copied from the David Irvine, Maidsafe paper:
Perhaps call it:
design idea: our security model is based on the following security assumption; repeated interaction with a public key owner creates a web-of-trust. This form of opportunistic encryption (RFC7435) comes for free, offers protection most of the time, and optional strong public key validation is highly encouraged.
|
After re-structuring and re-writing a major portion of it, this is the latest version. |
@svanschooten please take a look at our technology stack/portfolio: |
Your TrustChain information seems to be a bit out-of-date. I also have some low-level information available in IPv8 about TrustChain: https://github.com/qstokkink/py-ipv8/blob/master/doc/trustchain.md Also, IPv8 does a lot of things. You should probably limit your scope to (1) using TrustChain to establish identity, (2) DHT-like peer discovery, (3) PKI and (4) peer-to-peer cryptographically signed messaging. |
@devos50 @qstokkink Thanks a lot! I guess I was swamped with the plethora of new info, and lost sight of my target. I will look into this tonight. Also, @qstokkink what do you mean exactly about being out of date? |
@svanschooten the current block format is the following: tribler/Tribler/community/trustchain/database.py Lines 124 to 146 in f0dc3b3
This uses generic transactions instead of the old bytes_up/bytes_down format. Serializing generic transactions is done by this file: https://github.com/Tribler/tribler/blob/devel/Tribler/Core/Utilities/encoding.py. The wire format for the block payload also fits this (256 bytes fixed + variable block):
|
Comments:
|
@synctext revised section 2:
|
I have revised a lot of the sections, but am still unclear how I should approach the IPv8 section. I don't think I know enough of how IPv8 works internally to create a clear explanation of how the PKI is organised or how peer identities are organised for DHT-ish discovery. |
Comments:
|
I have completed a (almost) complete rewrite of the draft after diving a bit deeper in IPv8. |
Quick scan... Becoming quite mature, nice.
The overview could use something more high-level. Feel free to adjust© this text:
|
@synctext Thanks for the quick reply! Will put it through a spellcheck this evening after a bit of rewriting. Any suggestions for the |
Having done another retouching and rewrite of some sections based on the feedback: trustchain-ietf-rfc-v5.txt Have not had a brilliant idea about renaming the |
And another round of rewriting and had an idea about renaming the |
Came up with something which has the ring of even less importance and validity: We might want to upload it officially at 14:00 today. |
In my opinion draft-pouwelse-trustchain-05.txt |
agreement-block? ToDo: Add decentral market layer.
Replace chapter 1 this with multi-page trust intro sent by email. Next meeting: upload to IETF.org ? Thesis brainstorm: channel editor, fake news, smartphone vloggers, "channel has 8005 votes, 0 fakes reports"; Scientific challenge: produce trustworthy metadata by using crowdsourcing, channel moderations and channel votes with trustchain PageRank-something. Clickbait thesis title: "Trustworthy metadata in the age of fake news". MvP: channel-vote setting (on/off): "ignore channel votes X hops away in Trustchain traffic graph". |
Done with quoting and references, introduction and sec. 1 from chp. 2 are reformatted. draft-pouwelse-trustchain-06.txt |
Faulty syncing and non-spellchecked version aside: draft-pouwelse-trustchain-07.txt |
Official IETF publication: https://datatracker.ietf.org/doc/draft-pouwelse-trustchain/?include_text=1 |
Interesting read! I spotted a few typos: |
Added a sub section under Trustchain Fabric: internal data structure in the RFC to include the double signature scheme to prevent double spending. 3.4. Double signature scheme
|
Extended the IETF standard with section draft-pouwelse-trustchain-08.txt |
Thnx Dan. Bumped version number and published at: https://datatracker.ietf.org/doc/draft-pouwelse-trustchain/ Decided to ignore these:
|
Extended the IETF standard with section draft-pouwelse-trustchain-01.txt |
@ichorid could you give section 4 of the IETFv1 (draft-pouwelse-trustchain-01.txt) a review, if/when you have time? |
Scalability related we should add at some point: OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding |
Easy to read definition: |
ONLINE: https://tools.ietf.org/id/draft-pouwelse-trustchain-01.htmlThis is now an expired Internet Draft and could use an update. That would be for a fresh Github issue, closing this one now. |
Goal: facilitate broader uptake of Multi-Chain
Approach: have a detailed, complete and accurate protocol description of Multi-Chain in IETF RFC format
Tribler team at Delft created before: https://datatracker.ietf.org/doc/rfc7574/
Example RFCs which mention currency, credit or gossip :
Team Multi-chain: @pimveldhuisen @pimotte @Captain-Coder
Side-affect: a nice thesis chapter.
The text was updated successfully, but these errors were encountered: