IPVM: Seamless Services for an Open World

A presentation at StrangeLoop in September 2023 in St. Louis, MO, USA by Brooklyn Zelenka

Slide 1

Slide 1

IPVM Seamless Services β€”For an Open Worldβ€” 🌈 Light Cones, User Agency, & Connecting Everything 🧩 github.com/ipvm-wg fission.codes

Slide 2

Slide 2

Seamless Services for an Open World

Slide 3

Slide 3

Seamless Services for an Open World We cannot sow seeds with clenched fists. To sow we must open our hands. – Adolfo Perez Esquivel

Slide 4

Slide 4

Seamless Services for an Open World

Slide 5

Slide 5

Seamless Services for an Open World Jesper, I have this idea in which we’ll connect all of the worlds Erlang systems to each other, imagine if every process could talk to every other process, world-wide! – Joe Armstrong, email to Jesper L. Andersen

Slide 6

Slide 6

Seamless Services for an Open World Brooklyn Zelenka @expede

Slide 7

Slide 7

Seamless Services for an Open World Brooklyn Zelenka @expede github.com/expede

Slide 8

Slide 8

Seamless Services for an Open World Brooklyn Zelenka @expede Cofounder & CTO at Fission Codes https://fission.codes PLT and DSys are my jam 🀘 Witchcraft, UCAN, WNFS, Rhizome, Multiformats, EIPs, &c github.com/expede

Slide 9

Slide 9

Seamless Services for an Open World Brooklyn Zelenka @expede Cofounder & CTO at Fission Codes https://fission.codes github.com/expede PLT and DSys are my jam 🀘 Witchcraft, UCAN, WNFS, Rhizome, Multiformats, EIPs, &c πŸ¦€ Rust IPVM implementation (mainly) by Zeeshan Lakhani Joint work with Protocol Labs, Expanso, and others github.com/zeeshanlakhani

Slide 10

Slide 10

Seamless Services for an Open World Rolling Weight

Slide 11

Slide 11

Seamless Services for an Open World Rolling Weight Other 35% IBM 4% Alibaba 4% Google 9% AWS 32% Azure 17%

Slide 12

Slide 12

Seamless Services for an Open World Rolling Weight Other 35% IBM 4% Alibaba 4% Google 9% AWS 32% Azure 17%

Slide 13

Slide 13

Seamless Services for an Open World Rolling Weight Other 35% IBM 4% Alibaba 4% Google 9% AWS 32% Azure 17%

Slide 14

Slide 14

Seamless Services for an Open World Rolling Weight Other 35% IBM 4% Alibaba 4% Google 9% AWS 32% Azure 17%

Slide 15

Slide 15

Seamless Services for an Open World Rolling Weight Other 35% IBM 4% Alibaba 4% Google 9% AWS 32% Azure 17%

Slide 16

Slide 16

Seamless Services for an Open World Everything, Everywhere, All At Once

Slide 17

Slide 17

Seamless Services for an Open World Everything, Everywhere, All At Once Nothing less than connecting all of the world’s users & services. The β€œHTTP” storage and compute equivalent: open, interoperable, & everywhere. Must be substantially better than the status quo.

Slide 18

Slide 18

Seamless Services for an Open World Dependency Stack

Slide 19

Slide 19

Seamless Services for an Open World Dependency Stack Compute βš™

Slide 20

Slide 20

Seamless Services for an Open World Dependency Stack Compute βš™ Data πŸ’Ύ

Slide 21

Slide 21

Seamless Services for an Open World Dependency Stack Compute βš™ Data πŸ’Ύ Auth 🎟

Slide 22

Slide 22

Slide 23

Slide 23

β€” A Series of Very Reasonable Steps β€” How We Got Here

Slide 24

Slide 24

How We Got Here One-to-One

Slide 25

Slide 25

How We Got Here One-to-One πŸ’ πŸ–₯

Slide 26

Slide 26

How We Got Here One-to-One πŸ’ πŸ–₯ 🐒

Slide 27

Slide 27

How We Got Here One-to-One πŸ’ πŸ–₯ 🐒 πŸ—ƒ

Slide 28

Slide 28

How We Got Here One-to-One πŸ’ πŸ–₯ 🐒 βš™ πŸ—ƒ

Slide 29

Slide 29

How We Got Here One-to-One πŸ’ πŸ–₯ 🐒 βš™ πŸ’ͺ πŸ—ƒ

Slide 30

Slide 30

How We Got Here One-to-One πŸ’ πŸ–₯ 🐒 βš™ πŸ’ͺ πŸ—ƒ

