cl-pitch/public/index.html

401 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<title>Cardano Lightning</title>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="https://unpkg.com/reveal.js@^4//dist/reset.css">
<link rel="stylesheet" href="https://unpkg.com/reveal.js@^4//dist/reveal.css">
<style>
.reveal .sourceCode { /* see #7635 */
overflow: visible;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="https://unpkg.com/reveal.js@^4//dist/theme/black.css" id="theme">
<style>
body {
font-family: ui-sans-serif;
}
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6
{
font-family:"TruenoSemiBold", "ui-sans-serif";
}
@font-face{
font-family:"TruenoSemiBold";
src:local("TruenoSemiBold"),
url("./fonts/TruenoSemiBold.woff2") format("woff2");
font-weight: 600;
}
.black h2 {
background-color: #020210;
}
.reveal ul {
list-style-type: "- ";
}
.reveal .slides p {
margin: 2rem 0;
text-align:left;
}
.reveal .slides blockquote > p {
text-align:center;
}
</style>
</head>
<body>
<div class="reveal">
<div class="slides">
<section id="title-slide" data-background-image="./assets/logo.png" data-background-opacity="0.3" data-background-size="contain">
<h1 class="title">Cardano Lightning</h1>
<p class="subtitle">Permissionless, near instant, highly scalable</p>
</section>
<section>
<section id="problem" class="title-slide slide level2">
<h2>Problem</h2>
</section>
<section id="payments" class="slide level3">
<h3>Payments</h3>
<ul>
<li>A fundamental part of all commerce: payment.</li>
</ul>
</section>
<section id="who" class="slide level3">
<h3>Who?</h3>
<p>There are three parties involved in a payment</p>
<ul>
<li>Consumer (ie payer)</li>
<li>Provider (ie payee)</li>
<li>Facilitator</li>
</ul>
<p>All of us are consumers, some are providers, a few are
facilitators.</p>
</section>
<section id="what-users-want" class="slide level3">
<h3>What users want</h3>
<blockquote>
<p>Users want secure, fast, low cost transactions</p>
</blockquote>
<p>However participants have different priorities, <em>eg</em></p>
<ul>
<li>Consumers want ease-of-use</li>
<li>Providers want fast confirmation</li>
<li>Facilitators need to handle at scale</li>
</ul>
</section>
<section id="existing-systems-12" class="slide level3">
<h3>Existing systems (1/2)</h3>
<ul>
<li>Cash: Permissionless, instant, scalable-ish (lots of people can use
it at the same time, but only to pay people near them), questionable
security (fraud happens).</li>
<li>Bank transfer: Permissioned, some instant others very slow,
scalable.</li>
<li>Contactless/ Card: Permissioned, near instant, scalable</li>
</ul>
</section>
<section id="section" class="slide level3">
<h3>… (2/2)</h3>
<ul>
<li>Decentralised Ledger *: permissionless, maybe fast or scalable but
generally not both.</li>
</ul>
<p><span style="font-size: small"> * There are many different designs of
decentralised ledger, each with different choices and trade-offs. Some
permissioned, some more decentralised than others, some faster,
<em>etc</em>. </span></p>
</section>
<section id="market-size" class="slide level3">
<h3>Market size</h3>
<ul>
<li><p>Contactless transactions will reach $11 trillion by 2027 <span
style="font-size: small"> source : Juniper Research </span></p></li>
<li><p>Market Cap for crypto : &gt; $3 trillion <span
style="font-size: small"> source : coinmarketcap.com (Dec 2024)
</span></p></li>
</ul>
</section>
<section id="intersection" class="slide level3">
<h3>Intersection</h3>
<blockquote>
<p>Can we have contactless like experience but permissionless.</p>
</blockquote>
</section>
<section id="problem-statement" class="slide level3">
<h3>Problem statement</h3>
<p>We want a payment system that is:</p>
<ol type="1">
<li>Permissionless and secure</li>
<li>Near instant</li>
<li>Highly scalable</li>
</ol>
</section>
<section id="bitcoin-lightning-network" class="slide level3">
<h3>Bitcoin Lightning Network?</h3>
<p>In a lightning network:</p>
<ul>
<li>The network is fundamentally a set of channels, not a shared
ledger.</li>
<li>There is no need to reach consensus, or globally broadcasting
state.</li>
<li>Payments are routed across channels by participants.</li>
<li>Speed of payment isnt a global property, but a more local one.</li>
</ul>
<p>BLN does this and is the closest to meeting our aims.</p>
</section>
<section id="problems-with-bln" class="slide level3">
<h3>Problems with BLN</h3>
<p>However it has some issues:</p>
<ul>
<li>Large technical and resource overhead to use. Every user must run a
node.</li>
<li>Difficult to efficiently manage capital. Liquidity is required to
enable payments to be routed across a network. Moving capital between
channels requires multiple transactions.</li>
</ul>
</section></section>
<section>
<section id="solution" class="title-slide slide level2">
<h2>Solution</h2>
</section>
<section id="cardano-lightning" class="slide level3">
<h3>Cardano Lightning</h3>
</section>
<section id="design" class="slide level3">
<h3>Design</h3>
<ul>
<li>A perturbation on BLN: its a Lightning Network</li>
<li>Focused on addressing the key technical blockers to it being used as
a day-to-day payment system.</li>
</ul>
</section>
<section id="tailored-nodes" class="slide level3">
<h3>Tailored Nodes</h3>
<p>CL recognises a diversity users have a diversity of needs.</p>
<ul>
<li>For consumers we have a lightweight node, minimal resources, and
runs on their phone.</li>
<li>Some providers might be happy running their own servers, others
wont. Theres a flexible CL node + SDK to suit a full spectrum of
usecases.</li>
</ul>
</section>
<section id="leveraging-cardano" class="slide level3">
<h3>Leveraging Cardano</h3>
<ul>
<li><p>Cardanos more powerful scripting language allows us to achieve
more with less.</p></li>
<li><p>In particular we can optimize capital allocation for
nodes.</p></li>
<li><p>For the facilitators, we have a node for efficient handling of
many channels concurrently. Those with capital and wanting to put it to
use become the facilitators. They receive income on the service they
provide, each payment they facilitate in routing.</p></li>
</ul>
</section></section>
<section>
<section id="team" class="title-slide slide level2">
<h2>Team</h2>
</section>
<section id="section-1" class="slide level3">
<h3></h3>
<ul>
<li><span class="citation" data-cites="waalge">@waalge</span></li>
<li><span class="citation" data-cites="paluh">@paluh</span></li>
<li><span class="citation" data-cites="nhenin">@nhenin</span></li>
</ul>
</section></section>
</div>
</div>
<script src="https://unpkg.com/reveal.js@^4//dist/reveal.js"></script>
<!-- reveal.js plugins -->
<script src="https://unpkg.com/reveal.js@^4//plugin/notes/notes.js"></script>
<script src="https://unpkg.com/reveal.js@^4//plugin/search/search.js"></script>
<script src="https://unpkg.com/reveal.js@^4//plugin/zoom/zoom.js"></script>
<script>
// Full list of configuration options available at:
// https://revealjs.com/config/
Reveal.initialize({
// Display controls in the bottom right corner
controls: true,
// Help the user learn the controls by providing hints, for example by
// bouncing the down arrow when they first encounter a vertical slide
controlsTutorial: true,
// Determines where controls appear, "edges" or "bottom-right"
controlsLayout: 'bottom-right',
// Visibility rule for backwards navigation arrows; "faded", "hidden"
// or "visible"
controlsBackArrows: 'faded',
// Display a presentation progress bar
progress: true,
// Display the page number of the current slide
slideNumber: false,
// 'all', 'print', or 'speaker'
showSlideNumber: 'all',
// Add the current slide number to the URL hash so that reloading the
// page/copying the URL will return you to the same slide
hash: true,
// Start with 1 for the hash rather than 0
hashOneBasedIndex: false,
// Flags if we should monitor the hash and change slides accordingly
respondToHashChanges: true,
// Push each slide change to the browser history
history: false,
// Enable keyboard shortcuts for navigation
keyboard: true,
// Enable the slide overview mode
overview: true,
// Disables the default reveal.js slide layout (scaling and centering)
// so that you can use custom CSS layout
disableLayout: false,
// Vertical centering of slides
center: true,
// Enables touch navigation on devices with touch input
touch: true,
// Loop the presentation
loop: false,
// Change the presentation direction to be RTL
rtl: false,
// see https://revealjs.com/vertical-slides/#navigation-mode
navigationMode: 'default',
// Randomizes the order of slides each time the presentation loads
shuffle: false,
// Turns fragments on and off globally
fragments: true,
// Flags whether to include the current fragment in the URL,
// so that reloading brings you to the same fragment position
fragmentInURL: true,
// Flags if the presentation is running in an embedded mode,
// i.e. contained within a limited portion of the screen
embedded: false,
// Flags if we should show a help overlay when the questionmark
// key is pressed
help: true,
// Flags if it should be possible to pause the presentation (blackout)
pause: true,
// Flags if speaker notes should be visible to all viewers
showNotes: false,
// Global override for autoplaying embedded media (null/true/false)
autoPlayMedia: null,
// Global override for preloading lazy-loaded iframes (null/true/false)
preloadIframes: null,
// Number of milliseconds between automatically proceeding to the
// next slide, disabled when set to 0, this value can be overwritten
// by using a data-autoslide attribute on your slides
autoSlide: 0,
// Stop auto-sliding after user input
autoSlideStoppable: true,
// Use this method for navigation when auto-sliding
autoSlideMethod: null,
// Specify the average time in seconds that you think you will spend
// presenting each slide. This is used to show a pacing timer in the
// speaker view
defaultTiming: null,
// Enable slide navigation via mouse wheel
mouseWheel: false,
// The display mode that will be used to show slides
display: 'block',
// Hide cursor if inactive
hideInactiveCursor: true,
// Time before the cursor is hidden (in ms)
hideCursorTime: 5000,
// Opens links in an iframe preview overlay
previewLinks: false,
// Transition style (none/fade/slide/convex/concave/zoom)
transition: 'slide',
// Transition speed (default/fast/slow)
transitionSpeed: 'default',
// Transition style for full page slide backgrounds
// (none/fade/slide/convex/concave/zoom)
backgroundTransition: 'fade',
// Number of slides away from the current that are visible
viewDistance: 3,
// Number of slides away from the current that are visible on mobile
// devices. It is advisable to set this to a lower number than
// viewDistance in order to save resources.
mobileViewDistance: 2,
// Parallax background image
parallaxBackgroundImage: './assets/background.svg', // e.g. "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'"
// reveal.js plugins
plugins: [
RevealNotes,
RevealSearch,
RevealZoom
]
});
</script>
</body>
</html>