From 0cfc52933d6be2194616f606f2d74fce16447149 Mon Sep 17 00:00:00 2001 From: Corey Petty Date: Mon, 28 Nov 2022 19:57:03 -0500 Subject: [PATCH] update to faq --- .vscode/configurationCache.log | 2 +- .vscode/dryrun.log | 12 +- .vscode/targets.log | 362 +----------------- .../consensus/candidates/carnot/FAQ.md | 18 + 4 files changed, 34 insertions(+), 360 deletions(-) diff --git a/.vscode/configurationCache.log b/.vscode/configurationCache.log index 897b3441c..bab9054b3 100644 --- a/.vscode/configurationCache.log +++ b/.vscode/configurationCache.log @@ -1 +1 @@ -{"buildTargets":["help","serve","update","update-force"],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}} \ No newline at end of file +{"buildTargets":[],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}} \ No newline at end of file diff --git a/.vscode/dryrun.log b/.vscode/dryrun.log index 0da23d5ee..56db860f8 100644 --- a/.vscode/dryrun.log +++ b/.vscode/dryrun.log @@ -1,5 +1,7 @@ -make --dry-run --always-make --keep-going --print-directory -make: Entering directory '/home/petty/github/logos/roadmap' -hugo-obsidian -input=content -output=assets/indices -index -root=. && hugo server --enableGitInfo --minify -make: Leaving directory '/home/petty/github/logos/roadmap' - +make.exe --dry-run --always-make --keep-going --print-directory +'\\wsl.localhost\Ubuntu\home\petty\github\logos-co\roadmap' +CMD.EXE was started with the above path as the current directory. +UNC paths are not supported. Defaulting to Windows directory. +'make.exe' is not recognized as an internal or external command, +operable program or batch file. + diff --git a/.vscode/targets.log b/.vscode/targets.log index ea9a2f66a..de246332b 100644 --- a/.vscode/targets.log +++ b/.vscode/targets.log @@ -1,354 +1,8 @@ -make all --print-data-base --no-builtin-variables --no-builtin-rules --question -make: *** No rule to make target 'all'. Stop. - -# GNU Make 4.3 -# Built for x86_64-pc-linux-gnu -# Copyright (C) 1988-2020 Free Software Foundation, Inc. -# License GPLv3+: GNU GPL version 3 or later -# This is free software: you are free to change and redistribute it. -# There is NO WARRANTY, to the extent permitted by law. - -# Make data base, printed on Fri Aug 19 15:10:08 2022 - -# Variables - -# environment -GDK_BACKEND = x11 -# environment -LC_ALL = C -# environment -GNOME_SHELL_SESSION_MODE = pop -# environment -GVM_OVERLAY_PREFIX = /home/petty/.gvm/pkgsets/go1.18/global/overlay -# environment -GJS_DEBUG_OUTPUT = stderr -# environment -VSCODE_IPC_HOOK_EXTHOST = /run/user/1000/vscode-ipc-0b65e9f9-c50f-46ec-8b3e-16e5d47be053.sock -# environment -MANDATORY_PATH = /usr/share/gconf/pop.mandatory.path -# environment -VSCODE_CWD = /home/petty -# environment -GPG_TTY = -# environment -WINDOWPATH = 2 -# environment -NVM_DIR = /home/petty/.nvm -# default -MAKE_COMMAND := make -# environment -QT_ACCESSIBILITY = 1 -# environment -GOPATH = /home/petty/.gvm/pkgsets/go1.18/global -# automatic -@D = $(patsubst %/,%,$(dir $@)) -# environment -VSCODE_HANDLES_UNCAUGHT_ERRORS = true -# default -.VARIABLES := -# environment -PWD = /home/petty/github/logos/roadmap -# automatic -%D = $(patsubst %/,%,$(dir $%)) -# environment -LSCOLORS = dxFxCxDxBxegedabagacad -# environment -XDG_DATA_DIRS = /usr/share/pop:/home/petty/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/ -# environment -GITROB_ACCESS_TOKEN = c49c9d2ec4c374e85c96251d339e48b799299635 -# automatic -^D = $(patsubst %/,%,$(dir $^)) -# environment -VSCODE_LOG_STACK = false -# automatic -%F = $(notdir $%) -# environment -NVM_INC = /home/petty/.nvm/versions/node/v15.8.0/include/node -# environment -VSCODE_CODE_CACHE_PATH = /home/petty/.config/Code/CachedData/30d9c6cd9483b2cc586687151bcbcd635f373630 -# environment -LANG = C -# environment -XAUTHORITY = /run/user/1000/gdm/Xauthority -# default -.LOADED := -# environment -GVM_PATH_BACKUP = /home/petty/.gvm/bin:/home/petty/Qt/5.14.2/gcc_64/bin:/home/petty/.nimble/bin:/home/petty/.nvm/versions/node/v15.8.0/bin:/home/petty/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/go/bin:/home/petty/.local/bin:/home/petty/go/bin:/home/petty/GitHub/trueblocks/trueblocks-core/bin -# default -.INCLUDE_DIRS = /usr/local/include /usr/include /usr/include -# makefile -MAKEFLAGS = pqrR -# environment -PKG_CONFIG_PATH = /home/petty/.gvm/pkgsets/go1.18/global/overlay/lib/pkgconfig: -# environment -CERTORAKEY = 7c44e6b9f2327c0ee9bd7c577a00cb160cd457bb -# makefile -CURDIR := /home/petty/github/logos/roadmap -# environment -VSCODE_PIPE_LOGGING = true -# environment -APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL = 1 -# automatic -*D = $(patsubst %/,%,$(dir $*)) -# environment -MFLAGS = -pqrR -# environment -SSH_AUTH_SOCK = /run/user/1000/keyring/ssh -# default -.SHELLFLAGS := -c -# environment -NVM_BIN = /home/petty/.nvm/versions/node/v15.8.0/bin -# environment -XDG_CONFIG_DIRS = /etc/xdg/xdg-pop:/etc/xdg -# automatic -+D = $(patsubst %/,%,$(dir $+)) -# environment -XDG_SESSION_DESKTOP = pop -# makefile (from 'Makefile', line 1) -MAKEFILE_LIST := Makefile -# automatic -@F = $(notdir $@) -# environment -WEB3_INFURA_PROJECT_ID = ad89ee0df87340bba88c0608c5cf2fc2 -# environment -ZSH = /home/petty/.oh-my-zsh -# environment -VSCODE_VERBOSE_LOGGING = true -# environment -VSCODE_PID = 5085 -# environment -XDG_SESSION_TYPE = x11 -# automatic -?D = $(patsubst %/,%,$(dir $?)) -# environment -DYLD_LIBRARY_PATH = /home/petty/.gvm/pkgsets/go1.18/global/overlay/lib: -# environment -SESSION_MANAGER = local/pop-os:@/tmp/.ICE-unix/3095,unix/pop-os:/tmp/.ICE-unix/3095 -# automatic -*F = $(notdir $*) -# environment -CHROME_DESKTOP = code-url-handler.desktop -# environment -DBUS_SESSION_BUS_ADDRESS = unix:path=/run/user/1000/bus -# automatic - `Moh:` Waku needs to fill the following requirements, taken from the Carnot paper: + +> **Definition 3** (Probabilistic Reliable Dissemination). _After the GST, and when the leader is correct, all the correct nodes deliver the proposal sent by the leader (w.h.p)._ + +> **Definition 4** (Probabilistic Fulfillment). _After the GST, and when the current and previous leaders are correct, the number of votes collected by teh current leader is $2c+1$ (w.h.p)._ + ## Data Distribution ### How much failure rate of erasure code transmission are we expecting. Basically, what are the EC coding parameters that we expect to be sending such that we have some failure rate of transmission? Has that been looked into? - Dmitriy @@ -40,3 +49,12 @@ openToc: true > An honest node should wait for a specific number of children votes (to make sure everyone is voting on the same proposal) before voting but does not need to provide any cryptographic proof. Though we build a threshold signature from root committee members and it’s children but not from the whole tree. As long as enough number of nodes follow the the protocol we should be fine. I am working on protocol proofs. Also I think bugs should be discovered during development and testing phase. Changing protocol to detect potential bug might not be a good practice. +## Synchronicity + +### How to guarantee synchronicity. In particular how to avoid that in a big network different nodes see a proposal with 2c+1 votes but different votes and thus different random seed - Giacomo + +> `Moh:` The assumption is that there exists some known finite time bound Δ and a special event called GST (Global Stabilization Time) such that: + +> The adversary must cause the GST event to eventually happen after some unknown finite time. Any message sent at time x must be delivered by time $\delta + \text{max}(x,GST)$. In the Partial synchrony model, the system behaves asynchronously till GST and synchronously after GST. + +> Moreover, votes travel one level at a time from tree leaves to the tree root. We only need the proof of votes of root+child committees to conclude with a high probability that the majority of nodes have voted. \ No newline at end of file