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

Seamless Services for an Open World

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

Seamless Services for an Open World

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

Seamless Services for an Open World Brooklyn Zelenka @expede

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

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

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

Seamless Services for an Open World Rolling Weight

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

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

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

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

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

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

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.

Seamless Services for an Open World Dependency Stack

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

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

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

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

How We Got Here One-to-One

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

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

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

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

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

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

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

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

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

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

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

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

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

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

How We Got Here Consequences πŸ‚

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

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?

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?

How We Got Here Random Walk Image by Pradyumna Yadav

How We Got Here Random Walk Image by Pradyumna Yadav

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

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

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

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

How We Got Here

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

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

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

A New Environment Sending a β€œDirect” Message

A New Environment Sending a β€œDirect” Message

A New Environment Sending a β€œDirect” Message

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

A New Environment Users vs Cloud Infra Source: AWS

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

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

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

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

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

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

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

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

A New Environment Data Gravity Aggregated Data

A New Environment What 8ms Looks Like

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

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

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

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

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

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

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

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

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

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

A New Environment

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

A New Environment Everything, Everywhere

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

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

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

A New Environment

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

Networks for Good Back to Our Roots

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

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

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

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

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

Signs of a Way Out Emerging Definitions

Signs of a Way Out ACL Redux

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

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

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

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

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

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

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

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

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

Signs of a Way Out Capabilities

Signs of a Way Out Capabilities πŸ•΅

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

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

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

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

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

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

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

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

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

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

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

Signs of a Way Out OAuth Sequence

Signs of a Way Out OAuth Sequence

Signs of a Way Out OAuth Sequence

Signs of a Way Out OAuth Sequence

Signs of a Way Out UCAN Sequence πŸ•™

Signs of a Way Out UCAN Sequence πŸ•™

Signs of a Way Out UCAN Sequence πŸ•™

Signs of a Way Out UCAN Sequence πŸ•™

Signs of a Way Out

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

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

Signs of a Way Out Don’t Make Me Think

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

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

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

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

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

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

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

Compute Substrate Wasm Eats the World 🀀

Compute Substrate Wasm Eats the World 🀀

Compute Substrate With Their Powers Combined!

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

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

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

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

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

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

Compute Substrate Code-as-Data

Compute Substrate Code-as-Data Arguments

Compute Substrate Code-as-Data Arguments

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

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

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

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

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

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

Compute Substrate Invocation & Distributed Promises

Compute Substrate Invocation & Distributed Promises

Compute Substrate Invocation & Distributed Promises

Compute Substrate Invocation & Distributed Promises

Compute Substrate Invocation & Distributed Promises

Compute Substrate Distributed Invocation

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

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

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}

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

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

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

Compute Substrate Matchmaking

Compute Substrate Matchmaking πŸ•΅ βš™

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

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

Compute Substrate β€œNine Nines” Is So 1999

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

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

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

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

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

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

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

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

Compute Substrate Cache, Suspend, Move, Verify

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

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

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

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

Compute Substrate With a Little Help From My Friends

Compute Substrate Throughput With a Little Help From My Friends Parallelisation

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

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

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

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

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

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

Compute Substrate Run Once, And Never Again

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

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

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

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

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

Compute Substrate Determinism = Verifiable Computation

Compute Substrate Determinism = Verifiable Computation

Compute Substrate Determinism = Verifiable Computation 🚰 🧾 🚰 🧾 🧾

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

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

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

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

The Safety Dance πŸ•Ί Description vs Invocation

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

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

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

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

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

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

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

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

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

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

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

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

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

The Safety Dance πŸ•Ί Virtual Resiliency

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

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

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

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

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

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

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

The Safety Dance πŸ•Ί

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

The Safety Dance πŸ•Ί Simplified Safe Layout

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

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

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

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

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

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

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

Wrap Up

Wrap Up Reusable/Remixable Specs

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

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