/
index.html
53 lines (50 loc) · 17.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!doctype html>
<html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-updates">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.2.0">
<title data-rh="true">Consensus Team Update | Cardano Development Updates</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://input-output-hk.github.io/cardano-updates/2023-01-11-consensus"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Consensus Team Update | Cardano Development Updates"><meta data-rh="true" name="description" content="High level summary"><meta data-rh="true" property="og:description" content="High level summary"><meta data-rh="true" property="og:type" content="article"><meta data-rh="true" property="article:published_time" content="2023-01-11T00:00:00.000Z"><meta data-rh="true" property="article:author" content="https://github.com/dnadales"><meta data-rh="true" property="article:tag" content="consensus"><link data-rh="true" rel="icon" href="/cardano-updates/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://input-output-hk.github.io/cardano-updates/2023-01-11-consensus"><link data-rh="true" rel="alternate" href="https://input-output-hk.github.io/cardano-updates/2023-01-11-consensus" hreflang="en"><link data-rh="true" rel="alternate" href="https://input-output-hk.github.io/cardano-updates/2023-01-11-consensus" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/cardano-updates/rss.xml" title="Cardano Updates Feed RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/cardano-updates/atom.xml" title="Cardano Updates Feed Atom Feed">
<link rel="alternate" type="application/json" href="/cardano-updates/feed.json" title="Cardano Updates Feed JSON Feed">
<link rel="alternate" type="application/rss+xml" href="/cardano-updates/quarterly/rss.xml" title="Cardano Development Updates RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/cardano-updates/quarterly/atom.xml" title="Cardano Development Updates Atom Feed">
<script src="https://plausible.io/js/script.js" defer="defer" data-domain="input-output-hk.github.io/cardano-updates"></script><link rel="stylesheet" href="/cardano-updates/assets/css/styles.1b2b551c.css">
<link rel="preload" href="/cardano-updates/assets/js/runtime~main.1282f806.js" as="script">
<link rel="preload" href="/cardano-updates/assets/js/main.870ab849.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/cardano-updates/"><div class="navbar__logo"><img src="/cardano-updates/img/logo.svg" alt="Cardano Logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/cardano-updates/img/logo.svg" alt="Cardano Logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">Cardano Updates</b></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/cardano-updates/">Home</a><a class="navbar__item navbar__link" href="/cardano-updates/quarterly">Quarterly</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/cardano-updates/tags">Topics</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/cardano-updates/tags">All Topics</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/network">Network</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/consensus">Consensus</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/ledger">Ledger</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/hydra">Hydra</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/db-sync">DB Sync</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/cli-api">Node CLI & API</a></li><li><a class="dropdown__link" href="/cardano-updates/quarterly/tags/cli-api-quarterly">Node CLI & API Quarterly</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/crypto">Crypto</a></li></ul></div><a class="navbar__item navbar__link" href="/cardano-updates/archive">Archive</a><a href="https://github.com/input-output-hk/cardano-updates" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent Posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-24-hydra">Hydra Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-23-db-sync">DB-sync Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-23-mithril">Mithril Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-22-consensus">Consensus Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-22-performance-and-tracing">Performance & tracing update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-21-network">Network Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-17-hydra">Hydra Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-17-ledger">Ledger Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-16-goedel">Goedel Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-10-hydra">Hydra Team Update</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting"><header><h1 class="title_f1Hy" itemprop="headline">Consensus Team Update</h1><div class="container_mt6G margin-vert--md"><time datetime="2023-01-11T00:00:00.000Z" itemprop="datePublished">January 11, 2023</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/dnadales" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://github.com/dnadales.png" alt="Damian Nadales"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/dnadales" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Damian Nadales</span></a></div><small class="avatar__subtitle" itemprop="description">Consensus Team Lead</small></div></div></div></div></header><div id="post-content" class="markdown" itemprop="articleBody"><h2 class="anchor anchorWithStickyNavbar_LWe7" id="high-level-summary">High level summary<a class="hash-link" href="#high-level-summary" title="Direct link to heading"></a></h2><p>The consensus team is resuming its activities after the Christmas break. During
these weeks we focused on cleaning and benchmarking the UTxO-HD prototype, and
discussing with the Ledger team the changes that might be required for the next
iterations. The pull request that adds the Conway era is waiting for a second
review round and we hope to merge it soon. On the technical debt side we are
looking into a property-test failure found in the iterators. We are
investigating if this is an error in the model or in the implementation. We also
improved the documentation of our testing code.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="workstreams">Workstreams<a class="hash-link" href="#workstreams" title="Direct link to heading"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="utxo-hd-prototype">UTxO HD Prototype<a class="hash-link" href="#utxo-hd-prototype" title="Direct link to heading"></a></h3><p>We worked with the Ledger team to start preparing the next versions of UTxO-HD.
The Ledger team is concerned that for the remaining maps we might need the full
ledger state on epoch boundaries. Since the main consumer of the ledger rules is
Consensus, the code that requires access to a full state could be moved from the
ledger to some Ledger-Consensus bridge. Eg. the traversal of rewards could take
place in such bridge, instead of querying the ledger for the values that are
required in the epoch-transition computations.</p><p>We <a href="https://github.com/input-output-hk/ouroboros-network/pull/4234" target="_blank" rel="noopener noreferrer">relocated</a> some UTxO-HD definitions, in preparation for merging
the prototype into <code>master</code>.</p><p>We also completed updated local benchmarks comparing the replay time and memory
consumption of:</p><ul><li>the baseline node (<code>f2fc76ef45647275c98634da1718290b976ff364</code>) </li><li>the UTxO-HD node with the in-memory backend </li><li>the UTxO-HD node with the LMDB backend</li></ul><p>The following plot shows the results: we can see that the LMDB node barely
reaches 8GB of memory, but it takes 1.78 times longer to replay the chain. The
in-memory backend is about 30 minutes faster, but still slower than the baseline
version. We are aware of this phenomenon and it is inherent to the problem of
maintaining sequences of differences of the last <code>k</code> ledger states that allows
us to perform rollback and roll-forward. We are in the process of measuring
syncing from scratch times.</p><p><img loading="lazy" src="/cardano-updates/assets/images/2023-01-11-utxo-hd-replay-benchmarks-dcf6daaf5460de7591a60db1457d2e58.png" width="2500" height="1700" class="img_ev3q"></p><p>We also <a href="https://github.com/input-output-hk/ouroboros-network/pull/4263" target="_blank" rel="noopener noreferrer">added <code>StaticEither</code> accessors</a> that helped us to simplify
the UTxO-HD prototype.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="new-conway-era">New Conway era<a class="hash-link" href="#new-conway-era" title="Direct link to heading"></a></h3><p>We incorporated the feedback of the <a href="https://github.com/input-output-hk/ouroboros-network/pull/3971" target="_blank" rel="noopener noreferrer">pull request</a>, and rebased this
branch on top of <code>master</code>. The PR is pending a second review round and we hope
to merge this soon.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="technical-debt">Technical debt<a class="hash-link" href="#technical-debt" title="Direct link to heading"></a></h3><p>We are investigating a <a href="https://github.com/input-output-hk/ouroboros-network/issues/4183" target="_blank" rel="noopener noreferrer">property-testing failure</a> involving
iterators. Solving this requires understanding the expected behavior of
iterators in the counterexample found by <code>QuickCheck</code> to determine if the error
is in the model or in the implementation.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="fostering-collaboration">Fostering collaboration<a class="hash-link" href="#fostering-collaboration" title="Direct link to heading"></a></h3><p>We <a href="https://github.com/input-output-hk/ouroboros-network/pull/4248" target="_blank" rel="noopener noreferrer">moved</a> the contents of <code>docs/Testing.md</code> closer to the code, so that the
explanations about the tests are easier to find in the relevant modules, and the
documentation is easier to keep up to date.</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/cardano-updates/tags/consensus">consensus</a></li></ul></div><div class="col margin-top--sm"><a href="https://github.com/input-output-hk/cardano-updates/tree/main/blog/2023-01-11-consensus.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/cardano-updates/2023-01-12-mithril"><div class="pagination-nav__sublabel">Newer Post</div><div class="pagination-nav__label">Mithril Team Update</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/cardano-updates/2023-01-11-performance-and-tracing"><div class="pagination-nav__sublabel">Older Post</div><div class="pagination-nav__label">Performance & tracing update</div></a></nav></main><div class="col col--2"><div class="tableOfContents_bqdL thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#high-level-summary" class="table-of-contents__link toc-highlight">High level summary</a></li><li><a href="#workstreams" class="table-of-contents__link toc-highlight">Workstreams</a><ul><li><a href="#utxo-hd-prototype" class="table-of-contents__link toc-highlight">UTxO HD Prototype</a></li><li><a href="#new-conway-era" class="table-of-contents__link toc-highlight">New Conway era</a></li><li><a href="#technical-debt" class="table-of-contents__link toc-highlight">Technical debt</a></li><li><a href="#fostering-collaboration" class="table-of-contents__link toc-highlight">Fostering collaboration</a></li></ul></li></ul></div></div></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Blog</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/cardano-updates/">Home</a></li><li class="footer__item"><a class="footer__link-item" href="/cardano-updates/archive">Archive</a></li><li class="footer__item"><a class="footer__link-item" href="/cardano-updates/tags">Tags</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 Input Output Global, Inc. Built with Docusaurus.</div></div></div></footer></div>
<script src="/cardano-updates/assets/js/runtime~main.1282f806.js"></script>
<script src="/cardano-updates/assets/js/main.870ab849.js"></script>
</body>
</html>