network-stories/pages/Helper Document.md

666 lines
17 KiB
Markdown
Raw Normal View History

# Understanding the Logos Blockchain Whitepaper
>Title: Understanding the Logos Blockchain Whitepaper | A High-Level Conceptual Overview/Review of the Logos Blockchain
>
>Purpose:
>This document reflects an approach of whitepaper review that combines a rough-draft whitepaper review containing comments/reflections/concerns with a further simplification of concepts to make everything more digestible to more people outside of the internal Status infra team for communication purposes. In addition, this review will provide a gauge of difficulty of understanding involved with various different terms/concepts.
>
Tags: #learning #whitepaper #Logos
---
**"We build everything on top of consensus." **
Dr. Corey Petty
---
## **How-To (Get Cookin')**
*Instructions: There are some descriptions below which detail the usage of visual guidance metrics available in the form of "cookbook-like" instructions for how to consume this document:*
| Gauges | Description | Visualization |
| -------- | :-----------: | :----------: |
|Difficulty| 1-10 (Ticks/Pips) | [||||||||||] |
|Time | In Minutes | X Minutes |
|Resources | Article/Video Links w/ Visual Content | Conceptual & Pictoral "Ingredients List" of Links|
See below 'Recipe' and modify accordingly to above in Figma.
![[Pasted image 20220415164934.png]]
---
## **Operating Definitions:**
Prep (*Difficulty*) is defined as the ease of which the concepts can be generally understood. (Future: Make into more fun visual or something more enjoyable than a difficulty bar.)
Cook Time (*Scope*) is in reference to the size of information necessary to learn to gain a decent level of comprehension.
Ingredients (*Resources*) is for links relevant to helping people understand the concepts. Number references and use superscript notation to reference mentions in terminology Recipes descriptions.
Future Work: Adjust difficulty/time ratings, cook time respec. based on feedback from everyone at DXB.
---
## Necessary Terminology by Layer
---
### The Six (6) Technology Layers of Logos as a Blockchain
- Terminology Template (Recipe): [[here]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients: [pictures, videos, article links, research papers, etc.]
#### Consensus
- [[BBA]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://arxiv.org/pdf/2001.07867.pdf
- [[Leaderless ]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://ieeexplore.ieee.org/document/9546485
- [[DAGs]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://en.wikipedia.org/wiki/Directed_acyclic_graph
2. https://tokens-economy.gitbook.io/consensus/chain-based-dag/direct-acyclic-graph-tangle-dag
- [[CIC]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. See 'Consensus' section within Logos Specifications
- [[P2P Messaging]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://en.wikipedia.org/wiki/Peer-to-peer
- [[Message Passing]] (is a general framework, P2P Messaging is a subset of Message Passing)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Gossip Protocol]] (is a subset of P2P Messaging)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://en.wikipedia.org/wiki/Gossip_protocol#:~:text=A%20gossip%20protocol%20or%20epidemic,all%20members%20of%20a%20group.
- [[Permissionless]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://eprint.iacr.org/2021/023.pdf
- [[Scalability]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://eprint.iacr.org/2021/023.pdf
2. https://medium.com/vechain-foundation/what-does-scalability-really-mean-in-blockchain-b8b13b3181c6
3. https://101blockchains.com/blockchain-scalability-challenges/
- [[Decentralization]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://en.wikipedia.org/wiki/Decentralization
2. https://blockworks.co/measuring-decentralization-is-your-crypto-decentralized/
3. https://jods.mitpress.mit.edu/pub/7vxemtm3/release/2
- [[Security]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://arxiv.org/pdf/1802.06993.pdf
- [[Communication Costs]] (wrt message complexity - see how this extends into hardware)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.221.883&rep=rep1&type=pdf#:~:text=message%20complexity%20denotes%20the%20maximum,last%20node%20completes%20the%20algorithm.
- [[Stream or Subgraph]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://thegraph.com/docs/en/developer/define-subgraph-hosted/
2. https://streamingfastio.medium.com/streamingfacts-understanding-the-costs-of-upgrading-a-subgraph-fedf5d61223 (is this related?)
- [[Staking]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://deliverypdf.ssrn.com/delivery.php?ID=112001112005005071028123005115028071053009053038065056030075021066021091100007083094098007039126015013042085120028028079118118027039038017006093067005067006124005093039032030000094104124024001105026027114005123097090090111113068087076002030115100122071&EXT=pdf&INDEX=TRUE
2. https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3609817
3. https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4059460
- [[Sybil Resistance]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://en.wikipedia.org/wiki/Sybil_attack
- [[CFT (Crash Fault Tolerant)]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://medium.com/@chamirachid/your-journey-to-consensus-part-1-6a88a6f818f65
2. https://en.wikipedia.org/wiki/Fault_tolerance5
3. https://dl.acm.org/doi/pdf/10.1145/102792.102801
- [[BFT (Byzantine Fault Tolerant)]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://en.wikipedia.org/wiki/Byzantine_fault
- [[PBFT (Practical Byzantine Fault Tolerant)]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://www.geeksforgeeks.org/practical-byzantine-fault-tolerancepbft/#:~:text=Practical%20Byzantine%20Fault%20Tolerance%20is,optimized%20for%20low%20overhead%20time.
2. https://www.usenix.org/legacy/events/nsdi09/tech/full_papers/clement/clement.pdf
- [[Finality]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://medium.com/mechanism-labs/finality-in-blockchain-consensus-d1f83c120a9a5
- [[Social Applications]] (look up context)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Bootstrapping]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://en.wikipedia.org/wiki/Bootstrapping_node#:~:text=A%20bootstrapping%20node%2C%20also%20known,successfully%20join%20the%20overlay%20network.
- [[Rounds]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Round-less]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Paxos]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[DAG-Based Consensus]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1. https://www.sciencedirect.com/science/article/pii/S2352864819301476
- [[Liveness]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Asynchronous (P2P)]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Execution-Layer Decoupling]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Interchangeability]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Liveness]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Extensibility]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Highly-Partitioned Blockchains with Local Views]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Ordering]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Reputation]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Confidence]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Network Congestion]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Topology]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Resilience (Consensus context)]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Verifiability]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Non-Repudiation]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Snowball]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Lachesis]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Glacier]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
#### Node Reputation
- [[Ikingut (Reputation Algorithm)]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Important Conceptual Goals]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Simple
- Lightweight
- Pluggable
- Adaptive
- Dynamic
- Robust
- No Transitive Trust
- Reasonable Bootstrap Time
- [[Reputation Polling]] (Polling Dynamics)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Indirect Request]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Direct Request]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Unirep]] (a pre-existing example)
- [[Qualities Necessary]] (of Direct Request)
- [[Verifiability]]
- [[Non-Repudiation]]
- [[Privacy Preserving]] (preserve origins of score, emit opinions without a way to trace back the origins - MPC)
- [[ Local Heuristic]]
- [[Glacier Algorithm]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
- Each Iteration
1. Voting
2. Agent Action (Post-Consensus Decision Finality)
- Min-Multiplicative Reputation Punishment
- Multiplicative
- Linear
- Experimental Research
- Starting Point
- [[Trust Wisdom per Node]] (requires further elaboration)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Adversary Types and Effects]] (requires further elaboration)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Current Stage of Testing/Challenges
- [[Silent-Omniscient Adversaries]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Punishment Testing]] (Modulating Punishment/No Punishment Impacts to Conditions)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Adding Multiplicative-min Punishment]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Reputation Attacks]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Con-Artist Attack]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[The On-Off Attack]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Punishment Effects on Glacier]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Reputation Limitations]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- No immediate defense against coordinated attacks
- Reputation does not add to security
- Future Work
- [[Circumstantial Impact of Reputation on Consensus]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Long-running Simulation]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Sudden changes in Collective Byzantine Behavior]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Pending Questions
1. Interaction of [[Stake-based]] and [[Reputation-based]] selection
- Stake simulations are necessary for exploring options
- Relevant in the incentives discussion?
2. How much (and if) does reputation really help in a coordinated attack? (Assuming patient con-artist attack)
- Complex interactions here, this model would particularly benefit having a prototype/PoC
- [[Node Challenges]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
1. [[Intermittence Flexibility | Maintain Operation in High-Churn Network]]
2. [[Sudden Changing Behavior]]
3. [[Bootstrapping Quickly]]
4. [[Resilience to Dynamic Unpredictable Network Changes (Can Handle Membership Volatility)]]
- [[Design]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
1. [[Local reputation view]]
2. [[Adaptive and Dynamic]]
3. [[Required Bootstrapping]]
- [[Network View Not Required]]
- [[Individual Node Reputation Not Required]]
- [[Eigentrust]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Transitive Trust]]
- [[Understanding the Math]]
- [[Trust Decay]]
- [[Malicious Clusters]] (describe nuances better, trusted nodes cannot overlap the malicious collective)
- [[Trust for Consensus]]
- [[Separation of Reputation]]
- [[Confidant]]
- [[XRep]]
- [[P-Grid]]
- [[R2Trust]]
- [[Generic Taxonomy]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Dimensions]]
- Single
- Multiple
- [[Time computation]]
- [[Aggregation]]
- Deterministic sum of positive and negative ratings
- Probabilistic
- [[Logic]]
- Local vs gathered data
- Age of data
- Frequency of data
- Weight of multiple dimensions
- [[Value Control]]
- External
- Internal
- [[Data Aging]]
- None
- Decay
- Death of old/selected
- [[Selection]]
- Ranking-based
- Threshold (trusted/untrusted)
- Probabilistic selection
#### Network Layer and Mempool
- [[Node Discovery]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Subnetworks]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Design
- Implementation
- Ideas
- [[Mempool]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Challenges
- Approach
- Mempool Design
#### Staking and Multi-DAG
- [[Factory of DAGs]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Concept
- Algorithm
- [[Sub-DAG]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Cross-DAG]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Bridge (Intermediary) Nodes]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Gravity]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Application-Level User-Driven]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Direct Communication Channel]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Direct Communication VGER]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Challenges
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Probabilistic Finality]] and [[Cross-Network Communication]]
- [[Network Partitioning]] and [[Forks]]
- [[Weak Subjectivity]] - Reputation of nodes matters to clients. Nodes are clients of other networks.
- [[Verifying Weights in Staking]]
- [[Glacier Algorithm Quiesces]]
- [[Approach]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
1. [[Deterministic Finality]]
2. [[Secondary Consensus Protocol]] (form local opinion on external DAG)
3. [[Intermediary DAG]] (Intersection of nodes participating mutually in common structures)
- [[Vertex Sealing]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[XSub]] (Cross-sub-DAG communication)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[XDAG]] (Cross-DAG communication)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[XDAG Fees]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Communication Patterns]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Direct
- User-Coordinated Channel
- Sub-DAG-Coordinated Channel
- [[Stake Sub-DAG]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Totally-Ordered Chain]]
- [[Global Knowledge]]
- [[Alternative Designs]]
- [[2P-Set]]
- [[Per-Node Branch]]
#### Data Model and Concurrency
- Reference Work
- [[eUTXO]] (Direct extension of the basic UTXO model)
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- References (Cardano foundational paper)
- [[Validator]]
- [[Datum]]
- [[Redeemer]]
- [[Ledger Description]]
- [[CKB]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Key feature: [[state space ownership]]
- [[Cell description]]
- [[Transaction description]]
- [[Zexe]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Key Feature: Privacy
- Transaction Description
- Record Description
- Approach
- [[Data Model Design]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Challenges
- Concept
- Data Structures and Constraints
- [[Concurrent Execution (Threads)]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Execution Patterns]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- Useful patterns
- Example of [[EVM execution]] on this model
- Explore and describe
- [[Anti-patterns]]
- High Contention
- Low Affinity
#### Tokenomics
- [[Fees]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Rewards]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[Slashing]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.
- [[MEV]]
- Prep: [||||||||||]
- Cook Time: X min
- Ingredients:
1.