Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/el-architecture/peer-discovery.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/el-architecture/tcpudp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
397 changes: 393 additions & 4 deletions docs/wiki/EL/devp2p.md

Large diffs are not rendered by default.

24 changes: 24 additions & 0 deletions docs/wiki/dev/cs-resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,33 @@

## Networking

This section covers a brief overview of the differences and similarities between the OSI (Open Systems Interconnection) and TCP/IP (Transmission Control Protocol/Internet Protocol) models,
as well as the protocols involved in the transport layer used in DevP2P: TCP and UDP.

In terms of networking, both models refer to the same process of communication between layers.
Just as Kurose and Ross explain (2020), the computer networks are divided into different layers, and each one of them has a specific responsibility. The OSI model has seven layers, while the TCP/IP model has four layers. The OSI model is more theoretical and the TCP/IP model is more practical.
The OSI model is a reference model created by the International Organization for Standardization (ISO) to provide a framework for understanding networks. The TCP/IP model was created by the Department of Defense (DoD) to ensure that messages could be transmitted between computers regardless of the types of computers involved.
The TCP/IP model is a concise version of the OSI model:

![alt text](../../images/el-architecture/osi-tcpip-models.png)

In summary, the OSI model layers are:
1. Physical layer: responsible for the transmission and reception of raw data between devices.
2. Data link layer: responsible for the node-to-node delivery of the message.
3. Network layer: responsible for the delivery of packets from the source to the destination.
4. Transport layer: responsible for the delivery of data between the source and the destination.
5. Session layer: responsible for the establishment, management, and termination of connections between applications.
6. Presentation layer: responsible for the translation, compression, and encryption of data.
7. Application layer: responsible for providing network services directly to the end-user.

Assuming the communication schema proposed by Claude Shannon (1948), every communication implies both a sender and a receiver, a message to be exchanged between them, a transmission medium, and a protocol to be followed.
This is important to mention because regardless of the computer architecture, it could be part of a network if it follows the communication and protocol specifications of the models mentioned above.

