본문 바로가기
[블록체인] 15. Blockchain Usage and Applications 블록체인 혁명 ECash를 구현하기 위해서는 신뢰할말한 중앙집권이 있어야했음. -> 사토시나카모토는 2008년 금융위기를 겪으면서 중앙집권의 존재를 가정해서는 안된다고 생각함. -> 은행이 필요없도록 구성원들의 자발적 노력으로 해결하자! 중앙기관 배제하자! 문제) 구성원들이 모두 선하고 규칙대로 행동할 것이라는 보장이 없음. 사람은 모두 이기적임. 해결) 인센티브(Bitcoin) 제시 -> miner들이 정직하게 일 할 동기부여(1세대) --> 비탈릭부테린은 코인보다는 블록체인에 더 관심을 두고 블록체인을 플랫폼으로 만듦.(2세대) --> 2세대 이후 많은 응용분야가 등장하기 시작함. 블록체인의 장점 블록체인을 제대로 활용하려면? - 투명성 및 불변성을 통한 신뢰성 구축이 요구되는 분야인가? - 데이터의.. 2022. 12. 11.
[블록체인] 14. NFT(Non-Fungible Token) ERC-20 Token * 10장 Coin vs Token 참고 더보기 NFT (Non Fungible Token) 대체 불가능한 토큰. 원본과 복사본의 가치 차이가 있음. NFT는 어떤 게 원본인지 알려줌. ERC20 fungible token을 만들기위한 이더리움 표준. 교환 가능(대체 가능). 복사를 몇 번 하든 가치가 똑같음. Coins vs. Tokens * Coin : 블록체인에 native한 디지털 화폐 ex) Bitcoin의 BTC, Ethereum의 ETH, Ethereum classic의 ETC 가치를 저장하고 교환의 매체로 사용함. PoW로 채굴되거나 PoS로 얻을 수 있음. * Token (≠ coin) : 블록체인 플랫폼(프로젝트) 상에서 프로그램에 의해 만들어진 currency... 2022. 12. 10.
[블록체인] 13. Cosmos - Internet of Blockchains Blockchain Revisited 블록체인은 validators/minors가 관리하는 distrubuted ledger임. validators/minors가 각각의 컴퓨터에 copy of the ledger를 가지고 있음. -> 각 컴퓨터가 가지고있는 ledger가 모두 일치하는가? 변화가 생기면 동시에 반영하는가? => 블록체인은 central authority에 의존하지 않고 장부를 공유할 수 있음!!! 블록체인의 3계층 - application : state 구성 요소, state의 transaction을 유발하는 요소(지향하는 것. ex 비트코안: payment, 이더리움: platform)에 대한 명시 - networking : 노드들이 transaction이나 consensus 관련 메세.. 2022. 12. 9.
[블록체인] 12. Ethereum - Proof-of-Work vs Proof-of-Stake 이더리움 아이디어는 2013에 나왔지만 2015년에 시작됨. 이더리움 초창기는 PoW -> The Merge 업그레이드 후 PoS로 switch (계획:2020, 실제:2022.09) Ethereum Blocks 이더리움의 블록은 block header와 state 정보, transactions, receipts로 구성됨. 이더리움의 목적이 범용 프로그래밍 플랫폼이기 때문에 비트코인보다 block header가 복잡함. * parentHash: 블록체인의 이전 블록을 연결하는 포인터 (≒ 비트코인의 previous hash) * nonce : 비트코인의 nonce와 같은 역할 * mixHash : 이더리움에서는 nonce와 mixHash를 합쳐서 해당 블록이 퍼즐을 제대로 풀었는지(채굴 성공했는지) 검증.. 2022. 12. 8.
[블록체인] 11. Ethereum - The Ethereum Virtual Machine EVM: Comparison with other VM technologies 실제 컴퓨터를 가상화 한 VirtualBox, QEMU등과 비교하면, EVM은 limited domain(비교적 간단)이고 computation과 storage를 제공하는 abstract한 구조. EVM은 JVM과 비슷한 단지 computation을 위한 engine. 자바 코드가 컴파일 되어 JVM을 위한 bytecode로 바뀌듯이 EVM을 위한 bytecode도 존재함.(high level로 작성된 smart contract_ex.Solidity로부터 바뀌게 됨.) EVM은 scheduling 능력이 없음. 여러개의 job을 어떤 순서로 진행할지에 대한 결정 권한이 없음. (Execution order는 전적으로 외부적인 요.. 2022. 12. 3.
[블록체인] 10. Ethereum - Smart Contracts and Dapps What is a Smart Contract? contract account는 code와 data storage(프로그램이 종료되어도 유지해야하는 데이터)를 가지고있지만, private key는 가지고있지 않음. (독자적으로 invoke되지 못하기 때문.) EOA는 private key에 의해 컨트롤됨. (계좌이체 시 sender 체크용) Smart Contract 단순히 EVM에 의해 실행되는 컴퓨터 프로그램을 의미함! (contract에 어떠한 법적인 의미가 있는 것은 아님) - immutable : data는 바뀔 수 있지만 code부분은 바뀔 수 없음.(다수가 받아들인 블록체인은 변경 불가능) account상에 포함되었지만 문제가 있거나 없애고싶은 smart contract가 생겼을 때, acco.. 2022. 12. 1.