Slide 31

Slide 31

How We Got Here One-to-One πŸ’ πŸ’ πŸ’ πŸ–₯ 🐒 πŸ–₯ 🐒 πŸ–₯ 🐒 βš™ πŸ’ͺ πŸ—ƒ

Slide 32

Slide 32

How We Got Here One-to-One πŸ’ πŸ’ πŸ’ πŸ–₯ 🐒 πŸ–₯ 🐒 πŸ–₯ 🐒 βš™ πŸ’ͺ πŸ” πŸ—ƒ

Slide 33

Slide 33

How We Got Here Hidden Many-to-Many πŸ’ πŸ’ πŸ’ πŸ–₯ πŸ–₯ πŸ–₯ πŸ™ βš™ βš™ βš™ πŸ” πŸ” πŸ” πŸ—ƒ πŸ—ƒ πŸ—ƒ

Slide 34

Slide 34

How We Got Here Invisible Many-to-Many πŸ’ πŸ’ πŸ’ πŸ–₯ πŸ–₯ πŸ–₯ πŸ™ βš™ βš™ βš™ πŸ” πŸ” πŸ” πŸ—ƒ πŸ—ƒ πŸ—ƒ

Slide 35

Slide 35

How We Got Here Invisible Many-to-Many πŸ’ πŸ’ πŸ’ πŸ–₯ πŸ–₯ πŸ–₯ βš™ πŸ—ƒ πŸ” πŸ™ βš™ πŸ—ƒ β€œCloud” πŸ” βš™ πŸ—ƒ ☁ πŸ”

Slide 36

Slide 36

How We Got Here Abstract Many-to-Many πŸ’ πŸ’ πŸ’ πŸ–₯ πŸ–₯ πŸ–₯ βš™ πŸ—ƒ πŸ” πŸ™ βš™ πŸ—ƒ β€œServerless” πŸ” πŸ—ƒ (AKA more βš™servers) 🌩 πŸ”

Slide 37

Slide 37

How We Got Here …and so it was for many years…

Slide 38

Slide 38

How We Got Here …and so it was for many years… πŸ¦–β˜„πŸŒ‹πŸŒΎπŸ°πŸ’πŸš€

Slide 39

Slide 39

How We Got Here Consequences πŸ‚

Slide 40

Slide 40

How We Got Here Consequences πŸ‚ β€’ Single source of truth (β€œthe” database)

Slide 41

Slide 41

How We Got Here Consequences πŸ‚ β€’ Single source of truth (β€œthe” database) β€’ Server-centric β€’ β€œFull stack development” β€’ DevOps, Docker, k8s, IaC β€’ How to train enough engineers?

Slide 42

Slide 42

How We Got Here Consequences πŸ‚ β€’ Single source of truth (β€œthe” database) β€’ Server-centric β€’ β€œFull stack development” β€’ DevOps, Docker, k8s, IaC β€’ How to train enough engineers?

Slide 43

Slide 43

How We Got Here Random Walk Image by Pradyumna Yadav

Slide 44

Slide 44

How We Got Here Random Walk Image by Pradyumna Yadav

Slide 45

Slide 45

How We Got Here Random Walk πŸ˜„ Image by Pradyumna Yadav

Slide 46

Slide 46

How We Got Here Random Walk πŸ˜„ 😭 Image by Pradyumna Yadav

Slide 47

Slide 47

How We Got Here Random Walk 🧐 πŸ˜„ 😭 Image by Pradyumna Yadav

Slide 48

Slide 48

How We Got Here Random Walk 😍 🧐 πŸ˜„ 😭 Image by Pradyumna Yadav

Slide 49

Slide 49

How We Got Here

Slide 50

Slide 50

How We Got Here Not to be bound by certain β€˜obvious’ methodological rules […] is both reasonable and absolutely necessary for the growth of knowledge. […] There are always circumstances when it is advisable not only to ignore the rule, but to adopt its opposite. – Paul Feyerabend, Against Method

Slide 51

Slide 51

How We Got Here Not to be bound by certain β€˜obvious’ methodological rules […] is both reasonable and absolutely necessary for the growth of knowledge. […] There are always circumstances when it is advisable not only to ignore the rule, but to adopt its opposite. – Paul Feyerabend, Against Method

Slide 52

Slide 52

Slide 53

Slide 53

β€” We’re Not On Dial-Up Anymore β€” A New Environment

Slide 54

Slide 54

A New Environment Sending a β€œDirect” Message

Slide 55

Slide 55

A New Environment Sending a β€œDirect” Message

Slide 56

