diff --git a/package.json b/package.json index 542970486..0f7851cdf 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "help-rmd": "reveal-md --help", "build": "rm -rf build && reveal-md ./ --static build", "build-internal-static-slides": "rm -rf build && reveal-md ./ --static build --absolute-url https://do-not-share-pba-internal.on.fleek.co/", - "build-student-static-slides": "rm -rf build && reveal-md ./ --static build --absolute-url https://polkadot-blockchain-academy.on.fleek.co/ --glob 'syllabus/[0-6]*/**/*[Ss]lides.md'", + "build-student-static-slides": "rm -rf build && reveal-md ./ --static build --absolute-url https://polkadot-blockchain-academy.on.fleek.co/ --glob 'syllabus/[0-7]*/**/*[Ss]lides.md'", "serve": "http-server ./build -p 1949 -s & echo server started http://localhost:1949", "fmt": "prettier --config .prettierrc.js --write '**/*.md'", "mod-links": "MOD_NUMBER=$0; find syllabus/ -path syllabus/${MOD_NUMBER}\\*.md -print0 | xargs -0 -n1 markdown-link-check -c .github/workflows/mlc_config.json && echo \"\nCheck complete for mod\"", diff --git a/syllabus/7-Polkadot/4-Execution-Sharding-Security/Execution_Sharding_and_Security_Slides.md b/syllabus/7-Polkadot/4-Execution-Sharding-Security/Execution_Sharding_and_Security_Slides.md index d56aa45ed..d878f9dde 100644 --- a/syllabus/7-Polkadot/4-Execution-Sharding-Security/Execution_Sharding_and_Security_Slides.md +++ b/syllabus/7-Polkadot/4-Execution-Sharding-Security/Execution_Sharding_and_Security_Slides.md @@ -128,7 +128,8 @@ In the slides, we will look at single instances of the protocols, but it should ## Definition: HeadData -> **Head Data** is an opaque and compact representation of a parachain's current state. It can be a hash or a small block header, but must be small. +> **Head Data** is an opaque and compact representation of a parachain's current state. +It can be a hash or a small block header, but must be small. --- @@ -153,8 +154,8 @@ fn validate_block(parent: HeadData, relay_parent: RelayChainHash, pov: Vec) #### Why might `validate_block` fail? 1. `parent` or `PoV` is malformed - the implementation can't transform it from an opaque to specific representation -2. `parent` and `PoV` decode correctly but don't lead to a valid state transition -3. `PoV` is a valid block but doesn't follow from the `parent` +1. `parent` and `PoV` decode correctly but don't lead to a valid state transition +1. `PoV` is a valid block but doesn't follow from the `parent` ```rust fn validate_block(parent: HeadData, relay_parent: RelayChainHash, pov: Vec) @@ -166,9 +167,9 @@ fn validate_block(parent: HeadData, relay_parent: RelayChainHash, pov: Vec) ## What goes into a Relay Chain Block? 1. New Candidates (`Vec`) -2. Availability Statements (`Vec`) -3. Dispute Statements (`Vec`, from users) +1. Availability Statements (`Vec`) +1. Dispute Statements (`Vec`, from users) Any node can be selected as the next Relay Chain block author, so these data must be widely circulated. @@ -185,6 +186,7 @@ The collator sends this to validator group assigned to the parachain over the p2 --- Some collator pseudocode: + ```rust fn simple_collation_loop() { while let Some(relay_hash) = wait_for_next_relay_block() { @@ -254,7 +256,8 @@ If the parablock doesn't get enough statements fast enough, the relay chain runt
-Each validator is responsible for one piece of this data. As long as enough of these pieces stay available, the data is recoverable. +Each validator is responsible for one piece of this data. +As long as enough of these pieces stay available, the data is recoverable. The statements validators sign and distribute to all other validators essentially say "I have my piece". @@ -470,7 +473,6 @@ https://github.com/paritytech/orchestra These subsystems communicate with message passing and all receive signals which coordinate their activities. - --- ## Orchestra: Signals diff --git a/syllabus/7-Polkadot/Polkadot_Decisions_slides.md b/syllabus/7-Polkadot/Polkadot_Decisions_slides.md index aeba206dd..b6662527e 100644 --- a/syllabus/7-Polkadot/Polkadot_Decisions_slides.md +++ b/syllabus/7-Polkadot/Polkadot_Decisions_slides.md @@ -20,7 +20,7 @@ Jeff Bezos outlined in an annual letter to Amazon shareholders how he approaches Notes: -https://www.sec.gov/Archives/edgar/data/1018724/000119312516530910/d168744dex991.htm +https://www.sec.gov/Archives/edgar/data/1018724/000119312516530910/d168744dex991.htm --- @@ -67,7 +67,7 @@ Decisions that can be easily changed in the future. --- - + Notes: @@ -105,7 +105,7 @@ This philosophy is a realization that building a blockchain is trying to build a
- +
@@ -155,7 +155,7 @@ What are the type 1 decisions which make Polkadot... Polkadot?
- +
@@ -185,7 +185,7 @@ These parallel chains (shards) are called Parachains.
- +
@@ -199,7 +199,7 @@ These parallel chains (shards) are called Parachains.
- +
@@ -229,7 +229,7 @@ Interoperability allows parachains to work together to complete, complex end-to-
- + A visual of XCMP channels between Parachains. @@ -253,7 +253,7 @@ Polkadot is unique in that it provides all connected parachains with the same se
- +
@@ -271,7 +271,7 @@ Polkadot introduces a shared security model so that chains can interact with oth Polkadot's Shared Security is powered through the creation and allocation of execution cores. - + Execution cores provide blockspace-as-a-service, and are designed to work with any kind of consensus system. @@ -283,7 +283,7 @@ Execution cores provide blockspace-as-a-service, and are designed to work with a
- +
@@ -311,7 +311,7 @@ This is continuing to evolve with the addition of "accords" / SPREE. ### Block Production - + Current implementation is BABE, which is forkful with probabilistic finality. @@ -321,7 +321,7 @@ Current implementation is BABE, which is forkful with probabilistic finality. ### Finality Gadget - + Current implementation is GRANDPA, which is robust and scalable against network partitions. @@ -363,7 +363,7 @@ This gives the Polkadot Relay Chain and all connected parachains an evolutionary
- +
@@ -386,7 +386,7 @@ Polkadot and its parachains need to change over time to stay relevant, and the n
- +
@@ -408,7 +408,7 @@ It is entirely controlled on-chain by the governance system of Polkadot, which m
- +
@@ -430,13 +430,13 @@ Polkadot was designed around Parachains, but the exact meaning and manifestation
- +
- +
@@ -463,7 +463,7 @@ Notes:
- + Instructions to teleport an asset between parachains.