2023-12-05 12:49:57 +00:00
<!DOCTYPE html>
2024-02-14 08:07:09 +00:00
< html > < head > < title > 2023-12-04 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-04 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&family=sans-serif:wght@400;700&family=sans-serif:ital,wght@0,400;0,600;1,400;1,600&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-04" > < 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-05 12:49:57 +00:00
< h3 id = "research" > < code > research< / code > < a aria-hidden = "true" tabindex = "-1" href = "#research" class = "internal" > §< / a > < / h3 >
< ul >
< li > Progress on the Mixnet implementation specification, with particular emphasis on integration on the rest of the system.< / li >
2023-12-05 12:52:11 +00:00
< li > Discussing and analyzing possible strategies for cover traffic specially tailored to the consensus algorithm.< / li >
2023-12-05 12:49:57 +00:00
< / ul >
< h3 id = "development" > < code > development< / code > < a aria-hidden = "true" tabindex = "-1" href = "#development" class = "internal" > §< / a > < / h3 >
< 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 > Merged < a href = "https://github.com/logos-co/nomos-node/pull/522" class = "external" > Prometheus metrics service< / a > < / 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 > We consider leader election in PoS observed over some period of time by an adversary who wants to learn its stake with high “accuracy” and high “confidence”.< / li >
< li > For the probability of stake greater than some threshold derived rigorous lower and upper bounds on this probability.< / li >
< li > For the same probability considered an asymptotic long-time regime and developed a mathematical framework for this regime. < / li >
< li > Verification of above results by simulations is in progress. < / li >
< li > The above will be a part of the framework which will be used to get a more accurate estimate of the number of layers which are required to reduce anonymity failures in the mixnet. More details provided < a href = "https://www.overleaf.com/read/xvgmfchdhgzh#acd15d" class = "external" > here< / a > < / li >
< li > Analyzed how stake splitting affected leader rates in Crypsinous: Stake Splitting in Praos< / 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 > Designed a new super-commitment structure and explained it < a href = "https://www.notion.so/1-5d-SuperCommit-4a81bdaf19e64d53a4a158f38c6b6077" class = "external" > here< / a > . After some discussions, we agreed that prover cannot temper the column entries by adding and subtracting some values but he can reorder the column entries. The proof does not guarantee column ordering. Solution methods for this were discussed, but since the focus was on a different structure design, this development was postponed for now.< / li >
< li > Thought of a different design and explained it < a href = "https://www.notion.so/New-Idea-cddf055558f84137ba19f01ea8fe15c7" class = "external" > here< / a > . The main idea of the design is to take a commitment of commitments. As a result of the investigations, the structure is thought to be working. Cryptographic proof will be worked on.< / li >
< li > The newly designed structures were compared with these existing schemes. It is thought that our current design will provide the whole advantages of < a href = "https://blog.availproject.org/a-guide-to-selecting-the-right-data-availability-layer/" class = "external" > Avail< / 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 > Continuing DA mock implementation - splitting it into reviewable parts< / li >
< li > < a href = "https://github.com/logos-co/semiavidpr-experiments/tree/kzg-1D-benchmarks" class = "external" > 1D benchmarking< / a > < / li >
< / ul >
< h3 id = "miscellaneous" > < code > miscellaneous< / code > < a aria-hidden = "true" tabindex = "-1" href = "#miscellaneous" class = "internal" > §< / a > < / h3 >
< ul >
< li > The Whitepaper now contains a whole new section on Light Nodes.< / li >
< li > Carnot’ s role in Nomos has been updated.< / li >
< li > Explanations about privacy have been expanded and adapted to include the notion of resiliency.< / li >
< li > Added other sections, like Multiple Base Layers and others related to Light Nodes.< / li >
< li > Added new diagrams< / 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 = "{"drag":true,"zoom":true,"depth":1,"scale":1.1,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}" > < / 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 = "{"drag":true,"zoom":true,"depth":-1,"scale":0.9,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}" > < / 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" > / / q u a r t z / c o m p o n e n t s / s c r i p t s / q u a r t z / c o m p o n e n t s / s c r i p t s / c a l l o u t . i n l i n e . t s
2023-12-05 12:49:57 +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 >