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