roadmap/nomos/updates/2024-02-05.html

112 lines
120 KiB
HTML
Raw Normal View History

2024-02-06 18:45:16 +00:00
<!DOCTYPE html>
2024-04-17 14:45:17 +00:00
<html><head><title>2024-02-05 Nomos weekly</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="2024-02-05 Nomos weekly"/><meta property="og:description" content="Weekly update of Nomos."/><meta property="og:image" content="https://roadmap.logos.co/static/og-image.png"/><meta property="og:width" content="1200"/><meta property="og:height" content="675"/><link rel="icon" href="../../static/icon.png"/><meta name="description" content="Weekly update of Nomos."/><meta name="generator" content="Quartz"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><link href="../../index.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://fonts.googleapis.com/css2?family=IBM Plex Mono&amp;family=sans-serif:wght@400;700&amp;family=sans-serif:ital,wght@0,400;0,600;1,400;1,600&amp;display=swap" rel="stylesheet" type="text/css" spa-preserve/><script src="../../prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch(`../../static/contentIndex.json`).then(data => data.json())</script></head><body data-slug="nomos/updates/2024-02-05"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><h1 class="page-title "><a href="../..">Logos Collective Project Roadmaps</a></h1><div class="spacer mobile-only"></div><div class="search "><div id="search-icon"><p>Search</p><div></div><svg tabIndex="0" aria-labelledby="title desc" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title id="title">Search</title><desc id="desc">Search</desc><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></div><div id="search-container"><div id="search-space"><input autocomplete="off" id="search-bar" name="search" type="text" aria-label="Search for something" placeholder="Search for something"/><div id="results-container"></div></div></div></div><div class="darkmode "><input class="toggle" id="darkmode-toggle" type="checkbox" tabIndex="-1"/><label id="toggle-label-light" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35;" xmlSpace="preserve"><title>Light mode</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6 C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9 c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06 L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z M28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2 C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-0.439-1.061L28.561,26.439z M17.5,29 c-0.829,0-1.5,0.672-1.5,1.5v3c0,0.828,0.671,1.5,1.5,1.5s1.5-0.672,1.5-1.5v-3C19,29.672,18.329,29,17.5,29z M17.5,7 C11.71,7,7,11.71,7,17.5S11.71,28,17.5,28S28,23.29,28,17.5S23.29,7,17.5,7z M17.5,25c-4.136,0-7.5-3.364-7.5-7.5 c0-4.136,3.364-7.5,7.5-7.5c4.136,0,7.5,3.364,7.5,7.5C25,21.636,21.636,25,17.5,2
2024-02-06 18:45:16 +00:00
<h3 id="research"><code>research</code><a aria-hidden="true" tabindex="-1" href="#research" class="internal"> §</a></h3>
<ul>
<li>Polishing the mixnet specification regarding the topology algorithm and all parameters - weve had some <a href="https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?d=80f00df5f08843bd95d7cf3552bad4c1#8aec5ec23da548388ce89e56ba21cd9f" class="external">concerns</a> about it, so there are several ongoing discussions on <a href="https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?d=7aaa6b805985476794a33359d21660b4#e041fafe4de54efd9ea142e551f1fc48" class="external">Notion</a> and <a href="https://github.com/logos-co/nomos-specs/pull/57#discussion_r1472490489" class="external">GitHub</a> in regards to answering them. For more details on the discussion, check this <a href="https://github.com/logos-co/nomos-specs/pull/61" class="external">PR</a>.</li>
<li>While it has been postponed from v1, <a href="https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?d=6b520f4f0fbd41de96cf9978c5339610#d0f5c0ef93474179b49af149893226d3" class="external">we will have to define</a> the mix node identity soon for incentivization.</li>
<li>After careful consideration and discussion, the <a href="https://github.com/logos-co/nomos-specs/pull/56" class="external">topology update</a> and <a href="https://github.com/logos-co/nomos-specs/pull/57" class="external">public APIs</a> PRs for core logic have been merged.</li>
</ul>
<h3 id="development"><code>development</code><a aria-hidden="true" tabindex="-1" href="#development" class="internal"> §</a></h3>
<ul>
<li>Added a utilities function of python mixnet to rust <a href="https://github.com/logos-co/nomos-node/pull/575" class="external">PR</a>. Currently in review.</li>
</ul>
<h2 id="testnet"><code>testnet</code><a aria-hidden="true" tabindex="-1" href="#testnet" class="internal"> §</a></h2>
<h3 id="development-1"><code>development</code><a aria-hidden="true" tabindex="-1" href="#development-1" class="internal"> §</a></h3>
<ul>
<li>Additional polishing (route separation) of the Naive blocks query implementation from the storage layer <a href="https://github.com/logos-co/nomos-node/pull/566" class="external">PR</a>.</li>
<li>Added DA API for Explorer, while removing the unused API <a href="https://github.com/logos-co/nomos-node/pull/576" class="external">PR</a> - currently in review.</li>
<li><a href="https://github.com/logos-co/nomos-node/tree/integrate-explorer" class="external">Integrated</a> the block explorer into the demo. Currently thinking about writing integration tests for it.</li>
<li>Testnet fixes <a href="https://github.com/logos-co/nomos-node/pull/574" class="external">PR</a>: the testnet ran on Linux with no issues; however, several fixes were needed for it to work on MacOS (about Grafana, Nomos chat bot params, and Nomos chat OpenSSL libs build version).</li>
</ul>
<h2 id="cryptarchia"><code>cryptarchia</code><a aria-hidden="true" tabindex="-1" href="#cryptarchia" class="internal"> §</a></h2>
<h3 id="research-1"><code>research</code><a aria-hidden="true" tabindex="-1" href="#research-1" class="internal"> §</a></h3>
<ul>
<li>Updated the wealth concentration analysis <a href="https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#1df422f6cc204cb8b362f41cda260b8b" class="external">chapter</a> about the stake relativization algorithm - specifically about the impact of the stake relativization.</li>
<li>Updated the <a href="https://www.notion.so/Nomos-Tokenomics-Design-Canvas-e62e78ee0f8c4a719d1f6ffb08574241" class="external">Nomos Tokenomics Design Canvas</a> with details about the “Validators” role. More roles to be entered in the coming weeks.</li>
<li>Added the fork choice rule <a href="https://github.com/logos-co/nomos-specs/pull/58" class="external">PR</a> as described in “Ouroboros Genesis: Composable Proof-of-Stake Blockchains with Dynamic Availability”. Tests will be added later.</li>
<li>“Follower maintains ledger state as it follows the blockchain” <a href="https://github.com/logos-co/nomos-specs/pull/62" class="external">PR</a>. Leader coins are now spent when they become slot leaders. The next step is to have the leaderproof produce a new coin that the validator can then use to lead another slot.</li>
<li>Merged the “Add header ID and message” <a href="https://github.com/logos-co/nomos-specs/pull/52" class="external">PR</a>.</li>
<li>Summarized the mathematical analysis work in the Impact on Forks <a href="https://www.notion.so/Impacts-of-Approximate-Total-Stake-1b9a248b222449c68c70fb645a733b03#843c7c5e84854f458ada2d91813ea5f4" class="external">chapter</a> and Reducing Forking <a href="https://www.notion.so/Impacts-of-Approximate-Total-Stake-1b9a248b222449c68c70fb645a733b03#fa783cb6d21b42809b1c06b2c6d68f07" class="external">chapter</a>. More precisely, derived the probability of the “forking” event and the “empty slot” event when the approximate value of the total stake is used. Considered the large total stake and finite number of slots scenario to derive the typical number of forks and empty slots expected in the T number of slots. This framework was used to assess impacts of underestimation/overestimation of the total stake on the number of forks and empty slots. For the detailed mathematical analysis, check the <a href="https://www.overleaf.com/project/656dfacf4929b4a3d6d2ffe5" class="external">Overleaf document</a>.</li>
</ul>
<h3 id="development-2"><code>development</code><a aria-hidden="true" tabindex="-1" href="#development-2" class="internal"> §</a></h3>
<ul>
<li>No updates, heavily in research.</li>
</ul>
<h2 id="data-availability"><code>data availability</code><a aria-hidden="true" tabindex="-1" href="#data-availability" class="internal"> §</a></h2>
<h3 id="research-2"><code>research</code><a aria-hidden="true" tabindex="-1" href="#research-2" class="internal"> §</a></h3>
<ul>
<li><a href="https://www.notion.so/DA-Layer-Comparison-Table-5848811f0af042e2b24c10d3cea9b0a8" class="external">DA Document</a> has been updated with new details based on the team review (specifically around adding more details about Ethereum Danksharding).</li>
<li>Merged a mandatory <a href="https://github.com/logos-co/nomos-specs/pull/60" class="external">PR</a> containing a big chunk of primitives from the ETH specification thats a dependency for building our DA specification. It will help us save a good amount of time during our implementation (and testing) of everything.</li>
</ul>
<h3 id="development-3"><code>development</code><a aria-hidden="true" tabindex="-1" href="#development-3" class="internal"> §</a></h3>
<ul>
<li>Started work on the DA Layer Implementation Details <a href="https://www.notion.so/DA-Layer-Cryptographic-Implementation-Details-4d8ca269e96d4fdcb05abc70426c5e7c?d=b2cd8254d6b240d89e029e9d7518ba17#99b607ee531340718520a142e281bda9" class="external">document</a>. This is a an executable spec.</li>
<li>The sketch of the DA layer can be seen in this <a href="https://github.com/logos-co/nomos-specs/tree/da-specs" class="external">branch</a>.</li>
</ul>
<h2 id="miscellaneous"><code>miscellaneous</code><a aria-hidden="true" tabindex="-1" href="#miscellaneous" class="internal"> §</a></h2>
<ul>
<li>The <a href="https://nomos.tech/" class="external">websites</a> copywriting has been updated to reflect the changes from the Darkpaper.</li>
<li>Started publishing posts on <a href="https://twitter.com/Nomos_tech" class="external">X</a>.</li>
<li>We have chosen several articles and will be publishing more detailed, scientific blog posts in the coming weeks. Once the specifications are complete, they will also be communicated via our social media.</li>
<li>Darkpaper v0.5 published internally.</li>
</ul></article></div><div class="right sidebar"><div class="graph "><h3>Graph View</h3><div class="graph-outer"><div id="graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:1,&quot;scale&quot;:1.1,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[]}"></div><svg version="1.1" id="global-graph-icon" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xmlSpace="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></div><div id="global-graph-outer"><div id="global-graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:-1,&quot;scale&quot;:0.9,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[]}"></div></div></div><div class="toc desktop-only"><button type="button" id="toc"><h3>Table of Contents</h3><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="toc-content"><ul class="overflow"><li class="depth-0"><a href="#network-privacy-and-mixnet" data-for="network-privacy-and-mixnet">network privacy and mixnet</a></li><li class="depth-1"><a href="#research" data-for="research">research</a></li><li class="depth-1"><a href="#development" data-for="development">development</a></li><li class="depth-0"><a href="#testnet" data-for="testnet">testnet</a></li><li class="depth-1"><a href="#development-1" data-for="development-1">development</a></li><li class="depth-0"><a href="#cryptarchia" data-for="cryptarchia">cryptarchia</a></li><li class="depth-1"><a href="#research-1" data-for="research-1">research</a></li><li class="depth-1"><a href="#development-2" data-for="development-2">development</a></li><li class="depth-0"><a href="#data-availability" data-for="data-availability">data availability</a></li><li class="depth-1"><a href="#research-2" data-for="research-2">research</a></li><li class="depth-1"><a href="#development-3" data-for="development-3">development</a></li><li class="depth-0"><a href="#miscellaneous" data-for="miscellaneous">miscellaneous</a></li></ul></div></div><div class="backlinks "><h3>Backlinks</h3><ul class="overflow"><li>No backlinks found</li></ul></div></div></div><footer class><hr/><p>Created with <a href="https://quartz.jzhao.xyz/">Quartz v4.1.0</a>, © 2024</p><ul><li><a href="https://github.com/logos-co/roadmap">GitHub</a></li><li><a href="https://discord.com/invite/logos-state">Discord Community</a></li></ul></footer></div></body><script type="application/javascript">// quartz/components/scripts/quartz/components/scripts/callout.inline.ts
function toggleCallout() {
const outerBlock = this.parentElement;
outerBlock.classList.toggle(`is-collapsed`);
const collapsed = outerBlock.classList.contains(`is-collapsed`);
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight;
outerBlock.style.maxHeight = height + `px`;
let current = outerBlock;
let parent = outerBlock.parentElement;
while (parent) {
if (!parent.classList.contains(`callout`)) {
return;
}
const collapsed2 = parent.classList.contains(`is-collapsed`);
const height2 = collapsed2 ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight;
parent.style.maxHeight = height2 + `px`;
current = parent;
parent = parent.parentElement;
}
}
function setupCallout() {
const collapsible = document.getElementsByClassName(
`callout is-collapsible`
);
for (const div of collapsible) {
const title = div.firstElementChild;
if (title) {
title.removeEventListener(`click`, toggleCallout);
title.addEventListener(`click`, toggleCallout);
const collapsed = div.classList.contains(`is-collapsed`);
const height = collapsed ? title.scrollHeight : div.scrollHeight;
div.style.maxHeight = height + `px`;
}
}
}
document.addEventListener(`nav`, setupCallout);
window.addEventListener(`resize`, setupCallout);
</script><script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs';
const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark'
mermaid.initialize({
startOnLoad: false,
securityLevel: 'loose',
theme: darkMode ? 'dark' : 'default'
});
document.addEventListener('nav', async () => {
await mermaid.run({
querySelector: '.mermaid'
})
});
</script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/copy-tex.min.js" type="application/javascript"></script><script src="../../postscript.js" type="module"></script></html>