#+Title: What's Next to Superfluid Protocol #+Subtitle: An Update at the Superfluid Reactor Summit 2022 #+Author: Miao, ZhiCheng (hellwolf) #+Email: miao@superfluid.finance #+Date: 2022-05-20 #+OPTIONS: num:nil toc:nil timestamp:nil #+REVEAL_THEME: night #+REVEAL_TRANS: Concave #+REVEAL_EXTRA_CSS: ../css/sf-slide-dark2022.css #+REVEAL_TITLE_SLIDE_BACKGROUND: ../images/sf-slide-dark2022-bg1.png #+REVEAL_DEFAULT_SLIDE_BACKGROUND: ../images/sf-slide-dark2022-bg1.png #+begin_notes :revisions | Date | Notes | | 2022-05-20 | Superfluid Reactor Summit 2022 | #+end_notes * *Superfluid in Rear View Mirror* [[file:pepe-rearview.png]] * How It Was Started ** Deployed to Polygon 441 days ago: #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 60% :height 60% [[file:deployed-to-polygon.png]] ** Had Two Packages for Builders [[file:github-packages-before.png]] ** Deployed to Two Networks - Matic (now Polygon) - xDAI (now Gnosis Chain) * How It Is Today ** Vibrant Development Activities in the Monorepo #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 80% [[file:github-forks-and-stars.png]] #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 80% [[file:github-commits.png]] ** Smart Contracts Project Evolving #+ATTR_REVEAL: :frag (appear) - CFA: Access Control List. - Switched to hardhat for functional testing. - Integrated with foundry for additional fuzzing testing. - Introduced _hot-fuzz_ as new test framework for Superfluid applications. ** More New & Better Packages [[file:monorepo-more-packages.png]] ** More Examples [[file:more-examples.png]] ** More Docs [[file:docs-tree-1.png]] | [[file:docs-tree-2.png]] | [[file:docs-tree-3.png]] ** Continued Contributions from Community #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 80% [[file:github-contributors.png]] ** Committed to Contributing Back to Community #+ATTR_REVEAL: :frag (roll-in) *** Pull requests to truffle suite. *** Pull requests to truffle-plugin-verify. *** Issue reports, and technical feedback to TheGraph. *** Pull request testing for Echidna. *** We adhere to the *open collaboration and free & open source philosophy*. ** Continued Usages from Builders #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 80% [[file:deps-github.png]] | #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 80% [[file:deps-npmjs.png]] ** Multi-Chains *Live On* [[file:live-on-networks.png]] ** Cumulative Flows #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 80% [[file:cumulative-flows.png]] * *What's Coming Next to Superfluid* [[file:cool-pepe.png]] * More Networks ** Enabling Minimum Deposit #+ATTR_REVEAL: :frag (appear) - For networks with high fee (Ethereum Mainnet, some L2s) - Make it "profitable" for sentinels closing micro streams ** More Community Engagements #+ATTR_REVEAL: :frag (appear) - Framework Deployment Guide. - Easy Deployment of ERC20 Wrapper. - More Work on Custom Super Token Templates: - Pure super tokens, - with custom features. - List super tokens on https://tokenlists.org/ * Formalization ** Yellow Paper *** Citing Existing Papers #+ATTR_REVEAL: :frag (appear) - Superfluid money extends existing ideas: - /Buldas, Ahto, Märt Saarepera, Jamie Steiner, and Dirk Draheim. "A Unifying Theory of Electronic Money and Payment Systems." TechRxiv. Preprint 2021 (2021)./ - /EIP-1620 - Money Streaming/. - /EIP-2100 - Proposal for Streaming Token Standard/. - High standard of intellectual honesty: - Reusing existing terminologies. - Trying to generalizing existing framework if possible. - Not just stick a flag in it: your idea vs my idea. - Highlight the original idea and contribution from Superfluid Money. *** Embedded Specification Using Literate Haskell #+BEGIN_SRC haskell data SuperfluidTypes sft => DFAAccountData sft = DFAAccountData { settledAt :: SFT_TS sft , αVal :: SFT_FLOAT sft , εVal :: SFT_FLOAT sft , settledBuffer :: BBS.BufferLiquidity (SFT_LQ sft) } #+END_SRC Benefits: - Well-defined terminologies ≅ Well defined types. - Rigor definitions ≅ Testable properties. - The idea of Superfluid protocol as a Haskell program. *** Sound Platform For Research Topics #+ATTR_REVEAL: :frag (appear) - Exotic Agreements: Decaying Flow, General Distribution, Step Flow... - Solvency Models: Buffer Based Solvency, Time Sync Solvency, etc. - Money Units Models: Account/Token, EUTXO. - Composability Models: callback vs. state-syncing. *** Provide A Solid Reference for Additional Superfluid Money Implementations 🤔 What Can It Be? 🤔 #+ATTR_REVEAL: :frag (appear) - EVM Superfluid V2? - A Non-EVM system? - A Superfluid-enabled Blockchain itself? ** Protocol Validator *** Simulation Environment for New Ideas & Concepts *** New Functional Specification Testing Tool for Implementations #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 60% :height 60% [[file:test-output-viz.png]] * Deep Refactoring ** Functional Style Agreements #+ATTR_REVEAL: :frag (appear) - Split pure code from side effects: - Reading protocol parameters from governance, - EVM storage operations, - Callbacks to super apps. - Easier for formal verification. - Make ways for more feature developments. ** Token Centric Interface #+ATTR_REVEAL: :frag (roll-in) *** Phasing out the usages of ~callAgreement~. *** ~token.createFlow~, ~token.updateFlow~, ~token.deleteFlow~ *** ~token.createIndex~ (Multi-purpose Index) *** ~token.subscribeToIndex~, ~token.approveIndex~ (IDA) *** ~token.distributeToIndex~ (IDA) *** ~token.updateDistributionFlowRateOfIndex~ (GDA ?!) *** ~token.updateDecayingFlowRateOfIndex~ (DFA ?!) * Complete The jigsaw Puzzle #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 60% :height 60% [[file:jigsaw-puzzle.jpg]] ** Superfluid Payment Modalities Matrix *** Payment Before Superfluid Money | | 1to1 | 1toN | |-----------+------------+------| | *Instant* | e.g. ERC20 | | | *Streaming* | | | *** Payment With Superfluid Money | | 1to1 | 1toN | |-----------+-------------+--------------------------------------| | *Instant* | TBA (ERC20) | GDA with Instant Distribution ≡ /IDA/ | | *Streaming* | CFA/DFA | GDA with Constant/Decaying Flow ≡ /?!/ | ** General Distribution Agreement GDA = Multi-purpose Index with: #+ATTR_REVEAL: :frag (appear) - Instant Distribution - Constant Flow - Decaying Flow - ... * Beyond Core Protocol ** Make Sentinel More Profitable *** More Than Solvency Protection From Hostile Actors *** Add "Civilian" Services #+ATTR_ORG: :width 480 #+ATTR_HTML: :width 60% :height 60% [[file:military-civilian-service.jpg]] *** Closing Stream For You by An End Date *** Wrap-Up More Underlying Token For You When Running Low ** More Power To Subgraph *** Problem: Superfluid Distribution Index is Too Powerful! - A index can change balances of all its subscribers. - A Subgraph indexer cannot scale as much in its current architecture. *** Working with TheGraph Team to Find Solution to Tame It ** More Features to SDKs (SDK-Core, SDK-Redux) * Be Part Of It #+ATTR_REVEAL: :frag (appear) - Bi-weekly Protocol Public Forum, Wednesday 2:30 GMT. Join discord and ask for invitation. - Checkout bounties on https://github.com/superfluid-finance/protocol-monorepo/ - Checkout bounty on https://immunefi.com/ - http://jobs.superfluid.finance * Thank You Let Us Change The Future Of Payment Systems. Slide Source Code: https://github.com/superfluid-finance/protocol-monorepo/wiki/Presentation-2022_05_20:-What-Is-Next-For-Superfluid-Protocol.