- 🎥 [Introduction to Computer Networking](https://www.youtube.com/playlist?list=PLEAYkSg4uSQ2dr0XO_Nwa5OcdEcaaELSG)
- 🎥 [Computers and the Internet | Khan Academy](https://www.khanacademy.org/computing/code-org/computers-and-the-internet)
- 🎥 [Computer Networking: a Top-Down Approach](https://gaia.cs.umass.edu/kurose_ross/online_lectures.htm)
- Clause E. Shannon (1948). "A Mathematical Theory of Communication". *Bell System Technical Journal*. Vol. 27.
- Jim Kurose and Keith Ross (2020). *Computer Networking: A Top-Down Approach*. 8th edition. Pearson.

## Distributed systems and blockchain

Expand Down
5 changes: 2 additions & 3 deletions docs/wiki/pectra-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,8 @@

The consolidation will fail as the validators must be active on the beacon chain at the time of consolidation execution.

#### **Q:** Whats the ABI of the consolidation system contract?

Check failure on line 150 in docs/wiki/pectra-faq.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

docs/wiki/pectra-faq.md:150 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "#### **Q:** Whats the ABI of the consolidation system contract?"] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md022.md

The EIP-7251 consolidations contract is deployed here `0x0000BBdDc7CE488642fb579F8B00f3a590007251`, here you can find the [source](https://github.com/ethereum/sys-asm/blob/main/src/consolidations/main.eas).
The EIP-7251 consolidations contract is deployed here `0x0000BBdDc7CE488642fb579F8B00f3a590007251`, source here: https://github.com/ethereum/sys-asm/blob/main/src/consolidations/main.eas.

Check failure on line 151 in docs/wiki/pectra-faq.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/wiki/pectra-faq.md:151:114 MD034/no-bare-urls Bare URL used [Context: "https://github.com/ethereum/sy..."] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md034.md

Check failure on line 151 in docs/wiki/pectra-faq.md

View workflow job for this annotation

GitHub Actions / lint

Trailing spaces

docs/wiki/pectra-faq.md:151:188 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md009.md
The consolidations are put in a queue and dequeued at a rate of 2 per block.
The contract is not written in solidity, nor do they have a typical solidity ABI in order to not enshrine the API.

Expand Down Expand Up @@ -196,7 +195,7 @@

#### **Q:** Whats the ABI of the withdrawal system contract?

The EIP-7002 contract is deployed here `0x00000961Ef480Eb55e80D19ad83579A64c007002` you can find the [source here](https://github.com/ethereum/sys-asm/blob/main/src/withdrawals/main).
The EIP-7002 contract is deployed here `0x00000961Ef480Eb55e80D19ad83579A64c00700` source here: https://github.com/ethereum/sys-asm/blob/main/src/withdrawals/main.

Check failure on line 198 in docs/wiki/pectra-faq.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/wiki/pectra-faq.md:198:97 MD034/no-bare-urls Bare URL used [Context: "https://github.com/ethereum/sy..."] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md034.md

Check failure on line 198 in docs/wiki/pectra-faq.md

View workflow job for this annotation

GitHub Actions / lint

Trailing spaces

docs/wiki/pectra-faq.md:198:164 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md009.md
The withdrawals are put in a queue and at maximum 16 are dequeued per block.
The contract is not written in solidity, nor do they have a typical solidity ABI in order to not enshrine the API.
The functionality of the withdrawal contract in pseudo code:
Expand Down
41 changes: 40 additions & 1 deletion wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ ACD
ACL
addons
Aditional
AES
aggregative
Akula
Aleth
Expand Down Expand Up @@ -90,6 +91,8 @@ Boneh
bool
booleans
bootup
bootnode
bootnodes
borderless
BPE
broadcasted
Expand Down Expand Up @@ -140,6 +143,7 @@ Composability
composable
computability
computable
connectionless
config
congestions
Conor
Expand Down Expand Up @@ -177,6 +181,7 @@ dapp
Dapplion
dapps
DAS
Datagram
dataset
deboost
decrementation
Expand Down Expand Up @@ -204,12 +209,14 @@ Devops
devp
Devs
DEX
DHT
Diffie
DILITHIUM
Dimitar
disambiguated
Discordo
discv
discport
distro
DNS
docsify
Expand All @@ -228,6 +235,7 @@ EAL
EB
ECADD
ECC
ECDH
ECDSA
ECDSA's
ECMUL
Expand All @@ -250,9 +258,12 @@ ELs
EL's
emptyset
Encodings
endian
Endian
enr
env
enode
ENR
EOA
EOAs
EOF
Expand All @@ -274,6 +285,7 @@ ethash
Ethash
ETHCC
Ethereum
Ethereumjs
Ethereum's
Ethernodes
ethers
Expand All @@ -300,6 +312,7 @@ fanout
farcaster
fastssz
faytey
Feamster
Feist
Femboy
Ferrin
Expand Down Expand Up @@ -346,6 +359,7 @@ getPayloadV
getters
ghost
Gilles
GCM
Goerli
Golang
Goldwasser
Expand Down Expand Up @@ -388,6 +402,7 @@ IETF
iframe
ify
Imandra
img
impera
implementers
incentivize
Expand All @@ -413,6 +428,7 @@ IOP
IPC
ipfs
Ipsilon
IPv
IRTF
ISA
Jitsi
Expand All @@ -435,6 +451,7 @@ Kira
Kleppmann
Koblitz
Kubernetes
Kurose
Kurtosis
Kyber
KZG
Expand All @@ -444,6 +461,7 @@ lceil
ldots
learnings
Ledgerwatch
Leffew
Lefteris
leftarrow
leq
Expand All @@ -467,6 +485,7 @@ Longrightarrow
lookahead
lookups
lor
loopback
LSB
LSM
LSP
Expand Down Expand Up @@ -516,6 +535,7 @@ MSB
MSIZE
mstore
MUL
multiaddr
multiproofs
Murr
MVE
Expand All @@ -529,6 +549,8 @@ namespace
namespaces
Nand
natively
neighbours
neighbourhood
neq
Nethermind
neuder
Expand Down Expand Up @@ -584,6 +606,7 @@ pipelining
PKCS
Playdate
pmod
png
POC
POS
POSIX
Expand Down Expand Up @@ -653,6 +676,7 @@ RANDAO
Rareskills
RB
rceil
reachability
README
reciept
referrerpolicy
Expand Down Expand Up @@ -756,6 +780,8 @@ subcurrency
subnet
subnets
suboptimal
Subprotocol
subprotocol
subprotocols
substack
substate
Expand All @@ -766,6 +792,7 @@ Supermajority
systemd
Szabo
Takenobu
Tanenbaum
Tani
TBD
tbhl
Expand Down Expand Up @@ -805,6 +832,7 @@ txdatanonzero
txdatazero
txpool
txs
UDP
UI
uint
unaggregated
Expand Down Expand Up @@ -849,7 +877,9 @@ WB
webkit
WebRTC
Whistleblower
Wetherall
Whitepaper
WHOAREYOU
WIP
withdrawable
withdrawalHash
Expand Down Expand Up @@ -954,5 +984,14 @@ Wireshark
SigP
opcode's
Karim
TalkReq
Plaintext
digram
initating
decrypts
ECIES
KDF
HMAC
decrypted
trie's
Synchronising
Synchronising
Loading