1 of 68

Data and IPFS Part 2: Transfer

Prompt:

  • Name
  • Team
  • How are you moving data around on IPFS today?
  • How would you LIKE to move data around?
  • What do you hope to get out of this morning?

2 of 68

Key Concepts

3 of 68

Incremental Verifiability

Minimize consequences of bad data

4 of 68

Query Planning

Planning how to split a large request into smaller requests, potentially to multiple parties, avoid duplicate data, and utilize local caches

5 of 68

Shared Data Model

What do both sides have to understand about the structure of the data being transferred. How

6 of 68

Server Concerns

What do we need to address to keep data moving, minimize resource consumption, and prevent DDOS attacks

7 of 68

Error Recovery

  • Dropped Connections
  • Missing or Partial Data
  • Race Conditions / Consistency Problems

8 of 68

GraphSync

A Love/Hate Story

What I learned writing the world’s most advanced (overly-complicated) IPLD transfer protocol

9 of 68

Interactive Talk! *

* These slides aren’t done

10 of 68

What Is GraphSync?

GraphSync is a Libp2p protocol that allows a requestor to express an IPLD selector query to a responder, who will execute the query locally and send to the requestor all unique blocks needed to satisfy the query. ��Responses are designed to allow requestors to incrementally verify incoming data against the query.

11 of 68

Bitswap (v1.2) Wire Format

Graphsync (v2) Wire Format

Many Requests In One Message?

Why are responses and blocks separate?

12 of 68

In 2019…

I saw an opportunity. ��Though technically I was summoned to a meeting.

13 of 68

Selectors

A language for expressing queries against an IPLD graph.

Some selectors:

  • ExploreFields (1+ keys in a map)
  • ExploreRecursive (Select, go to the next level, then do it again)
  • ExploreIndex
  • ExploreUnion (omg)�

14 of 68

UnixFSPathSelector("subfolder/lorem.txt")

OMG!�But also, DX

15 of 68

GraphSync Client

Selector Query Backed By Remote Database

16 of 68

GraphSync Server

Is A Web Server

17 of 68

Backpressure

Gate selector execution on network transmission

18 of 68

Message Queues

Redesign the protocol. Or feel the pain.

19 of 68

GraphSync Extensions

All the side data you care about

20 of 68

GraphSync Filters

  • DoNotSendCIDs
  • DoNotSendFirstBlocks

….

  • StartAtPath (?)
  • DoNotSendWithBloomFilter

21 of 68

Key Concept:

Incremental verification against asynchronous streams with deterministic order

22 of 68

23 of 68

Lessons

24 of 68

Be careful what you ask for

Graphsync works. It was hard. Plan for it.

25 of 68

“GraphSync

is Slow”

—Everyone

26 of 68

01

TARGET

SERVICES

COMPANY

02

03

Here you can describe the topic of the section

Here you can describe the topic of the section

Here you can describe the topic of the section

27 of 68

Better

01

You can enter a subtitle here if you need it

28 of 68

THE SLIDE TITLE GOES HERE!

Do you know what helps to make your point clear? Lists like this: one

  • They’re simple
  • You can organize your ideas clearly
  • You’ll never forget to buy milk!

And the most important thing: the audience won’t miss the point of your presentation

29 of 68

MAYBE YOU NEED TO DIVIDE THE CONTENT

MERCURY

VENUS

Mercury is the closest planet to the Sun and

the smallest one

Venus has a beautiful name and is the second planet from the Sun

30 of 68

YOU COULD USE THREE COLUMNS, WHY NOT?

JUPITER

VENUS

MARS

It’s a gas giant and the biggest planet in the Solar System

Venus has a very poisonous atmosphere

Despite being red, Mars is actually a cold place

31 of 68

AWESOME WORDS

Because key words are great for catching your audience’s attention

32 of 68

THIS IS A GRAPH!

To modify this graph, click on it, follow the link, change the data and paste the new graph here

Factor 1

Factor 2

33 of 68

INFOGRAPHICS MAKE YOUR IDEA UNDERSTANDABLE...

15%

20%

40%

25%

Factor 1

Factor 2

Factor 3

Factor 4

34 of 68

… AND THE SAME GOES FOR TABLES

MASS

DIAMETER

GRAVITY

MERCURY

0.06

0.38

0.38

MARS

0.11

0.53

0.38

SATURN

95.2

9.4

1.16

35 of 68

THIS IS A MAP!

Factor 1

Factor 2

36 of 68

A TIMELINE ALWAYS WORKS WELL

DAY 1

DAY 3

DAY 2

DAY 4

Earth is where we live on

Mars is a cold place

Jupiter is the biggest planet

Venus has a nice name

37 of 68

DO YOU PREFER THIS GRAPH?

To modify this graph, click on it, follow the link, change the data and replace it

Factor 1

Factor 2

38 of 68

300,000

Big numbers catch your audience’s attention

39 of 68

