what is a blockchain?
oracle(회사 아님): a trusted third party that provides data to the blockchain
chain link: a decentralized oracle network that connects smart contracts to external data sourcesa
smart contract: trust minimized agreements, unbrakable promises
metamask는 nimonics를 이용해 private key를 생성. 다계정을 만들 때는 nimonics + <index>를 이용해 계정 생성
private key는 transaction을 sign할 때 사용. public key는 transaction을 verify할 때 사용
verify된 transaction은 miner에 의해 블록에 추가됨
gas price: Base Fee + Priority Fee
transaction fee: 실제로 지불하는 금액. Gas Prics * used gas (< gas limit). transaction fee - burnt fee만큼 즉, priority fee * used gas만큼 miner에게 지급됨
gas fee: transaction을 처리하는데 필요한 비용. gas fee가 높을수록 빨리 처리됨
- Base fee: network congestion에 따라 변동. Base fee * used gas 만큼 소각됨
- Max fee: 사용자가 지불할 수 있는 최대 gas price
- Max Priority: 사용자가 지불할 수 있는 최대 fee + tip
consensus algorithm: 블록체인 네트워크의 모든 노드가 동의하는 방식 (nakamoto consensus: proof of work + longest chain)
- Chain selection:
- longest chain: 가장 긴 체인을 선택
- sybil resistance: 한 사람이 여러 개의 가짜 계정을 만들고 시스템을 조작하는 Sybil 공격을 방어하는 능력
- proof of works: hash를 0으로 만드는 nonce를 찾음. 제일 먼저 찾은 사람이 블록을 추가할 수 있음 (transaction fee + block reward(네트워크에서 새로 발행하는 코인. 갈수록 줄어듦))
- proof of stake
- Chain selection:
L1: base layer of blockchain ecosystem
L2: application built outside of the L1 and hooks back into the L1
roll up: L2에서 발생한 transaction을 L1에 기록하는 방식
- optimistic roll up: L2에서 transaction을 처리하고 L1에 기록함. L1에 기록되기 전까지는 롤백 가능
- zk roll up: L2에서 transaction을 처리하고 L1에 기록함. L1에 기록되면 롤백 불가능