Slide 56

A New Environment Sending a β€œDirect” Message

Slide 57

Slide 57

A New Environment Sending a β€œDirect” Message β³πŸ”‹πŸ›’πŸͺ 

Slide 58

Slide 58

A New Environment Users vs Cloud Infra Source: AWS

Slide 59

Slide 59

A New Environment Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 60

Slide 60

A New Environment Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 61

Slide 61

A New Environment Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 62

Slide 62

A New Environment Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 63

Slide 63

A New Environment Users vs Cloud Infra 6 7 2 6 50M 1 1 1 1 Source: AWS

Slide 64

Slide 64

A New Environment Users vs Cloud Infra 371 million 56M/centre 6 7 2 6 50M 1 1 1 1 Source: AWS

Slide 65

Slide 65

A New Environment Users vs Cloud Infra 371 million 56M/centre 6 7 2 6 50M 1 1 ~435 million 435M/centre 1 1 Source: AWS

Slide 66

Slide 66

A New Environment Users vs Cloud Infra 371 million 56M/centre 6 7 2 6 50M 1 1 ~435 million 435M/centre 1 ~1.4 billion 1400M/centre 1 Source: AWS

Slide 67

Slide 67

A New Environment Data Gravity Aggregated Data

Slide 68

Slide 68

A New Environment What 8ms Looks Like

Slide 69

Slide 69

A New Environment What 8ms Looks Like St. Louis ➑ Havana Ideal Vacuum πŸ’«

Slide 70

Slide 70

A New Environment What 8ms Looks Like St. Louis ➑ Havana Ideal Vacuum πŸ’« St. Louis πŸ” NYC Ideal Vacuum πŸ’«

Slide 71

Slide 71

A New Environment What 8ms Looks Like St. Louis ➑ Havana Ideal Vacuum πŸ’« St. Louis πŸ” NYC Ideal Vacuum πŸ’« St. Louis πŸ” Detroit Ideal Fibre 🧢

Slide 72

Slide 72

A New Environment Causal Islands πŸ–πŸ

Slide 73

Slide 73

A New Environment Causal Islands πŸ–πŸ

Slide 74

Slide 74

A New Environment Causal Islands πŸ–πŸ

Slide 75

Slide 75

A New Environment Causal Islands πŸ–πŸ

Slide 76

Slide 76

A New Environment Causal Islands πŸ–πŸ

Slide 77

Slide 77

A New Environment Causal Islands πŸ–πŸ

Slide 78

Slide 78

A New Environment Causal Islands πŸ–πŸ

Slide 79

Slide 79

A New Environment

Slide 80

Slide 80

A New Environment As we continue to increase the number of globally connected devices, we must embrace a design that considers every single member in the system as the primary site for the data that it is generates. It is completely impractical that we can look at a single, or a small number, of globally distributed data centers as the primary site for all global information that we desire to perform computations with. – Meiklejohn, A Certain Tendency Of The Database Community

Slide 81

Slide 81

A New Environment Everything, Everywhere

Slide 82

Slide 82

A New Environment Everything, Everywhere Commons Cloud & Edge Far Edge

Slide 83

Slide 83

A New Environment Everything, Everywhere Commons Cloud & Edge Far Edge

Slide 84

Slide 84

A New Environment Everything, Everywhere Commons Cloud & Edge Far Edge

Slide 85

Slide 85

A New Environment

Slide 86

Slide 86

Slide 87

Slide 87

β€” Getting Back to Our Roots β€” Networks for Good

Slide 88

Slide 88

Networks for Good Back to Our Roots

Slide 89

Slide 89

Networks for Good Back to Our Roots 1. Decentralisation 2. Non-discrimination 3. Bottom-up Design 4. Universality 5. Consensus – The Web Foundation, History of the Web

Slide 90

Slide 90

Networks for Good Back to Our Roots 1. Decentralisation 2. Non-discrimination 3. Bottom-up Design 4. Universality 5. Consensus en.wikipedia.org/wiki/OSI_model – The Web Foundation, History of the Web

Slide 91

Slide 91

Networks for Good Back to Our Roots 1. Decentralisation 2. Non-discrimination 3. Bottom-up Design 4. Universality 5. Consensus en.wikipedia.org/wiki/OSI_model – The Web Foundation, History of the Web

Slide 92

Slide 92

Networks for Good Back to Our Roots 1. Decentralisation 2. Non-discrimination 3. Bottom-up Design 4. Universality 5. Consensus en.wikipedia.org/wiki/OSI_model – The Web Foundation, History of the Web

Slide 93

Slide 93

