2023-10-27 23:57:42 +00:00
<!DOCTYPE html>
2024-04-30 16:52:21 +00:00
< html > < head > < title > 2023-10-25 Codex weekly< / title > < meta charSet = "utf-8" / > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" / > < meta property = "og:title" content = "2023-10-25 Codex weekly" / > < meta property = "og:description" content = "Weekly update of Codex." / > < 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 Codex." / > < 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 = "codex/updates/2023-10-23" > < 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-10-27 23:57:42 +00:00
< blockquote >
< p > We had a teamwide offsite in Crete from October 6th to the 12th, during which we were able to discuss and come up with concrete solutions around several important pieces of the project aspects such as the proving system and the contract start interactions, as well as plan out outstanding work for our upcoming testnet launch at the end of the year. The meeting was very productive and it helped align the team around the current and future outstanding work in order to hit our big end of year milestone.< / p >
< / blockquote >
< h2 id = "client" > Client< a aria-hidden = "true" tabindex = "-1" href = "#client" class = "internal" > §< / a > < / h2 >
< h3 id = "milestone-block-merkelization" > Milestone: Block Merkelization< a aria-hidden = "true" tabindex = "-1" href = "#milestone-block-merkelization" class = "internal" > §< / a > < / h3 >
< ul >
< li > Merkelization concrete PR in review
< ul >
< li > < a href = "https://github.com/codex-storage/nim-codex/pull/566" class = "external" > https://github.com/codex-storage/nim-codex/pull/566< / a > < / li >
< / ul >
< / li >
< / ul >
< h3 id = "milestone-block-exchange-protocol-refinements-and-simulations" > Milestone: Block Exchange protocol refinements and simulations< a aria-hidden = "true" tabindex = "-1" href = "#milestone-block-exchange-protocol-refinements-and-simulations" class = "internal" > §< / a > < / h3 >
< ul >
< li > Some results were presented during the offsite
< ul >
< li > < a href = "https://rpubs.com/giuliano_mega/codex-swarms" class = "external" > https://rpubs.com/giuliano_mega/codex-swarms< / a > < / li >
< / ul >
< / li >
< / ul >
< h3 id = "milestone-async-disc-access--threading-support" > Milestone: Async Disc Access & Threading support< a aria-hidden = "true" tabindex = "-1" href = "#milestone-async-disc-access--threading-support" class = "internal" > §< / a > < / h3 >
< ul >
< li > Work on IO threads support (not much progress due to offsite, will be picked up asap)
< ul >
< li > All related PRs are here < a href = "https://github.com/codex-storage/nim-datastore/pulls" class = "external" > https://github.com/codex-storage/nim-datastore/pulls< / a >
< ul >
< li > We now how a clear idea of how to implement and integrated it - < a href = "https://github.com/codex-storage/nim-codex/pull/552" class = "external" > https://github.com/codex-storage/nim-codex/pull/552< / a > < / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< h3 id = "milestone-sampling-and-storage-proofs" > Milestone: Sampling and Storage Proofs< a aria-hidden = "true" tabindex = "-1" href = "#milestone-sampling-and-storage-proofs" class = "internal" > §< / a > < / h3 >
< ul >
< li > Work on storage proofs is ongoing under < a href = "https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs" class = "external" > https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs< / a >
< ul >
< li > A circom implementation is being worked on in < a href = "https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs/MVP/circuit" class = "external" > https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs/MVP/circuit< / a > < / li >
< li > Reference/testing implementation to consume the circuits is done here < a href = "https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs/MVP/reference" class = "external" > https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs/MVP/reference< / a > < / li >
< / ul >
< / li >
< li > Analysis of the sampling strategies are available here < a href = "https://github.com/codex-storage/zk-research-artifacts/tree/master/sampling" class = "external" > https://github.com/codex-storage/zk-research-artifacts/tree/master/sampling< / a > < / li >
< / ul >
< h3 id = "milestone-client-stability-and-debugging" > Milestone: Client stability and debugging< a aria-hidden = "true" tabindex = "-1" href = "#milestone-client-stability-and-debugging" class = "internal" > §< / a > < / h3 >
< ul >
< li > Major effort to stabilize the Codex client through continuous automated testing
< ul >
< li > Work on better log analysis is being done here < a href = "https://github.com/gmega/logtools" class = "external" > https://github.com/gmega/logtools< / a > < / li >
< li > Running several load tests with ˜ 100 nodes using the dist testing framework < a href = "https://github.com/codex-storage/cs-codex-dist-tests" class = "external" > https://github.com/codex-storage/cs-codex-dist-tests< / a > < / li >
< / ul >
< / li >
< / ul >
< h2 id = "infra" > Infra< a aria-hidden = "true" tabindex = "-1" href = "#infra" class = "internal" > §< / a > < / h2 >
< ul >
< li > Investigating and fixing issues related to Elasticsearch logshipping
< ul >
< li > < a href = "https://github.com/codex-storage/infra-codex/issues/55" class = "external" > Install Loki in Dist-Tests cluster< / a > < / li >
< li > < a href = "https://github.com/codex-storage/infra-codex/issues/66" class = "external" > Fix Vector errors related to the Kubernetes logs shipping< / a > < / li >
< li > < a href = "https://github.com/codex-storage/infra-codex/issues/69" class = "external" > Configure Vector to ship Dist/Continuous-Tests logs to Loki< / a > < / li >
< / ul >
< / li >
< / ul >
< h2 id = "research" > Research< a aria-hidden = "true" tabindex = "-1" href = "#research" class = "internal" > §< / a > < / h2 >
< h3 id = "milestone-publications" > Milestone: Publications< a aria-hidden = "true" tabindex = "-1" href = "#milestone-publications" class = "internal" > §< / a > < / h3 >
< ul >
< li > White paper ongoing - < a href = "https://docs.google.com/document/d/1LCy23m90IHf32aUVhRT4r4772w1BfVcSLaJ0z9VTw9A/edit#heading=h.qs3bayckj5u4" class = "external" > https://docs.google.com/document/d/1LCy23m90IHf32aUVhRT4r4772w1BfVcSLaJ0z9VTw9A/edit#heading=h.qs3bayckj5u4< / a > < / li >
< / ul >
< h2 id = "das" > DAS< a aria-hidden = "true" tabindex = "-1" href = "#das" class = "internal" > §< / a > < / h2 >
< h3 id = "milestone-das" > Milestone DAS< a aria-hidden = "true" tabindex = "-1" href = "#milestone-das" class = "internal" > §< / a > < / h3 >
< ul >
< li > Our current engagement with the EF is coming to an end a summary of the work done has been collected here
< ul >
< li > < a href = "https://hackmd.io/TYqF-wj2SIWwpS2F_PhWzg" class = "external" > https://hackmd.io/TYqF-wj2SIWwpS2F_PhWzg< / a > < / li >
< / ul >
< / 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 = "#codex-update-oct-2---23" data-for = "codex-update-oct-2---23" > Codex Update Oct 2 - 23< / a > < / li > < li class = "depth-1" > < a href = "#client" data-for = "client" > Client< / a > < / li > < li class = "depth-2" > < a href = "#milestone-block-merkelization" data-for = "milestone-block-merkelization" > Milestone: Block Merkelization< / a > < / li > < li class = "depth-2" > < a href = "#milestone-block-exchange-protocol-refinements-and-simulations" data-for = "milestone-block-exchange-protocol-refinements-and-simulations" > Milestone: Block Exchange protocol refinements and simulations< / a > < / li > < li class = "depth-2" > < a href = "#milestone-async-disc-access--threading-support" data-for = "milestone-async-disc-access--threading-support" > Milestone: Async Disc Access & Threading support< / a > < / li > < li class = "depth-2" > < a href = "#milestone-sampling-and-storage-proofs" data-for = "milestone-sampling-and-storage-proofs" > Milestone: Sampling and Storage Proofs< / a > < / li > < li class = "depth-2" > < a href = "#milestone-client-stability-and-debugging" data-for = "milestone-client-stability-and-debugging" > Milestone: Client stability and debugging< / a > < / li > < li class = "depth-1" > < a href = "#infra" data-for = "infra" > Infra< / a > < / li > < li class = "depth-1" > < a href = "#research" data-for = "research" > Research< / a > < / li > < li class = "depth-2" > < a href = "#milestone-publications" data-for = "milestone-publications" > Milestone: Publications< / a > < / li > < li class = "depth-1" > < a href = "#das" data-for = "das" > DAS< / a > < / li > < li class = "depth-2" > < a href = "#milestone-das" data-for = "milestone-das" > Milestone DAS< / a > < / li > < / ul > < / div > < / div > < div class = "backlinks " > < h3 > Backlinks< / h3 > < ul class = "overflow" > < li > < a href = "../../codex/monthly-reports/2023-oct" class = "internal" > 2023 October Codex Monthly Report< / a > < / 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-10-27 23:57:42 +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 >