A presentation at Causal Islands in in Toronto, ON, Canada by Brooklyn Zelenka
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 github.com/expede
Seamless Services for an Open World Brooklyn Zelenka @expede Cofounder & CTO at Fission fission.codes discord.gg/fissioncodes @fission@plnetwork.xyz PLT and DSys are my jam π€ UCAN, WNFS, Rhizome, IPVM, Multiformats, EIPs, others github.com/expede
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.
Space to Play Dependency Stack
Space to Play Dependency Stack Compute β
Space to Play Dependency Stack Compute β Data πΎ
Space to Play 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 β’ How to train enough engineers?
How We Got Here Consequences π β’ Single source of truth (βtheβ database) β’ Server-centric β’ βFull stack developmentβ β’ DevOps, Docker, k8s β’ 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 Data Gravity Aggregated Data
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 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 What 8ms Looks Like
A New Environment What 8ms Looks Like Toronto β‘ (almost) Havana Ideal Vacuum π«
A New Environment What 8ms Looks Like Toronto β‘ (almost) Havana Ideal Vacuum π« Toronto π Halifax Ideal Vacuum π«
A New Environment What 8ms Looks Like Toronto β‘ (almost) Havana Ideal Vacuum π« Toronto π Halifax Ideal Vacuum π« Toronto π Montreal 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 Causal Islands ππ βCausal Subjectivityβ
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 Flat Circle
Networks for Good Flat Circle THIS HAS ALL HAPPENED BEFORE
Networks for Good Flat Circle THIS HAS ALL HAPPENED BEFORE β¦and will happen again
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 The Great Spiral π©
Networks for Good The Great Spiral π©
Networks for Good The Great Spiral π© ππ¦Ί π«₯π» ff Invention Custom O -the-Shelf Utility
Networks for Good The Great Spiral π© ππ¦Ί π«₯π» ff Invention Custom O -the-Shelf Utility
Networks for Good The Great Spiral π© πΆ ππ¦Ί π«₯π» ff Invention Custom O -the-Shelf Utility
Networks for Good The Great Spiral π© πΆ ππ¦Ί π«₯π» ff Invention Custom O -the-Shelf Utility
Networks for Good The Great Spiral π© πΆ ππ¦Ί π«₯π» ff Invention Custom O -the-Shelf Utility
Networks for Good Evolution of Concerns Rajsbaum & Raynal, 60 Years of Mastering Concurrent Computing Through Sequential Thinking
Networks for Good Evolution of Concerns Physical Resource Management Immaterial Objects πΏ π Distributed State Machines Adversaries, Asynchrony, Failure, &c Scalability β π©π π Rajsbaum & Raynal, 60 Years of Mastering Concurrent Computing Through Sequential Thinking
Networks for Good Evolution of Concerns Physical Resource Management Immaterial Objects πΏ π Distributed State Machines Adversaries, Asynchrony, Failure, &c Scalability β π©π π Rajsbaum & Raynal, 60 Years of Mastering Concurrent Computing Through Sequential Thinking
Networks for Good Evolution of Concerns Physical Resource Management Immaterial Objects πΏ π Distributed State Machines Adversaries, Asynchrony, Failure, &c Scalability β π©π π Rajsbaum & Raynal, 60 Years of Mastering Concurrent Computing Through Sequential Thinking
Networks for Good User Agency β’ Empower users to participate (entry) β’ Option to leave (exit) β’ Control access to your data (safety) β’ Provide capacity to others (serve)
β The Times They Are A-Changinβ β Signs of a Way Out
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 Addressing Stack
Signs of a Way Out Addressing Stack Physical Location πΊ send(42.123.45.6, path) = content1 send(42.123.45.6, path) = content2
Signs of a Way Out Addressing Stack Naming π¬ Physical Location πΊ {DNS: IP} send(42.123.45.6, path) = content1 send(42.123.45.6, path) = content2
Signs of a Way Out Addressing Stack Content ID β Naming π¬ Physical Location πΊ {hash(content): content} {DNS: IP} send(42.123.45.6, path) = content1 send(42.123.45.6, path) = content2
Signs of a Way Out Universal Relationships
Signs of a Way Out Universal Relationships { } bafy123456β¦: { data: nil, links: [ {name: βcompanyβ, hash: bafyabcβ¦} {name: βindustryβ, hash: bafyzyxβ¦} ] }
Signs of a Way Out Universal Relationships { } { bafy123456β¦: { data: nil, links: [ {name: βcompanyβ, hash: bafyabcβ¦} {name: βindustryβ, hash: bafyzyxβ¦} ] } } bafyabcdefβ¦: { data: βFissionβ, links: [ {name: βcityβ, hash: bafy1gbβ¦}, {name: βaboutβ, hash: bafyeNβ¦} ] }
Signs of a Way Out Universal Relationships { } { bafy123456β¦: { data: nil, links: [ {name: βcompanyβ, hash: bafyabcβ¦} {name: βindustryβ, hash: bafyzyxβ¦} ] } } bafyabcdefβ¦: { data: βFissionβ, links: [ {name: βcityβ, hash: bafy1gbβ¦}, {name: βaboutβ, hash: bafyeNβ¦} ] } bafy123456β¦/company/about/ceo => βBoris Mannβ
Signs of a Way Out
Signs of a Way Out The HTTP of Compute π€©
Signs of a Way Out The HTTP of Compute π€© Compute β like data β should be a ubiquitous commodity Depend on having compute around; rarely go out to the network Fully consistent functionality between clients Replaceβhypercloudβ dependencies with open protocol & nodes
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 π©π» π± β β β β β β β β β β β
Signs of a Way Out Automatically Composed Apps
Signs of a Way Out Automatically Composed Apps π©π» π πΆ π¬ πΎ π§Έ
Signs of a Way Out Automatically Composed Apps π©π» π¨π¦³π₯ π πΆ π¬ πΎ π§Έ π πΆ π¬ πΎ π§Έ
Signs of a Way Out Automatically Composed Apps π©π» π¨π¦³π₯ π πΆ π¬ πΎ π§Έ π πΆ π¬ πΎ π§Έ π©π πΆ
Signs of a Way Out Automatically Composed Apps π©π» π¨π¦³π₯ π πΆ π¬ πΎ π§Έ π πΆ π¬ πΎ π§Έ π πΎ π§Έ π¨π¨ π©π πΆ
Signs of a Way Out Automatically Composed Apps π©π» π¨π¦³π₯ π πΆ π¬ πΎ π§Έ π πΆ π¬ πΎ π§Έ π π©π πΆ π πΆ πΎ π§Έ π¨π¨ ββ
Signs of a Way Out Disorderly Programming π€ β π¨π» β π¨π» π©π» π€
Signs of a Way Out Disorderly Programming π€ β π¨π» β π¨π» π©π» π€
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! { 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 Task f ff Arguments Pure Values & E ects Scheduling Con ig, etc Metadata (e.g. trace)
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 Matchmaking
Compute Substrate Matchmaking π΅ β
Compute Substrate Matchmaking π΅ β π βπ¨π‘
Compute Substrate Matchmaking π΅ β π π βπ¨π‘
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 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 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 token validation
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 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 β Out of the Locality 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 Open Source
Wrap Up Open Source Lots of people work on it, everybody benefits from it, and then people can build upon it (even in a revenue generating fashion) β Ted Leung, Commons Based Peer Production (2005)
Wrap Up Commons Infrastructure Lots of people work on it, everybody benefits from it, and then people can build upon it (even in a revenue generating fashion), and is βownedβ by everyone
Wrap Up Commons Infrastructure Lots of people work on it, everybody benefits from it, and then people can build upon it (even in a revenue generating fashion), and is βownedβ by everyone By participating (even with competitive goals) you are strengthening the network for everyone
Wrap Up Commons Infrastructure Lots of people work on it, everybody benefits from it, and then people can build upon it (even in a revenue generating fashion), and is βownedβ by everyone By participating (even with competitive goals) you are strengthening the network for everyone
Wrap Up Commons Infrastructure Lots of people work on it, everybody benefits from it, and then people can build upon it (even in a revenue generating fashion), and is βownedβ by everyone By participating (even with competitive goals) you are strengthening the network for everyone
Wrap Up Reusable/Remixable Specs
Wrap Up Reusable/Remixable Specs UCAN Core π Distributed Authority IPLD-WIT β ABI Varsig β Signature Multiformat
Wrap Up Reusable/Remixable Specs UCAN Pipeline π Call Graph, Awaits, etc UCAN Invocation πͺ Input Addressing, Execution, Memoization, etc UCAN Core π Distributed Authority IPLD-WIT β ABI Varsig β Signature Multiformat
Wrap Up Reusable/Remixable Specs IPVM Task β VM Config, Verification, etc UCAN Pipeline π Call Graph, Awaits, etc UCAN Invocation πͺ Input Addressing, Execution, Memoization, etc UCAN Core π Distributed Authority IPLD-WIT β ABI Varsig β Signature Multiformat
Wrap Up Reusable/Remixable Specs IPVM Workflow π Transactions, Error Handling, Defaults IPVM Task β VM Config, Verification, etc UCAN Pipeline π Call Graph, Awaits, etc UCAN Invocation πͺ Input Addressing, Execution, Memoization, etc UCAN Core π Distributed Authority IPLD-WIT β ABI Varsig β Signature Multiformat
Wrap Up Reusable/Remixable Specs IPVM Workflow π Transactions, Error Handling, Defaults IPVM Task β VM Config, Verification, etc UCAN Pipeline π Call Graph, Awaits, etc UCAN-Chan / γ¦γΌγγ£γ³γ‘γγ Consumable Channels UCAN Invocation πͺ Input Addressing, Execution, Memoization, etc UCAN Core π Distributed Authority IPLD-WIT β ABI Varsig β Signature Multiformat
Wrap Up Join Us π€
Wrap Up Join Us π€ Community: github.com/ipvm-wg
Wrap Up Join Us π€ Community: github.com/ipvm-wg
Wrap Up Join Us π€ Community: github.com/ipvm-wg Calls: lu.ma/ipvm
github.com/ucan-wg github.com/ipvm-wg π Thank You, Toronto π¨π¦ π https://fission.codes π§ brooklyn@fission.codes π @expede@octodon.social π¦ @expede.wtf
The advent of TCP/IP and the web produced an explosion of innovation by radically lowering the barrier to entry to connect over the network. Thanks to new technical and social innovations, we now have the building blocks for the next generation of open services: location-free verifiable data and computation.
Verifiable computation opens the door to content addressed function invocations, results, and workflows. This radically lowers the complexity of historical architectures (e.g. the LAMP stack), networked, and distributed systems. Not only is this easier to reason about, it also (paradoxically) enables superlinear scaling: the more it gets used, the more efficient it becomes!
This talk presents UCAN Invocations and the Interplanetary VM (IPVM). Code in this model is capable of running anywhere (even offline), respects data privacy, and services interoperate seamlessly out of the box without pre-negotiation. Since computation doesnβt happen in a vacuum, we will also describe how the workflow planner interacts with existing services, and how to lift them into this seamless paradigm.
The following resources were mentioned during the presentation or are useful additional information.