Skip to content

Commit

Permalink
Publish Polkadot for UCB (Polkadot-Blockchain-Academy#814)
Browse files Browse the repository at this point in the history
Minor fixes
  • Loading branch information
nuke-web3 authored Aug 2, 2023
1 parent 40884d6 commit 1b5a087
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 27 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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\"",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.

---

Expand All @@ -153,8 +154,8 @@ fn validate_block(parent: HeadData, relay_parent: RelayChainHash, pov: Vec<u8>)
#### 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<u8>)
Expand All @@ -166,9 +167,9 @@ fn validate_block(parent: HeadData, relay_parent: RelayChainHash, pov: Vec<u8>)
## What goes into a Relay Chain Block?

1. New Candidates (`Vec<Candidate>`)
2. Availability Statements (`Vec<SignedAvailabilityStatement>`)
3. Dispute Statements (`Vec<SignedDisputeStatement`)
4. Transactions (`Vec<Transaction>`, from users)
1. Availability Statements (`Vec<SignedAvailabilityStatement>`)
1. Dispute Statements (`Vec<SignedDisputeStatement`)
1. Transactions (`Vec<Transaction>`, from users)

Any node can be selected as the next Relay Chain block author, so these data must be widely circulated.

Expand All @@ -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() {
Expand Down Expand Up @@ -254,7 +256,8 @@ If the parablock doesn't get enough statements fast enough, the relay chain runt

<div class="col-span-2">

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".

Expand Down Expand Up @@ -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
Expand Down
36 changes: 18 additions & 18 deletions syllabus/7-Polkadot/Polkadot_Decisions_slides.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <!-- markdown-link-check-disable-line -->

---

Expand Down Expand Up @@ -67,7 +67,7 @@ Decisions that can be easily changed in the future.

---

<image src="../../../assets/img/7-Polkadot/less-trust-more-truth.svg" style="width: 1000px; filter: invert();">
<image src="../../assets/img/7-Polkadot/less-trust-more-truth.svg" style="width: 1000px; filter: invert();">

Notes:

Expand Down Expand Up @@ -105,7 +105,7 @@ This philosophy is a realization that building a blockchain is trying to build a

<div>

<image src="../../../assets/img/7-Polkadot/trilemma.svg" style="height: 400px;">
<image src="../../assets/img/7-Polkadot/trilemma.svg" style="height: 400px;">

</div>

Expand Down Expand Up @@ -155,7 +155,7 @@ What are the type 1 decisions which make Polkadot... Polkadot?

<div>

<img style="width: 400px;" src="../../../assets/img/0-Shared/logo/webassembly-blue.png" />
<img style="width: 400px;" src="../../assets/img/0-Shared/logo/webassembly-blue.png" />

</div>

Expand Down Expand Up @@ -185,7 +185,7 @@ These parallel chains (shards) are called Parachains.

<div>

<img style="width: 500px;" src="../../../assets/img/7-Polkadot/decisions/sharding.svg" />
<img style="width: 500px;" src="../../assets/img/7-Polkadot/decisions/sharding.svg" />

</div>

Expand All @@ -199,7 +199,7 @@ These parallel chains (shards) are called Parachains.

<div>

<img style="width: 500px;" src="../../../assets/img/7-Polkadot/decisions/app-chain.svg" />
<img style="width: 500px;" src="../../assets/img/7-Polkadot/decisions/app-chain.svg" />

</div>

Expand Down Expand Up @@ -229,7 +229,7 @@ Interoperability allows parachains to work together to complete, complex end-to-

<div>

<image src="../../../assets/img/7-Polkadot/xcmp-2.svg" style="height: 500px;">
<image src="../../assets/img/7-Polkadot/xcmp-2.svg" style="height: 500px;">

A visual of XCMP channels between Parachains.

Expand All @@ -253,7 +253,7 @@ Polkadot is unique in that it provides all connected parachains with the same se

<div>

<image src="../../../assets/img/0-Shared/parachains/parachains-transparent.png" style="width: 500px">
<image src="../../assets/img/0-Shared/parachains/parachains-transparent.png" style="width: 500px">

</div>

Expand All @@ -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.

<img style="width: 1000px;" src="../../../assets/img/7-Polkadot/decisions/exotic-scheduling.png" />
<img style="width: 1000px;" src="../../assets/img/7-Polkadot/decisions/exotic-scheduling.png" />

Execution cores provide blockspace-as-a-service, and are designed to work with any kind of consensus system.

Expand All @@ -283,7 +283,7 @@ Execution cores provide blockspace-as-a-service, and are designed to work with a

<div>

<image src="../../../assets/img/7-Polkadot/xcmp-finalization.svg" style="height: 500px;">
<image src="../../assets/img/7-Polkadot/xcmp-finalization.svg" style="height: 500px;">

</div>

Expand Down Expand Up @@ -311,7 +311,7 @@ This is continuing to evolve with the addition of "accords" / SPREE.

### Block Production

<img style="width: 500px;" src="../../../assets/img/7-Polkadot/decisions/babe.svg" />
<img style="width: 500px;" src="../../assets/img/7-Polkadot/decisions/babe.svg" />

Current implementation is BABE, which is forkful with probabilistic finality.

Expand All @@ -321,7 +321,7 @@ Current implementation is BABE, which is forkful with probabilistic finality.

### Finality Gadget

<img style="width: 400px;" src="../../../assets/img/7-Polkadot/decisions/grandpa.png" />
<img style="width: 400px;" src="../../assets/img/7-Polkadot/decisions/grandpa.png" />

Current implementation is GRANDPA, which is robust and scalable against network partitions.

Expand Down Expand Up @@ -363,7 +363,7 @@ This gives the Polkadot Relay Chain and all connected parachains an evolutionary

<div>

<img style="width: 400px;" src="../../../assets/img/7-Polkadot/decisions/runtime-upgrade.png" />
<img style="width: 400px;" src="../../assets/img/7-Polkadot/decisions/runtime-upgrade.png" />

</div>

Expand All @@ -386,7 +386,7 @@ Polkadot and its parachains need to change over time to stay relevant, and the n

<div>

<img style="width: 400px;" src="../../../assets/img/7-Polkadot/decisions/voting.svg" />
<img style="width: 400px;" src="../../assets/img/7-Polkadot/decisions/voting.svg" />

</div>

Expand All @@ -408,7 +408,7 @@ It is entirely controlled on-chain by the governance system of Polkadot, which m

<div>

<img style="width: 600px;" src="../../../assets/img/7-Polkadot/decisions/treasury.svg" />
<img style="width: 600px;" src="../../assets/img/7-Polkadot/decisions/treasury.svg" />

</div>

Expand All @@ -430,13 +430,13 @@ Polkadot was designed around Parachains, but the exact meaning and manifestation

<div>

<img style="height: 200px;" src="../../../assets/img/7-Polkadot/decisions/original-scheduling.png" />
<img style="height: 200px;" src="../../assets/img/7-Polkadot/decisions/original-scheduling.png" />

</div>

<div>

<img style="height: 200px;" src="../../../assets/img/7-Polkadot/decisions/exotic-scheduling.png" />
<img style="height: 200px;" src="../../assets/img/7-Polkadot/decisions/exotic-scheduling.png" />

</div>

Expand All @@ -463,7 +463,7 @@ Notes:

<div>

<image src="../../../assets/img/7-Polkadot/xcm-stack.svg" style="height: 500px;">
<image src="../../assets/img/7-Polkadot/xcm-stack.svg" style="height: 500px;">

Instructions to teleport an asset between parachains.

Expand Down

0 comments on commit 1b5a087

Please sign in to comment.