# Lido x The Mu @ Buenos Aires
<center>
To enter this page scan:
</center>
<center>
<img src="https://hackmd.io/_uploads/r16s08jeR.png" width="300">
</center>
Lido's Community Lifeguards are excited to work with The Mu as part of the [Community Staking Fleet program](https://research.lido.fi/t/community-staking-fleet-pilot/6606) to help grow the amount of solo/home stakers in Ethereum.
<center>
<img src="https://hackmd.io/_uploads/BJn46ZoxC.png" alt="LidoxMuBuenos" width="200" />
</center>
1. Join the Discord community: https://discord.gg/lido
2. Claim your OAT to get access to the private Community Staking section: https://app.galxe.com/quest/lido/GCcCpthDAP
## Session 4
### Issuance changes -- Reading list
#### Blog posts:
- Simplified Active Validator Cap and Rotation Proposal
Vitalik Buterin, 21-03-2021
https://ethresear.ch/t/simplified-active-validator-cap-and-rotation-proposal/9022
- Minimum Viable Issuance
Anders Elowsson, 07-10-2023
https://notes.ethereum.org/@anderselowsson/MinimumViableIssuance
- Properties of issuance level (part 1)
Anders Elowsson, 10-01-2024
https://notes.ethereum.org/@anderselowsson/HyUIqjo_6
- Properties of issuance level: consensus incentives and variability across potential reward curves
Anders Elowsson, 24-01-2024
https://ethresear.ch/t/properties-of-issuance-level-consensus-incentives-and-variability-across-potential-reward-curves/18448
- Electra: Issuance Curve Adjustment Proposal
Caspar Schwartz-Schilling & Ansgar Dietrichs, 21-02-2024
https://ethereum-magicians.org/t/electra-issuance-curve-adjustment-proposal/18825
- Endgame Staking Economics: A Case for Targeting
Caspar Schwartz-Schilling & Ansgar Dietrichs, 21-02-2024
https://ethresear.ch/t/endgame-staking-economics-a-case-for-targeting/18751
- Initial Analysis of Stake Distribution
Julian, 15-03-2024
https://ethresear.ch/t/initial-analysis-of-stake-distribution/19014
- Issuance Issues — Initial Issue
Mike Neuder, 25-03-2024
https://notes.ethereum.org/@mikeneuder/iiii
- Reward curve with tempered issuance: EIP research post
Anders Elowsson, 01-04-2024
https://ethresear.ch/t/reward-curve-with-tempered-issuance-eip-research-post/19171
- Foundations of minimum viable issuance
Anders Elowsson, 02-04-2024
https://notes.ethereum.org/@anderselowsson/Foundations-of-MVI
- Reward curve with capped issuance
Anders Elowsson, 18-04-2024
https://notes.ethereum.org/@anderselowsson/Reward-curve-with-capped-issuance
- Some thoughts on MVI
Sacha Yves, 07-11-2023
- Some personal musings on the Ethereum issuance debate
Sacha Yves, 24-04-2024
https://hackmd.io/@sacha/ethereum-issuance-debate-personal-thoughts
#### Video resources:
- https://www.ucc2.xyz/podcast/episode/28ec02cd/ethereums-staking-endgame
- https://www.galaxy.com/insights/podcasts/infinite-jungle/is-ethereum-printing-too-much-eth/
### Restaking
- [EigenLayer Whitepaper](https://2039955362-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPy2Kmkwju3mPSo9jrKKt%2Fuploads%2F2dCfPgItRfQbX25KriQv%2Fwhitepaper.pdf?alt=media&token=d4d94480-3f01-4e63-bc92-a0658ea37aab)
- [EigenLayer Docs](https://docs.eigenlayer.xyz/eigenlayer/overview/)
## Session 3
Applications for SimpleDVT testnet #4 with SSV is still open: https://forms.gle/SXGjCuKwq8usNQk1A
### Glossary
- **Block**: A block is a package of data that contains records of transactions completed during a given time period on a blockchain network. Each block is linked to the one before it, creating an immutable chain of records.
- **Full node**: A node that fully validates transactions and blocks on a blockchain. These download every block and transaction and check them against the network's consensus rules. Full nodes also help the network by accepting transactions from other nodes and broadcasting them to the network.
- **Validator node**: A node in a blockchain network that participates in the consensus process. Validators are responsible for proposing new blocks and/or voting on block validity.
- **Attestation**: Votes by validators which confirm the validity of a block.
- **MEV**: Maxmium Extractable Value refers to the maximum value that can be extracted from block production in excess of the standard block reward and gas fees by including, excluding, or reordering transactions. This often involves strategies like front-running, where a user or validator manipulates transaction order to capitalize on pending transactions.
- **PBS**: Proposer-Builder Separation (PBS) is a protocol design that separates the roles of proposing and building blocks in blockchain networks. This separation aims to enhance censorship resistance and fairness in transaction inclusion and ordering, by preventing proposers from having full control over the composition of a block.
### Anatomy of a block & validator economics
- [How does the NEW Ethereum work?](https://www.preethikasireddy.com/post/how-does-the-new-ethereum-work)
- [Blocks (ethereum.org)](https://ethereum.org/en/developers/docs/blocks/)
- [Ethereum Transaction Visualizer - TxStreet.com](https://txcity.io/v/eth)
- [Time, slots, and the ordering of events in Ethereum Proof-of-Stake](https://www.paradigm.xyz/2023/04/mev-boost-ethereum-consensus#unforeseen-consequences)
- [ETH2 Book - Rewards](https://eth2book.info/capella/part2/incentives/rewards/)
## Session 2 -- DVT Workshop with SSV
1. Join the Discord community: https://discord.gg/lido
2. Claim your OAT to get access to the private Community Staking section: https://app.galxe.com/quest/lido/GCcCpthDAP
### Resources
- Introduction to DVT presentation
- https://docs.ssv.network/operator-user-guides/operator-node
- https://www.docker.com/products/docker-desktop/
- https://holesky-faucet.pk910.de/
### Steps
1. Create ssv/dkg and ssv/operator folders
2. Go to the ssv/operator folder
3. Generate password
```
echo "<MY_OPERATOR_PASSWORD>" >> password
```
4. Key pair generation
```
docker run --name ssv-node-key-generation -v "$(pwd)/password":/password -it "bloxstaking/ssv-node:latest" /go/bin/ssvnode generate-operator-keys --password-file=password && docker cp ssv-node-key-generation:/encrypted_private_key.json ./encrypted_private_key.json && docker rm ssv-node-key-generation
```
6. Copy the public key on `encrypted_private_key.json
`
7. Register your operator on SSV (Holesky) https://app.ssv.network/ with the public key. Please ask for Holesky ETH if you don't have any.
8. Create onfig.yaml file doing `vim config.yaml` with this content:
```
global:
# Console output log level
LogLevel: info
# Debug logs file path
LogFilePath: ./data/debug.log
# Number of log files preserved (roughly equivalent to number of days)
# Increase if you want to preserve log files for longer. This would require more disk space
LogFileBackups: 10
db:
# Path to a persistent directory to store the node's database.
Path: ./data/db
ssv:
# The SSV network to join to
# Mainnet = Network: mainnet (default)
# Testnet (Goerli) = Network: jato-v2
# Testnet (Holesky) = Network: holesky
Network: holesky
ValidatorOptions:
# Whether to enable MEV block production. Requires the connected Beacon node to be MEV-enabled.
BuilderProposals: false
eth2:
# HTTP URL of the Beacon node to connect to.
BeaconNodeAddr: http://200.88.176.110:3500
eth1:
# WebSocket URL of the Eth1 node to connect to.
ETH1Addr: ws://200.88.176.110:8546/ws
p2p:
# Optionally provide the external IP address of the node, if it cannot be automatically determined.
# HostAddress: 192.168.1.1
# Optionally override the default TCP & UDP ports of the node.
# TcpPort: 13001
# UdpPort: 12001
KeyStore:
PrivateKeyFile: ./encrypted_private_key.json
PasswordFile: ./password
# This enables monitoring at the specified port, see https://docs.ssv.network/run-a-node/operator-node/maintenance/monitoring
MetricsAPIPort: 15000
```
9. Run the node
```
docker run --restart unless-stopped --name ssv_node-test -e \
CONFIG_PATH=/config.yaml -p 13002:13002 -p 12002:12002/udp -p 15002:15002 \
-v "$(pwd)/config.yaml":/config.yaml \
-v "$(pwd)":/data \
-v "$(pwd)/password":/password \
-v "$(pwd)/encrypted_private_key.json":/encrypted_private_key.json \
-it "bloxstaking/ssv-node:latest" make BUILD_PATH="/go/bin/ssvnode" start-node
```
10. Exit the ssv/operator folder
11. Copy password and private key
```
cp -r ssv/operator/password ssv/dkg/
cp -r ssv/operator/encrypted_private_key.json ssv/dkg/
```
12. Create operator.yaml with `vim operator.yaml`
```
privKey: ./encrypted_private_key.json
privKeyPassword: ./password
operatorID: <YOUR_OPERATOR_ID>
port: 3030
logLevel: info
logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/debug.log
outputPath: /data/output
```
13. Run the DKG server
```
docker run -u $(id -u):$(id -g) --restart unless-stopped --name ssv_dkg -p 3030:3030 -v "$(pwd)":/data -it "bloxstaking/ssv-dkg:latest" start-operator --configPath /data/operator.yaml
```
14. Enti will form the cluster(s) and upload the keystore.
---
Alternative (for those that got a `/ssl/tls.crt: no such file or directory` error):
13. Create docker-compose.yml file doing `vim docker-compose.yml`
```
version: '3'
services:
ssv_dkg:
image: bloxstaking/ssv-dkg:latest
environment:
- UID=${UID:-1000}
- GID=${GID:-1000}
restart: unless-stopped
ports:
- "3030:3030"
- "80:80"
- "443:443"
volumes:
- "${PWD}:/data"
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
command: start-operator --configPath /data/operator.yaml
user: "${UID}:${GID}"
```
14. Run `docker compose up`.
## Session 1 -- Ethereum Staking Roundtable
### Intro to the Lido x muBuenos program
- muBuenos is part of the Community Staking Fleet pilot
- Sessions every Tuesday and Thursdays
- OAT (claim above) allows you to claim the `community-staker` role on Discord, connect with other stakers and other community-exclusive perks.
### Reading list:
#### What’s a home/solo staker, why are they important and how to become one
- [Run a node (ethereum.org)](https://ethereum.org/en/run-a-node/)
- [Enhancing Ethereum's security with Latin America: Introducing KipuStakers and the current state of staking in the region.](https://mirror.xyz/ethkipu.eth/JhxjdiPCuIAFG-l8ebC7vpFFE70yP3wAJ8mgGEj7P58)
- [EthStaker Knowledge Base](https://docs.ethstaker.cc/ethstaker-knowledge-base)
- [Rhino Review - Etheruem Staking Journal](https://rhinoreview.substack.com/)
- [RocketPool Atlas Update](https://docs.rocketpool.net/guides/atlas/whats-new)
- [Lido Staking Router](https://github.com/lidofinance/lido-improvement-proposals/blob/develop/LIPS/lip-20.md)
- [Light Client Bridges](https://defi.sucks/insights/lc-bridges)
- Join EthStaker: https://discord.gg/ethstaker
#### Liquid staking
- [Modular Money: Liquid Staking for People in a Hurry](https://dba.xyz/modular-money-liquid-staking-for-people-in-a-hurry/)
- [Ethereum Staking 🥩 by Hildobby](https://dune.com/hildobby/eth2-staking)
#### Relevant staking EIPs on the Pectra Hard Fork (EIPs 6110, 7002, 7251, 7547)
- [Pectra Network Upgrade Metathread](https://ethereum-magicians.org/t/pectra-network-upgrade-meta-thread/16809)
#### Staking issuance and targeting. How can we best reach staking equilibrium in a way that keeps Ethereum healthy?
- [Minimum Viable Issuance](https://twitter.com/weboftrees/status/1710704461750944190)
- [Some thoughts on MVI](https://hackmd.io/@sacha/thoughts-on-mvi)
- [Endgame Staking Economics: A Case for Targeting](https://ethresear.ch/t/endgame-staking-economics-a-case-for-targeting/18751)