# september 24, 2022

ethereum

(some of this stuff is old bc eth on pos now, not pow)

mathematical puzzles are so hard to solve, so doing fraudulent transactions is discouraged naturally

only blocks that contain the answer to the complex mathematical problem will be accepted and added to the chain. this occurs every 15 seconds

miners that solve the proof of work puzzle receive a reward of ether

ether are rewarded to people who verify transactions

you need ether to create dapps

trading of financial derivatives is very lengthy

eth smart contracts can be used here

**general blockchain**

public and private keys: Emails have aliases (public) and passwords (private)

utxo: an unspent transaction output represents some amount of digital currency which has been authorized by one account to be spent by another. A piggy bank is destroyed once it is destroyed, has to be used completely, only one-time

mining is validating transactions on the blockchain (computational work). mining leads to blocks being added to the blockchain. in return, miners get bitcoin. you add bitcoin onto each transaction for miners to claim

You add Bitcoin onto each transaction for miners to claim

**MKR protocol**

To vote, MKR owners must "lock-up" tokens by transferring them into the Voting Contract. Votes are weighted based on the quantity of MKR locked in the contract. "Locked" MKR can be withdrawn at any time.

voting requires a single transaction and costs a few cents per vote

Voting only depends on the amount of MKR votes for that proposal, does not depend on the number of voters

if 50 stakeholders hold a total of 600 MKR and vote for proposal A, while 100 stakeholders hold a total of 400 MKR and vote for proposal B, then Proposal A would win with 60% of the vote.

during voting, MKR becomes locked in the voting contract that was set up by the voter.

Executive votes execute technical changes (smart contracts) to the Maker Protocol

continuous approval voting model

competing proposals may be introduced at any time

snapshot

traditionally, to vote using crypto would incur fees to process the movement of currency from one wallet to another

off chain voting

zk-snarks

*from https://vitalik.ca/general/2021/01/26/snarks.html*

A zk-SNARK allows you to generate a proof that some computation has some particular output, in such a way that the proof can be verified extremely quickly even if the underlying computation takes a very long time to run.

I know a secret number such that if you take the word ‘cow', add the number to the end, and SHA256 hash it 100 million times, the output starts with

`0x57d00485aa`

". The verifier can verify the proof far more quickly than it would take for them to run 100 million hashes themselves, and the proof would also not reveal what the secret number is.

why we need them

scalability (if a block takes a long time to verify, 1 person can verify it and generate a proof

everyone else can quickly verify the proof

privacy

you can prove that you have the right to transfer the asset without revealing the link to which asset

there are smaller proofs that can make statements about large amount of data and computation

proof will not be nice enough to leak more than little information

zksnarks are hard because the verifier needs to check millions of steps in a computation, without doing a piece of work to check each indivudal step directly

encode computation into polynomials

if you can verify the equation w polynomials, you are verifying all the number equations

we use a hash of a polynomial, called a polynomial commitment, to allow you to verify the equation between polynomials in a short amount of time

goal: How can a verifier possibly check every single piece of the computation, without looking at each piece of the computation individually?

polynomials

polynomials are single math object that can contain unbounded amount of information