Proof of Stake is used by #Solana and Ethereum 2.0. But what is Proof of Stake, and how does it work? A short thread πŸ‘‡
1/ "Proof of stake is a type of consensus mechanism used by blockchain networks to achieve distributed consensus."

In other words, Proof of Stake enables nodes in a blockchain network to agree on the state of the blockchain.
2/ For example, nodes should agree on:

- Which blocks are included in the blockchain
- Which transactions are included in each block
3/ Participants in a Proof of Stake network are called "nodes" or "validators."

Validators are randomly chosen to produce blocks. Only one validator produces blocks at a time.

The rest of the validators validate the blocks being produced.
4/ To become a validator, you must stake some assets. The more you stake, the more often you're chosen as block producer.

For example, to be an Ethereum validator, you must stake at least 32 ETH.

Validators are rewarded for securing the network, and punished for misbehaving.
5/ Most PoS networks let people delegate assets to validators.

Validators earn rewards proportional to the amount they have staked, and distribute some of their rewards to their delegators.
6/ What's the point of requiring validators to stake assets?

Because it promotes good validator behavior πŸ‘‡
7/ If validators misbehave, e.g. they validate an invalid block, their stake gets slashed (i.e. some of it gets taken away).

On the other hand, trustworthy validators will attract more delegators, thus increasing their stake and authority in the network.
8/ How secure are Proof of Stake networks?

First, note that PoS networks require at least 2/3 of all nodes in order to reach consensus.

Thus, if more than 1/3 of validators are dishonest, the network will NOT function correctly.
9/ If more than 1/3 of validators are dishonest, the network may be halted (dishonest nodes can refuse to participate).

If at least 2/3 of validators are dishonest, they can collude and manipulate the state of the network (e.g. include fake transactions).
10/ Let's recap:

- PoS is a consensus mechanism
- Validators are randomly chosen to produce blocks. Only one validator produces blocks at a time
- Validators are punished for bad behavior (stake gets slashed)
- If more than 1/3 of validators are dishonest, PoS will not work
11/ For more on this topic, check out this great primer by @ShinobiSystems shinobi-systems.com/primer.html

ethereum.org/en/developers/… is also a good read

Next time, I'll cover Proof of History!

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with pencilflip.sol πŸ„

pencilflip.sol πŸ„ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @pencilflip

24 Oct
#Solana accounts explained in 5 tweets πŸ‘‡
1/ There are 2 kinds of accounts in Solana.

Data accounts store data. Program accounts store executable programs.

Each account has an address (usually a public key) and an owner (address of a program account). There are a few more fields every account stores, see πŸ‘‡
2/ There are a few important ownership rules:

- Only a data account's owner can modify its data and subtract lamports.
- Anyone is allowed to give lamports to a data account.
- The owner of an account may assign a new owner if the account's data is zeroed out.
Read 7 tweets
23 Oct
I'm currently learning how to program on @solana, and have found it much more difficult than learning to program on Ethereum.

Luckily, there are lots of great resources out there. Here are the ones I've found most helpful! πŸ‘‡
1/ First, it's helpful to at least slightly understand Rust πŸ¦€ before diving into Solana dev.

Luckily, there's a great free book about it!

You don't need to read the whole thing, just enough to get the syntax down. You can always refer back to it later.

doc.rust-lang.org/book/
2/ Anchor (by @ProjectSerum) is a framework that will make your life much easier.

There are three parts to Anchor:
- A TypeScript library that's similar to web3.js
- Rust crates that make writing Solana programs easier
- A CLI for building/testing, similar to @HardhatHQ
Read 13 tweets
21 Oct
ERC721 is the "gold standard" for NFTs. But ERC1155 is another commonly used standardβ€”in fact, it's the one @opensea uses!

So what is ERC115, and how does it differ from ERC721. You guessed it... it's another thread πŸ‘‡

1/ First, if you haven't read my thread on ERC721, go check that out!

2/ Second, if you want to find out which token standard an NFT on OpenSea uses, just follow this video.
Read 12 tweets
6 Oct
1/ Arweave vs. IPFS, a high-level comparison
2/ Arweave, made by @ArweaveTeam, provides "permanent, resilient storage."

IPFS, made by @protocollabs, is a "distributed system for storing and accessing files, websites, applications, and data."
3/ The main difference is that Arweave guarantees permanence. If you store a file on Arweave, it will never be deleted.

This is not true for IPFS.
Read 16 tweets
6 Oct
My 7 favorite resources for getting started with web3...
1/ @3blue1brown's video "But how does bitcoin actually work?" explains Bitcoin's blockchain, and is the most understandable introduction to blockchain I've come across.

2/ The @ethereum whitepaper explains what Ethereum is and how it works. I recommend skimming it to get the general idea and revisiting it later.

ethereum.org/en/whitepaper/
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(