Networks for Good User Agency β€’ Entry: Empower users to participate β€’ Exit: Option to move or leave β€’ Safety: Control access to your data β€’ Serve: Provide capacity to others

Slide 94

Slide 94

Signs of a Way Out Emerging Definitions

Slide 95

Slide 95

Signs of a Way Out ACL Redux

Slide 96

Slide 96

Signs of a Way Out ACL Redux πŸ§‘πŸŒΎ

Slide 97

Slide 97

Signs of a Way Out ACL Redux πŸ§‘πŸŒΎ βš™

Slide 98

Slide 98

Signs of a Way Out ACL Redux πŸ§‘πŸŒΎ πŸ’‚ βœ‹ βš™

Slide 99

Slide 99

Signs of a Way Out ACL Redux πŸ§‘πŸŒΎ πŸ“‘ πŸ’‚ βœ‹ βš™

Slide 100

Slide 100

Signs of a Way Out ACL Redux πŸ§‘πŸŒΎ πŸ“‘ πŸ’‚ βœ‹ βš™

Slide 101

Slide 101

Signs of a Way Out ACL Redux πŸ§‘πŸŒΎ πŸ“‘ πŸ’‚ βœ‹ βš™

Slide 102

Slide 102

Signs of a Way Out ACL Redux πŸ§‘πŸŒΎ πŸ“‘ πŸ’‚ βœ‹ Not in control βš™

Slide 103

Slide 103

Signs of a Way Out ACL Redux πŸ“‘ In control πŸ§‘πŸŒΎ πŸ’‚ βœ‹ Not in control βš™

Slide 104

Slide 104

Signs of a Way Out ACL Redux πŸ“‘ πŸ’‚ βœ‹ In control πŸ§‘πŸŒΎ πŸ’‚ βœ‹ Not in control βš™

Slide 105

Slide 105

Signs of a Way Out Capabilities

Slide 106

Slide 106

Signs of a Way Out Capabilities πŸ•΅

Slide 107

Slide 107

Signs of a Way Out Capabilities πŸ•΅ βš™

Slide 108

Slide 108

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr βš™

Slide 109

Slide 109

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr 🎟 βš™

Slide 110

Slide 110

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr In control 🎟 βš™

Slide 111

Slide 111

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr In control 🎟 βš™ All req info

Slide 112

Slide 112

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr 🎟 βš™

Slide 113

Slide 113

Signs of a Way Out Capabilities πŸ•΅ 🎟 πŸ—Ί 🎟 🎟 Addr βš™

Slide 114

Slide 114

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr 🎟 βš™

Slide 115

Slide 115

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr πŸ‘¨πŸŽ¨ 🎟 βš™

Slide 116

Slide 116

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr 🎟 🎟 πŸ‘¨πŸŽ¨ βš™

Slide 117

Slide 117

Signs of a Way Out Capabilities πŸ•΅ πŸ—Ί Addr 🎟 🎟 πŸ‘¨πŸŽ¨ βš™ 🎟

Slide 118

Slide 118

Signs of a Way Out OAuth Sequence

Slide 119

Slide 119

Signs of a Way Out OAuth Sequence

Slide 120

Slide 120

Signs of a Way Out OAuth Sequence

Slide 121

Slide 121

Signs of a Way Out OAuth Sequence

Slide 122

Slide 122

Signs of a Way Out UCAN Sequence πŸ•™

Slide 123

Slide 123

Signs of a Way Out UCAN Sequence πŸ•™

Slide 124

Slide 124

Signs of a Way Out UCAN Sequence πŸ•™

Slide 125

Slide 125

Signs of a Way Out UCAN Sequence πŸ•™

Slide 126

Slide 126

Signs of a Way Out

Slide 127

Slide 127

Signs of a Way Out Disorderly Programming πŸ€– βš™ πŸ‘¨πŸ’» βš™ πŸ‘¨πŸ’» πŸ‘©πŸ’» πŸ€–

Slide 128

Slide 128

Signs of a Way Out Disorderly Programming πŸ€– βš™ πŸ‘¨πŸ’» βš™ πŸ‘¨πŸ’» πŸ‘©πŸ’» πŸ€–

Slide 129

Slide 129

Signs of a Way Out Don’t Make Me Think

Slide 130

Slide 130

Signs of a Way Out Don’t Make Me Think πŸ‘©πŸ’» πŸ“±

Slide 131

Slide 131

Signs of a Way Out Don’t Make Me Think πŸ‘©πŸ’» πŸ“±

Slide 132

Slide 132