SOMETIMES, COMPARISONS ARE GOOD

CONCEPT 1

CONCEPT 2

  • You can define one of the concepts here
  • You can define one of the concepts here
  • You can define one of the concepts here
  • You can define one of the concepts here
  • You can define one of the concepts here
  • You can define one of the concepts here

40 of 68

DO YOU NEED FOUR COLUMNS?

MARS

MERCURY

JUPITER

VENUS

Despite being red, Mars is a cold place

Mercury is the closest planet to the Sun

It is the biggest planet in the Solar System

Venus has a beautiful name, but it’s hot

41 of 68

333,000

245,00

386,000

Mercury is the smallest planet

Jupiter is the biggest planet

Despite being red, Mars is cold

42 of 68

THESE ARE THE PERCENTAGES!

34%

48%

18%

Mars is a cold place

Mercury is the smallest planet

Jupiter is the biggest one

43 of 68

REVIEWING CONCEPTS IS A GOOD IDEA

VENUS

MARS

MERCURY

SATURN

NEPTUNE

JUPITER

Venus has a

beautiful name

Mars is actually a cold place

Mercury is the smallest planet

Saturn is the ringed one and a gas giant

It’s the farthest planet from the Sun

It’s a gas giant and the biggest one

44 of 68

A SUMMARY IS GOOD!

You can use bullet points to talk about the concepts. It is much more visual than a large text

  • You can write about a concept here and talk about it a little
  • You can write about a concept here and talk about it a little
  • You can write about a concept here and talk about it a little
  • You can write about a concept here and talk about it a little
  • You can write about a concept here and talk about it a little
  • You can write about a concept here and talk about it a little

45 of 68

WHAT THEY SAY ABOUT US?

—SARA BLACK, 19

—JOHN DOE, 31

—HELENA PATTERSON, 22

—WILL WHITMAN

“Mercury is the closest

planet to the Sun”

“Despite being red, Mars is actually a cold place”

“Jupiter is the biggest

planet of them all”

“Venus has a beautiful

name, but it’s hot”

46 of 68

DESKTOP SOFTWARE

You can replace the image on the screen with your own work. Just delete this one, add yours and center it properly

47 of 68

TABLET APP

You can replace the image on the screen with your own work. Just delete this one, add yours and center it properly

48 of 68

MOBILE WEB

You can replace the image on the screen with your own work. Just delete this one, add yours and center it properly

49 of 68

A GOOD WAY TO END THE PRESENTATION

Mercury is the closest planet to the Sun and the smallest one in the Solar System—it’s only a bit larger than the Moon

50 of 68

THANKS!

Do you have any questions?

addyouremail@freepik.com

+91 620 421 838

yourcompany.com

Please keep this slide for attribution.

CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik.

51 of 68

ALTERNATIVE RESOURCES

PHOTOS:

52 of 68

RESOURCES

Did you like the resources on this template? Get them for free at our other websites

VECTORS:

PHOTOS:

53 of 68

Instructions for use

In order to use this template, you must credit Slidesgo by keeping the Thanks slide.

You are allowed to:

- Modify this template.

- Use it for both personal and commercial projects.

You are not allowed to:

- Sublicense, sell or rent any of Slidesgo Content (or a modified version of Slidesgo Content).

- Distribute Slidesgo Content unless it has been expressly authorized by Slidesgo.

- Include Slidesgo Content in an online or offline database or file.

- Offer Slidesgo templates (or modified versions of Slidesgo templates) for download.

- Acquire the copyright of Slidesgo Content.

For more information about editing slides, please read our FAQs or visit Slidesgo School:

https://slidesgo.com/faqs and https://slidesgo.com/slidesgo-school

54 of 68

Fonts & colors used

This presentation has been made using the following fonts:

#85d5e6

#001633

#ffffff

#ffab40

55 of 68

Use our editable graphic resources...

You can easily resize these resources without losing quality. To change the color, just ungroup the resource and click on the object you want to change. Then, click on the paint bucket and select the color you want. Group the resource again when you’re done.

56 of 68

57 of 68

58 of 68

JANUARY

FEBRUARY

MARCH

APRIL

PHASE 1

Task 1

Task 2

JANUARY

FEBRUARY

MARCH

APRIL

MAY

JUNE

PHASE 1

PHASE 2

Task 1

Task 2

Task 1

Task 2

59 of 68

60 of 68

61 of 68

...and our sets of editable icons

You can resize these icons without losing quality.

You can change the stroke and fill color; just select the icon and click on the paint bucket/pen.

In Google Slides, you can also use Flaticon’s extension, allowing you to customize and add even more icons.

62 of 68

Educational Icons

Medical Icons

63 of 68

Business Icons

Teamwork Icons

64 of 68

Help & Support Icons

Avatar Icons

65 of 68

Creative Process Icons

Performing Arts Icons

66 of 68

Nature Icons

67 of 68

SEO & Marketing Icons

68 of 68