-
Notifications
You must be signed in to change notification settings - Fork 19
Conversation
Get-Started.md
Outdated
- This tutorial will guide you from the very basics to real example of IPLD. | ||
- IPLD stands for the Inter Planetary Linked Data | ||
- When we get data from the internet, we know it comes from the right place, if the URL is https (some times not even! TODO: add symantec & fake certificates), but we don’t know if it was the data we intended to get! | ||
- The same problem is with links, we don’t know if a link is still linking to the right page |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same problem exists with links
Get-Started.md
Outdated
- When we get data from the internet, we know it comes from the right place, if the URL is https (some times not even! TODO: add symantec & fake certificates), but we don’t know if it was the data we intended to get! | ||
- The same problem is with links, we don’t know if a link is still linking to the right page | ||
- Finally, the general problem of the current web is that we trust the source to give us the right data, so other computers in the network cannot really help sharing the same data! | ||
- These 3 properties are secure linking, distributed naming and immutable content! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These 3 properties are secure linking, distributed naming, and immutable content!
Get-Started.md
Outdated
- Alright, this is a JSON object, which is also a valid IPLD object. | ||
|
||
### Naming things with hashes | ||
- In IPLD, we refer to objects with their cryptographic hash. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In IPLD, we refer to objects by their cryptographic hash.
Get-Started.md
Outdated
- The hash of object1 is XXXX (well, this is a multihash, read more here) | ||
- if we remove the dot from Mr, the hash is YYYY. | ||
- In IPLD cryptographic hashes ensure that the content cannot change. | ||
- If we ask to a network (like the ipfs network) for a hash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we query a network (like the ipfs network) for a hash
Get-Started.md
Outdated
- In IPLD cryptographic hashes ensure that the content cannot change. | ||
- If we ask to a network (like the ipfs network) for a hash | ||
- then, they cannot lie about the content that they are giving | ||
- since you can generate the hash of the content received and check if it is the same one to the one that you asked for! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since you can generate the hash of the content received and check if it is the same one as the one that you asked for!
Get-Started.md
Outdated
## Linking objects | ||
|
||
- What about secure linking? | ||
- Differently from standard JSON, we can link two objects by using a special keyword: “/“ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unlike standard JSON, we can link two objects by using a special keyword: “/“
Get-Started.md
Outdated
``` | ||
|
||
- Links are cryptographic hashes, we often call those merkle links (in reference to Merkle Tree) | ||
- Since we are using cryptographic hashes, then the links can only be one way (link to stackoverlow issue that mentions this) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we are using cryptographic hashes, the links can only be one way
Get-Started.md
Outdated
# Dive deep into IPLD | ||
- Let's move beyond toy examples and let's learn more about IPLD | ||
## Path scheme | ||
- An IPLD address is composed by a CID and a path. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An IPLD address is composed of a CID and a path.
Get-Started.md
Outdated
- A multihash is not just a hash: it is the hash prefixed by the hashing function and the length of the hash. In this way we can decide to what cryptographic hash function we want to hash the content. | ||
- A multicodec specifies the type of content we are addressing. | ||
- In the examples above we used IPLD+CBOR | ||
- Thanks for recent work in IPLD, we can address natively other type of content. For example, a format we recognize is an Ethereum block. So we can now content address an ethereum block and use our path scheme on it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks to recent work in IPLD, we can now address other types of content natively.
Hey nicola! thanks for writing this. I have in the past found it hard to keep up with ipld bikeshedding discussions that seem to obfuscate what ipld actually is. This was much easier to follow. I added some simple comments along the way of reading this that I thought made it sound clearer. Feel free to use or not. Cheers! |
@nginnever, thank you! I am sure in the minds of most of the guys behind IPFS is all still and clear, we just need to write it! Feel free to send that as a PR of the PR, or maybe @RichardLitt we should just get this posted and add a "work in progress note" |
Update Get-Started.md
Thank you @nginnever ! |
New website is now on this PR #30, closing this one. |
@diasdavid the content for the tutorial is still valid though! |
Tutorial for the get started, missing example and double check from the rest of the team