Signs of a Way Out Don’t Make Me Think πŸ‘©πŸ’» πŸ“± βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™

Slide 133

Slide 133

Signs of a Way Out Don’t Make Me Think πŸ‘©πŸ’» πŸ“± βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™

Slide 134

Slide 134

Signs of a Way Out Don’t Make Me Think πŸ‘©πŸ’» πŸ“± βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™

Slide 135

Slide 135

Signs of a Way Out Don’t Make Me Think πŸ‘©πŸ’» πŸ“± βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™ βš™

Slide 136

Slide 136

Slide 137

Slide 137

Compute Substrate β€” Schedule. Execute. Verify. Reuse β€”

Slide 138

Slide 138

Compute Substrate Wasm Eats the World 🀀

Slide 139

Slide 139

Compute Substrate Wasm Eats the World 🀀

Slide 140

Slide 140

Compute Substrate With Their Powers Combined!

Slide 141

Slide 141

Compute Substrate With Their Powers Combined! Compute βš™ Data πŸ’Ύ Auth 🎟

Slide 142

Slide 142

Compute Substrate With Their Powers Combined! ! e r e h veryw E Compute βš™ Data πŸ’Ύ Auth 🎟

Slide 143

Slide 143

Compute Substrate With Their Powers Combined! ! e r e h veryw E Compute βš™ Data πŸ’Ύ Auth 🎟

Slide 144

Slide 144

Compute Substrate With Their Powers Combined! ! e r e h veryw E Compute βš™ Data πŸ’Ύ Auth 🎟

Slide 145

Slide 145

Compute Substrate With Their Powers Combined! ! e r e h veryw E Compute βš™ Data πŸ’Ύ Auth 🎟

Slide 146

Slide 146

