This repository has been archived by the owner on Dec 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
writer
authored and
writer
committed
Oct 15, 2024
1 parent
c5bc3a6
commit fc59a65
Showing
34 changed files
with
811 additions
and
98 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,92 +1,15 @@ | ||
# notes and resources on protocol economy | ||
|
||
|
||
<br> | ||
|
||
|
||
|
||
### 👉 start with [how blockchain works](blockchains) | ||
|
||
|
||
<br> | ||
|
||
--- | ||
|
||
## 🕹 game theory | ||
|
||
<br> | ||
|
||
* [columbia cryptoeconomics workshop 2022](https://www.youtube.com/playlist?list=PLpktWkixc1gUqkyc1-iE6TT0RWQTBJELe) | ||
|
||
* [standford class on game theory](https://www.coursera.org/learn/game-theory-1#syllabus) and [advanced course](https://www.coursera.org/learn/game-theory-2) | ||
|
||
* [finding pure strategy nash equilibrium in finite simultaneous games](https://www.youtube.com/watch?v=gINERi_wbbg) | ||
|
||
* [censorship resistance in on-chain auctions, pai et al.](https://github.com/eljhfx/Decentralized-Auctions/blob/main/Censorship_Resistance_in_On-Chain_Auctions.pdf) | ||
- single proposer blockchains are not ideal for holding time sensitive auctions when the number of potential bidders is large. collusion arrangements are extremely profitable for the colluding bidder but only marginally profitable for the proposer. order agnostics mechanism should solve mev. | ||
|
||
<br> | ||
|
||
|
||
----- | ||
|
||
## 🛵 protocol design | ||
|
||
<br> | ||
|
||
### proposer-builder separation | ||
|
||
* [notes on pbs, by barnabe.eth](https://barnabe.substack.com/p/pbs) | ||
- thoughts on in-protocol pbs, market structure and allocation mechanism, whole vs. partial block building, block vs. slot auctions, inclusion lists, capturing true pbs value via consensus bid and protocol capture. | ||
|
||
* [decentralizing the builder role, by j. charbonneau](https://joncharbonneau.substack.com/p/decentralizing-the-builder-role) | ||
|
||
* [exploring cryptokitties midwives](https://medium.com/block-science/exploring-cryptokitties-part-2-the-cryptomidwives-a0df37eb35a6) | ||
- `giveBirth()` as an example of flawed economic incentive and randomization. | ||
|
||
* [bookmark list for consensus researchers, by a. obadia](https://collective.flashbots.net/t/bookmarks-relevant-for-consensus-researchers/1204) | ||
- nice list from flashbots on canonical papers on consensus | ||
|
||
|
||
<br> | ||
|
||
### eip-1559 | ||
|
||
* [transaction fee mechanism design for ethereum, by tim roughgarden](https://timroughgarden.org/papers/eip1559.pdf) | ||
- thoughts on how eip-1559 proposes a major change to ethereum's transaction fee mechanism, the market for ethereum transactions, incentive-compatible transaction fee mechanisms, and alternative designs. | ||
|
||
* [congestion control and eip1559, by barnabe.eth](https://barnabe.substack.com/p/congestion-control-and-eip1559) | ||
* [understanding fees in eip-1559](https://barnabe.substack.com/p/understanding-fees-in-eip1559) | ||
* [mev and eip1559](https://github.com/MEV-WAIFU-LABS/mev/blob/main/MEV_on_Ethereum/eip-1559.md) | ||
## ⛓🧱 decentralized protocols | ||
|
||
<br> | ||
|
||
### mev-smoothing | ||
|
||
* [burning mev through block proposer auctions, by domothy](https://ethresear.ch/t/burning-mev-through-block-proposer-auctions/14029) | ||
|
||
|
||
<br> | ||
|
||
### algorithmic game theory | ||
|
||
* [algorithmic game theory, by tim roughgarden](https://theory.stanford.edu/~tim/papers/cacm.pdf) | ||
|
||
|
||
<br> | ||
|
||
### inclusion lists | ||
|
||
* [inclusion list economics](https://efdn.notion.site/Inclusion-list-economics-b0d61d0e21a74963a54448e48d9adc8a) | ||
|
||
|
||
<br> | ||
|
||
------ | ||
|
||
## 👾 models | ||
|
||
<br> | ||
|
||
* [CADlabs's ethereum economic model](https://github.com/CADLabs/ethereum-economic-model) | ||
|
||
* **[how blockchains work](blockchains)** | ||
* **[game theory](game_theory)** | ||
* **[scalability](scalability)** | ||
* **[rollups](rollups)** | ||
* **[consensus](consensus_protocols)** | ||
* **[data availability](data_availability)** | ||
* **[optimization methods](optimization)** | ||
* **[applied cryptography](cryptography)** | ||
* **[yul and formal verification](yul)** | ||
* **[economic models](economic_models)** | ||
* **[auction mechanisms](auction_mechanisms)** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## auction mechanisms | ||
|
||
<br> | ||
|
||
* **[auction-zoo, from a16z](https://github.com/a16z/auction-zoo)** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
## ethereum blockchain | ||
|
||
<br> | ||
|
||
#### evm execution | ||
|
||
* in native execution, evm will load the bytecode and execute the opcodes in the bytecodes one by one from the beginning. | ||
* each opcode can be thought as doing the following steps: | ||
1. read elements from stack, memory, or storage. | ||
2. perform some computation on these elements. | ||
3. write back results to stack, memory, or storage. | ||
|
||
|
||
<br> | ||
|
||
|
||
#### light clients | ||
|
||
|
||
* light clients receive the block headers, which contain a merkle root (more on this later) that can be used to query full nodes to verify if a transaction is included in a particular block. | ||
|
||
|
||
<br> | ||
|
||
#### ethereum roadmap | ||
|
||
<br> | ||
|
||
<img width="600" src="https://user-images.githubusercontent.com/1130416/234419153-76ab9f89-00e8-48e7-93c4-c8d880ec2007.png"> | ||
|
||
|
||
<br> | ||
|
||
---- | ||
|
||
### external resources | ||
|
||
<br> | ||
|
||
* [geth code for stateDB](https://github.com/ethereum/go-ethereum/blob/d4d288e3f1cebb183fce9137829a76ddf7c6d12a/core/state/statedb.go#L64) | ||
* [understanding trie databases, by d. brickwood](https://medium.com/shyft-network/understanding-trie-databases-in-ethereum-9f03d2c3325d) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## solana blockchain | ||
|
||
<br> | ||
|
||
* **[solana handbook, by ackee](https://ackeeblockchain.com/solana-handbook.pdf)** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
## consensus protocols | ||
|
||
<br> | ||
|
||
* **[ethereum](ethereum)** | ||
* **[snowman](snowman)** | ||
* **[tendermint](tendermint)** | ||
* **[mechanisms](mechanisms)** | ||
* **[decentralized sequencers](decentralized_sequencers)** | ||
|
||
<br> | ||
|
||
--- | ||
|
||
### references | ||
|
||
* **[shared sequencing, by expresso](https://hackmd.io/@EspressoSystems/SharedSequencing)** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
## tl; dr | ||
|
||
<br> | ||
|
||
![](https://github.com/go-outside-labs/decentralized-protocols-research/assets/138340846/1e892bc0-a2a5-4064-b5dc-a321c13e1b87) | ||
|
||
|
||
<br> | ||
|
||
--- | ||
|
||
### resources | ||
|
||
<br> | ||
|
||
|
||
* **[espresso systems](https://docs.espressosys.com/sequencer/espresso-sequencer-architecture/readme)** | ||
* **[shared sequencers, by bridge harris](https://bridgeharris.substack.com/p/a-primer-on-shared-sequencers)** | ||
* **[shared sequencers, by maven11](https://maven11.substack.com/p/the-shared-sequencer)** | ||
* **[shared sequencers, dba](https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg)** | ||
* **[shared sequencers, by celestia](https://forum.celestia.org/t/sharing-a-sequencer-set-by-separating-execution-from-aggregation/702)** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
## 🛵 consensus protocols | ||
|
||
<br> | ||
|
||
#### proposer-builder separation | ||
|
||
* [seeing like a protocol](https://barnabe.substack.com/p/seeing-like-a-protocol) | ||
- barnabe delights us with an overview of this mind thinking about protocols mev. | ||
|
||
* [notes on pbs, by barnabe.eth](https://barnabe.substack.com/p/pbs) | ||
- thoughts on in-protocol pbs, market structure and allocation mechanism, whole vs. partial block building, block vs. slot auctions, inclusion lists, capturing true pbs value via consensus bid and protocol capture. | ||
|
||
* [decentralizing the builder role, by j. charbonneau](https://joncharbonneau.substack.com/p/decentralizing-the-builder-role) | ||
|
||
* [exploring cryptokitties midwives](https://medium.com/block-science/exploring-cryptokitties-part-2-the-cryptomidwives-a0df37eb35a6) | ||
- `giveBirth()` as an example of flawed economic incentive and randomization. | ||
|
||
* [bookmark list for consensus researchers, by a. obadia](https://collective.flashbots.net/t/bookmarks-relevant-for-consensus-researchers/1204) | ||
- nice list from flashbots on canonical papers on consensus | ||
|
||
|
||
<br> | ||
|
||
#### eip-1559 | ||
|
||
* [transaction fee mechanism design for ethereum, by tim roughgarden](https://timroughgarden.org/papers/eip1559.pdf) | ||
- thoughts on how eip-1559 proposes a major change to ethereum's transaction fee mechanism, the market for ethereum transactions, incentive-compatible transaction fee mechanisms, and alternative designs. | ||
|
||
* [congestion control and eip1559, by barnabe.eth](https://barnabe.substack.com/p/congestion-control-and-eip1559) | ||
* [understanding fees in eip-1559](https://barnabe.substack.com/p/understanding-fees-in-eip1559) | ||
* [mev and eip1559](https://github.com/MEV-WAIFU-LABS/mev/blob/main/MEV_on_Ethereum/eip-1559.md) | ||
|
||
<br> | ||
|
||
#### mev-smoothing | ||
|
||
* [burning mev through block proposer auctions, by domothy](https://ethresear.ch/t/burning-mev-through-block-proposer-auctions/14029) | ||
|
||
|
||
|
||
|
||
<br> | ||
|
||
#### inclusion lists | ||
|
||
* [inclusion list economics](https://efdn.notion.site/Inclusion-list-economics-b0d61d0e21a74963a54448e48d9adc8a) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## protocol mechanisms | ||
|
||
<br> | ||
|
||
* **[leader election](leader_election.pdf)** |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
## snowman |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
## tendermint | ||
|
||
<br> | ||
|
||
* consensus protocol for ordering events in a distributed network under adversarial conditions (aka byzantine fault tolerant consenus, or atomic broadcast). | ||
* tendermint consists of two technical components: a blockchain consensus engine and a generic application interface, and works even if up to 1/3 of machines fail in arbitrary ways. | ||
* tendermint core (the consensus engine) performs BFT state machine replication (SMR) for arbitrary deterministic, finite state machines. | ||
* the application interface (abci) enables the transactions to be processed in any programming language. | ||
|
||
<br> | ||
<br> | ||
|
||
<p align="center"> | ||
<img src="https://github.com/go-outside-labs/decentralized-protocols-research/assets/138340846/fbb43593-d1d0-4efe-ae7e-80d880333a60" width="60%" align="center" style="padding:1px;border:1px solid black;" title="Jan 7th"/> | ||
</p> | ||
|
||
|
||
<br> | ||
<br> | ||
|
||
--- | ||
|
||
### references | ||
|
||
|
||
* **[tendermint docs](https://docs.tendermint.com/)** | ||
* **[tenderming abci](https://github.com/tendermint/tendermint/tree/v0.34.x/abci)** | ||
* **[the latest gossip on BFT consensus, e. buchman et al.](https://arxiv.org/abs/1807.04938)** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
## applied cryptography | ||
|
||
<br> | ||
|
||
|
||
#### zkps | ||
|
||
* **[check the autism-symposium's zero-knowledge-proofs repo](https://github.com/autistic-symposium/zero-knowledge-proofs-toolkit)** | ||
|
||
<br> | ||
|
||
#### math | ||
|
||
* **[pairing-friendly elliptic curves of prime order](https://eprint.iacr.org/2005/133.pdf)** | ||
* **[intro to differential power analysis](https://link.springer.com/content/pdf/10.1007/s13389-011-0006-y.pdf)** | ||
* **[the 12 commandments of synchronization](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.227.3871&rep=rep1&type=pdf)** | ||
* **[ring confidential transactions](https://eprint.iacr.org/2015/1098.pdf)** | ||
* **[galois fields, part one](https://www.youtube.com/watch?v=yBVqk4YM2VY)** | ||
|
||
<br> | ||
|
||
#### authenticated data structures | ||
|
||
* **[authenticated data structures as a library](https://bentnib.org/posts/2016-04-12-authenticated-data-structures-as-a-library.html)** | ||
* **[authenticated data structures, generically](https://www.cs.umd.edu/~mwh/papers/gpads.pdf)** | ||
* **[optimizing sparse merkle trees](https://ethresear.ch/t/optimizing-sparse-merkle-trees/3751)** | ||
|
||
<br> | ||
|
||
#### pir | ||
|
||
* **[on simple private information retrieval experiments](https://mirror.xyz/go-outside.eth/4G5bsqUkjLxhQ0M9so3f25o4cABwN--tC40N3jkReug)** | ||
|
||
<br> | ||
|
||
#### bls multisig | ||
|
||
* **[bls multi-signatures with pub-key aggregation](https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html)** | ||
|
||
<br> | ||
|
||
#### general | ||
|
||
* **[how to leak a secret](https://people.csail.mit.edu/rivest/pubs/RST01.pdf)** | ||
* **[bitcoin-monero cross-chain atomic swap](https://eprint.iacr.org/2020/1126.pdf)** | ||
* **[atomic swaps between bitcoin and monero](https://arxiv.org/pdf/2101.12332.pdf)** |
Oops, something went wrong.