roadmap/nomos/updates/2023-12-25.html

102 lines
116 KiB
HTML
Raw Normal View History

2023-12-28 07:05:51 +00:00
<!DOCTYPE html>
2024-03-25 18:57:56 +00:00
<html><head><title>2023-12-25 Nomos weekly</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="2023-12-25 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/2023-12-25"><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
2023-12-28 07:05:51 +00:00
<h3 id="research"><code>research</code><a aria-hidden="true" tabindex="-1" href="#research" class="internal"> §</a></h3>
<ul>
<li>Used bounds and asymptotic analysis to create a new version of the table (see <a href="https://docs.google.com/spreadsheets/d/1MaSBbfUGmJniILPvcQLxtyXqjBExUUEB6C2-YWNP6uI/edit?usp=sharing" class="external">this</a> for reference) which estimates the number of layers needed in the mixnet protecting the network layer. The latter assumes a very simple lottery function where the probability of winning is equal to the relative stake.</li>
</ul>
<h3 id="development"><code>development</code><a aria-hidden="true" tabindex="-1" href="#development" class="internal"> §</a></h3>
<ul>
<li>No updates</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>We are experiencing an <a href="https://github.com/status-im/infra-misc/issues/220" class="external">issue</a> with the file system on <code>metal-01.he-eu-hel1.nomos.misc</code> entering a read-only state. This is preventing any write operations on the system, impacting normal operations and services.</li>
<li>Nomos node stability investigation - found a main reason for tesnet failing after some time, consensus engine has some asserts that are not met during the run. Im trying to replicate the same behaviour in integration tests.</li>
</ul>
<h2 id="private-pos"><code>private PoS</code><a aria-hidden="true" tabindex="-1" href="#private-pos" 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>A <a href="https://www.notion.so/The-Consensus-From-the-Past-till-Today-e057b669032d43f0a90393f5383e3d4d?pvs=4" title="https://www.notion.so/The-Consensus-From-the-Past-till-Today-e057b669032d43f0a90393f5383e3d4d?pvs=4" class="external">consensus reference page</a> has been written detailing the path and the history of decisions made as a context to the other documents we have provided. It is important to mention that this is a living document that might be updated further in the future.</li>
<li>Updated the <a href="https://www.notion.so/DarkFi-s-little-audit-8cd6d5bb461f434a8372856d57eb5353%22" class="external">ongoing document</a> of DarkFi Crypsinous implementation with new details.</li>
<li><a href="https://www.notion.so/Byzantine-Gossip-Consensus-a83513712031444f80eb5f6097773b72" class="external">Summarized</a> the findings and ideas from different papers around byzantine gossip and consensus. There are some ideas that might be useful to us in the future.</li>
<li>For the Crypsinous lottery function analyzed the maximum likelihood (ML) statistical inference framework. The latter can be used by an adversary for inference of stakes of nodes to infer relative stake. Formally the ML framework suggests that observations of election statistics of all nodes are required in order to infer relative stake of a single node. However, for long time observations there is a possibility that statistics for a single node are sufficient to infer its relative stake. The <a href="https://www.overleaf.com/read/fzbrxvkwwscq#f2907c" class="external">analysis</a> of this scenario, which uses a “naive” estimator of relative stake, is currently in progress.</li>
<li>Normalize stake for leader lottery: Summary with plots and equations can be found <a href="https://www.notion.so/Lottery-Function-65f5ed5522b64c36b625652023318d88?pvs=4#98db4a6ff8644792b2ee65bafd6ecdf2" class="external">here</a>.</li>
<li>We have a new analytical tool for analyzing the average of our process for learning stake, it lets us study how the process converges without the slow simulation runs and makes analytical work much simpler.</li>
<li>We found that our process for learning D will underestimate true total stake by up to 3% (depends on our choice of constants), we have some analytical bounds on the underestimate and confirmed them with simulation.</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>Finished the comparison <a href="https://www.notion.so/Comparison-of-DA-Structures-47350a408cbd4d8db545527b7a598ccf" class="external">article</a> of DA structures (Merkle Tree, RS+KZG and Merkle Tree+Snarks) and reach the conclusion that the structure we designed is flexible. We can easily switch to the Merkle tree + Plonky2 structure in the future.</li>
<li>Some additional research notes in terms of DA comparison can be found <a href="https://www.notion.so/DA-Research-Papers-Notes-9d4f26c736f347a985d6615e1c7e8789" class="external">here</a>.</li>
<li>Skimming through <a href="https://eprint.iacr.org/2023/1926" class="external">NOTRY: Deniable messaging with retroactive avowal</a> to check if there is anything interesting to us</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</li>
</ul>
<h3 id="miscellaneous"><code>miscellaneous</code><a aria-hidden="true" tabindex="-1" href="#miscellaneous" class="internal"> §</a></h3>
<ul>
<li>Architecture whitepaper will be reviewed internally by the team in the following weeks.</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
2024-01-02 19:24:43 +00:00
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="#private-pos" data-for="private-pos">private PoS</a></li><li class="depth-1"><a href="#research-1" data-for="research-1">research</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-2" data-for="development-2">development</a></li><li class="depth-1"><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
2023-12-28 07:05:51 +00:00
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>