Compute Substrate With Their Powers Combined! { IPVM ! e r e h veryw E Compute βš™ Data πŸ’Ύ Auth 🎟

Slide 147

Slide 147

Compute Substrate Code-as-Data

Slide 148

Slide 148

Compute Substrate Code-as-Data Arguments

Slide 149

Slide 149

Compute Substrate Code-as-Data Arguments

Slide 150

Slide 150

Compute Substrate Code-as-Data Task #⃣ #⃣ #⃣ f Arguments Scheduling Con ig, etc

Slide 151

Slide 151

Compute Substrate Code-as-Data Task #⃣ #⃣ #⃣ f Arguments Scheduling Con ig, etc

Slide 152

Slide 152

Compute Substrate Code-as-Data Task #⃣ #⃣ #⃣ f Arguments Scheduling Con ig, etc

Slide 153

Slide 153

Compute Substrate Code-as-Data Task #⃣ #⃣ #⃣ f Arguments Scheduling Con ig, etc

Slide 154

Slide 154

Compute Substrate Code-as-Data Receipt #⃣ Task #⃣ #⃣ #⃣ f Arguments Scheduling Con ig, etc

Slide 155

Slide 155

Compute Substrate Code-as-Data Receipt #⃣ #⃣ Pure Values & E ects Task #⃣ #⃣ #⃣ f ff Arguments Scheduling Con ig, etc #⃣ Metadata (e.g. trace)

Slide 156

Slide 156

Compute Substrate Invocation & Distributed Promises

Slide 157

Slide 157

Compute Substrate Invocation & Distributed Promises

Slide 158

Slide 158

Compute Substrate Invocation & Distributed Promises

Slide 159

Slide 159

Compute Substrate Invocation & Distributed Promises

Slide 160

Slide 160

Compute Substrate Invocation & Distributed Promises

Slide 161

Slide 161

Compute Substrate Distributed Invocation

Slide 162

Slide 162

Compute Substrate Distributed Invocation dns:example.com/TYPE=TXT crud/update

Slide 163

Slide 163

Compute Substrate Distributed Invocation dns:example.com/TYPE=TXT crud/update await mailto:alice@example.com msg/send {to: bob@example.com}

Slide 164

Slide 164

Compute Substrate Distributed Invocation dns:example.com/TYPE=TXT crud/update await mailto:alice@example.com msg/send {to: bob@example.com} await mailto:alice@example.com msg/send {to: carol@example.com}

Slide 165

Slide 165

Compute Substrate Distributed Invocation dns:example.com/TYPE=TXT crud/update await await mailto:alice@example.com msg/send {to: bob@example.com} await mailto:alice@example.com msg/send {to: carol@example.com} await https://example.com/report crud/update

Slide 166

Slide 166

Compute Substrate Distributed Invocation dns:example.com/TYPE=TXT crud/update await mailto:alice@example.com msg/send {to: carol@example.com} await mailto:alice@example.com msg/send {to: bob@example.com} await await https://example.com/report crud/update

Slide 167

Slide 167

Compute Substrate Distributed Invocation πŸ‘©πŸš€ πŸ‘¨πŸ³ dns:example.com/TYPE=TXT crud/update await mailto:alice@example.com msg/send {to: carol@example.com} await mailto:alice@example.com msg/send {to: bob@example.com} await await https://example.com/report crud/update

Slide 168

Slide 168

Compute Substrate Matchmaking

Slide 169

Slide 169

Compute Substrate Matchmaking πŸ•΅ βš™

Slide 170

Slide 170

Compute Substrate Matchmaking πŸ•΅ βš™ πŸ™‹ βš™πŸ”¨πŸ“‘

Slide 171

Slide 171

Compute Substrate Matchmaking πŸ•΅ βš™ πŸ”Œ πŸ™‹ βš™πŸ”¨πŸ“‘

Slide 172

Slide 172

Compute Substrate β€œNine Nines” Is So 1999

Slide 173

Slide 173

Compute Substrate β€œNine Nines” Is So 1999 βš™ 99.99999%

Slide 174

Slide 174

Compute Substrate β€œNine Nines” Is So 1999 βš™ 99.99999% πŸ€– 99.0% βš™ 99.99% βš™ 99.999%

Slide 175

Slide 175

Compute Substrate β€œNine Nines” Is So 1999 βš™ 99.99999% πŸ€– 99.0% βš™ 99.99% βš™ 99.999%

Slide 176

Slide 176

Compute Substrate β€œNine Nines” Is So 1999 βš™ 99.99999% πŸ‘©πŸŽ€ πŸ€– 99.0% βš™ 99.99% βš™ 99.999%

Slide 177

Slide 177

Compute Substrate β€œNine Nines” Is So 1999 βš™ 99.99999% πŸ‘©πŸŽ€ πŸ€– 99.0% βš™ 99.99% βš™ 99.999% πŸ‘©πŸŽ€ πŸ§‘πŸŽ€

Slide 178

Slide 178

Compute Substrate β€œNine Nines” Is So 1999 βš™ 99.99999% πŸ‘©πŸŽ€ πŸ€– 99.0% βš™ 99.99% βš™ 99.999% πŸ‘©πŸŽ€ πŸ§‘πŸŽ€

Slide 179

Slide 179

Compute Substrate β€œNine Nines” Is So 1999 βš™ 99.99999% πŸ‘©πŸŽ€ πŸ€– 99.0% βš™ 99.99% βš™ 99.999% 11-nines πŸ‘©πŸŽ€ πŸ§‘πŸŽ€

Slide 180

Slide 180

Compute Substrate β€œNine Nines” Is So 1999 βš™ β€¦βˆž-nines 99.99999% πŸ‘©πŸŽ€ πŸ€– 99.0% βš™ 99.99% βš™ 99.999% 11-nines πŸ‘©πŸŽ€ πŸ§‘πŸŽ€

Slide 181

Slide 181

Compute Substrate Cache, Suspend, Move, Verify

Slide 182

Slide 182

Compute Substrate Cache, Suspend, Move, Verify 🚰 🧾 🚰 🧾

Slide 183

Slide 183

Compute Substrate Cache, Suspend, Move, Verify 🚰 🧾 🚰 🧾

Slide 184

Slide 184

Compute Substrate Cache, Suspend, Move, Verify 🚰 🧾 🚰 🧾

Slide 185

Slide 185

Compute Substrate Cache, Suspend, Move, Verify 🚰 🧾 🚰 🧾 🚰 🧾

Slide 186

Slide 186

Compute Substrate With a Little Help From My Friends

Slide 187

Slide 187

Compute Substrate Throughput With a Little Help From My Friends Parallelisation

Slide 188

Slide 188

Compute Substrate With a Little Help From My Friends Throughput Ideal (Linear) Parallelisation

Slide 189

Slide 189

Compute Substrate With a Little Help From My Friends Ideal (Linear) Throughput Amdahl’s Law Parallelisation

Slide 190

Slide 190

Compute Substrate With a Little Help From My Friends Ideal (Linear) Throughput Amdahl’s Law Universal Scaling Law Parallelisation

Slide 191

Slide 191

Compute Substrate With a Little Help From My Friends Ideal (Linear) Throughput Amdahl’s Law Incoherence, Data Contention Parallelisation Universal Scaling Law

Slide 192

Slide 192

Compute Substrate With a Little Help From My Friends Throughput Global Adaptive Optimisation πŸš€ Ideal (Linear) Amdahl’s Law Incoherence, Data Contention Parallelisation Universal Scaling Law

Slide 193

Slide 193

Compute Substrate With a Little Help From My Friends Throughput Global Adaptive Optimisation πŸš€ Ideal (Linear) Amdahl’s Law Incoherence, Data Contention Parallelisation Universal Scaling Law

Slide 194

Slide 194

Compute Substrate Run Once, And Never Again

Slide 195

Slide 195

Compute Substrate Run Once, And Never Again Input Hash β†’ Cached Output

Slide 196

Slide 196

Compute Substrate Run Once, And Never Again Input Hash β†’ Cached Output AI moderation & tagging

Slide 197

Slide 197

Compute Substrate Run Once, And Never Again Input Hash β†’ Cached Output AI moderation & tagging Distributed JWT/DID validation

Slide 198

Slide 198

Compute Substrate Run Once, And Never Again Input Hash β†’ Cached Output AI moderation & tagging Distributed JWT/DID validation Transitive trust

Slide 199

Slide 199

Compute Substrate Run Once, And Never Again Input Hash β†’ Cached Output AI moderation & tagging Distributed JWT/DID validation Transitive trust Thumbnails, cropping

Slide 200

Slide 200

Slide 201

Slide 201

Slide 202

Slide 202

Compute Substrate Determinism = Verifiable Computation

Slide 203

Slide 203

Compute Substrate Determinism = Verifiable Computation

Slide 204

Slide 204

Compute Substrate Determinism = Verifiable Computation 🚰 🧾 🚰 🧾 🧾

Slide 205

Slide 205

Compute Substrate Determinism = Verifiable Computation 🚰 🧾 🚰 🚰 🧾 🚰 🧾

Slide 206

Slide 206

Compute Substrate Determinism = Verifiable Computation 🚰 🚰 βœ… 🧾 βœ… 🧾 ❌ 🧾 🚰 🚰

Slide 207

Slide 207

Compute Substrate Determinism = Verifiable Computation 🚰 🚰 βœ… 🧾 βœ… 🧾 ❌ 🧾 🚰 🚰

Slide 208

Slide 208

Slide 209

Slide 209

The Safety Dance β€” Semantics to Climb Out of the Tar Pit β€”

Slide 210

Slide 210

The Safety Dance πŸ•Ί Description vs Invocation

Slide 211

Slide 211

The Safety Dance πŸ•Ί Description vs Invocation Impure functions produce side effects Pure functions manipulate data Side effects β†’ managed effects

Slide 212

Slide 212

The Safety Dance πŸ•Ί Description vs Invocation Impure functions produce side effects Pure functions manipulate data Side effects β†’ managed effects function

Slide 213

Slide 213

The Safety Dance πŸ•Ί Description vs Invocation Impure functions produce side effects Pure functions manipulate data Side effects β†’ managed effects input function

Slide 214

Slide 214

The Safety Dance πŸ•Ί Description vs Invocation Impure functions produce side effects Pure functions manipulate data Side effects β†’ managed effects input function output function

Slide 215

Slide 215

The Safety Dance πŸ•Ί Description vs Invocation Impure functions produce side effects Pure functions manipulate data Side effects β†’ managed effects effect input effect function output function

Slide 216

Slide 216

The Safety Dance πŸ•Ί Description vs Invocation Impure functions produce side effects Pure functions manipulate data Side effects β†’ managed effects effect input function output effect function

Slide 217

Slide 217

The Safety Dance πŸ•Ί Managed Effects Mutation E ect Stream Query E ect Stream Pure Function Stream ff ff Base Event Stream tβ†’

Slide 218

Slide 218

The Safety Dance πŸ•Ί Managed Effects Mutation E ect Stream Query E ect Stream Pure Function Stream ff ff Base Event Stream tβ†’

Slide 219

Slide 219

The Safety Dance πŸ•Ί Managed Effects Mutation E ect Stream Query E ect Stream Pure Function Stream ff ff Base Event Stream tβ†’

Slide 220

Slide 220

The Safety Dance πŸ•Ί Managed Effects Mutation E ect Stream Query E ect Stream Pure Function Stream ff ff Base Event Stream tβ†’

Slide 221

Slide 221

The Safety Dance πŸ•Ί Managed Effects Mutation E ect Stream Query E ect Stream Pure Function Stream ff ff Base Event Stream tβ†’ πŸ”’

Slide 222

Slide 222

The Safety Dance πŸ•Ί Managed Effects πŸš€ Mutation E ect Stream Query E ect Stream Pure Function Stream ff ff Base Event Stream tβ†’ πŸ”’

Slide 223

Slide 223

The Safety Dance πŸ•Ί Managed Effects πŸš€ Mutation E ect Stream Query E ect Stream Pure Function Stream ff ff Base Event Stream tβ†’ πŸ”’ πŸ”“

Slide 224

Slide 224

The Safety Dance πŸ•Ί Virtual Resiliency

Slide 225

Slide 225

The Safety Dance πŸ•Ί Virtual Resiliency Mutable πŸ¦‹ Idempotent πŸ”‚ Deterministic πŸ“…

Slide 226

Slide 226

The Safety Dance πŸ•Ί Virtual Resiliency Mutable πŸ¦‹ Idempotent πŸ”‚ Deterministic πŸ“… Query A Query B

Slide 227

Slide 227

The Safety Dance πŸ•Ί Virtual Resiliency Query A Query B Compute A Mutable πŸ¦‹ Idempotent πŸ”‚ Deterministic πŸ“…

Slide 228

Slide 228

The Safety Dance πŸ•Ί Virtual Resiliency Query A Query B Compute A Mutable πŸ¦‹ Query C Idempotent πŸ”‚ Deterministic πŸ“…

Slide 229

Slide 229

The Safety Dance πŸ•Ί Virtual Resiliency Query A Query B Compute A Mutable πŸ¦‹ Query C Idempotent πŸ”‚ Deterministic πŸ“… Compute B Query D

Slide 230

Slide 230

The Safety Dance πŸ•Ί Virtual Resiliency Query A Query B Compute A Mutable πŸ¦‹ Query C Idempotent πŸ”‚ Deterministic πŸ“… Compute B Query D Mutation

Slide 231

Slide 231

The Safety Dance πŸ•Ί Virtual Resiliency Mutation Query A Query B Compute A Mutable πŸ¦‹ Query C Mutation Idempotent πŸ”‚ Deterministic πŸ“… Compute B Query D Mutation

Slide 232

Slide 232

The Safety Dance πŸ•Ί

Slide 233

Slide 233

The Safety Dance πŸ•Ί If their application can be cast as pure data processing, they benefit from the past 40-50 years of work form the database community, [and] completely isolate the developer from the possibility of failure β€” Goldstein et al, AMBROSIA: Providing Performant Virtual Resiliency for Distributed Applications

Slide 234

Slide 234

The Safety Dance πŸ•Ί Simplified Safe Layout

Slide 235

Slide 235

The Safety Dance πŸ•Ί Simplified Safe Layout Queries Queries Queries

Slide 236

Slide 236

The Safety Dance πŸ•Ί Simplified Safe Layout Queries Queries Queries Pure Computation Pure Computation Pure Computation

Slide 237

Slide 237

The Safety Dance πŸ•Ί Simplified Safe Layout Queries Queries Queries Pure Computation Pure Computation Pure Computation

Slide 238

Slide 238

The Safety Dance πŸ•Ί Simplified Safe Layout Queries Queries Queries Pure Computation Pure Computation Pure Computation Mutation

Slide 239

Slide 239

The Safety Dance πŸ•Ί Simple Example Compute A Query Compute B Mutation

Slide 240

Slide 240

The Safety Dance πŸ•Ί Simple Example Compute A Query Compute B Mutation

Slide 241

Slide 241

The Safety Dance πŸ•Ί Simple Example Compute A Query πŸ¦Ίβœ” Compute B Mutation

Slide 242

Slide 242

Slide 243

Slide 243

Wrap Up

Slide 244

Slide 244

Wrap Up Reusable/Remixable Specs

Slide 245

Slide 245

Wrap Up Reusable/Remixable Specs IPVM Workflow πŸŽ› Transactions, Error Handling, Defaults UCAN Pipeline 🌊 Call Graph, Awaits, etc IPVM Task βš™ VM Config, Verification, etc UCAN-Chan / ユーキャンけゃん Consumable Channels Receipts Attestation, Memoization, etc UCAN Invocation πŸͺ„ Input Addressing, Execution, etc UCAN Core 🎟 Distributed Authority IPLD-WIT βš™ IDL Varsig ✍ Self-Describing Signatures

Slide 246

Slide 246

github.com/ucan-wg github.com/ipvm-wg πŸŽ‰ Thank You, Strange Loop πŸ“ƒ https://fission.codes πŸ“§ brooklyn@fission.codes 🐘 @expede@octodon.social πŸ¦‹ bsky.app/profile/expede.wtf