본문 바로가기

학교 공부54

[Ethereum] Transaction이란? Transaction이란? : 일반적인 데이터에 transaction 생성자의 전자서명이 담긴 메시지라고 생각하면 쉽게 이해할 수 있다. EOA에 의해서 생성되기 때문에 private key를 가지지 않는 smart contract에서는 transaction을 만들지 못한다. Transaction 구조 - Nonce : replay attack을 막기 위한 용도로, 하나의 account가 있을 때 몇 개의 transaction을 전송했는지 의미함. - Gas price : 가스 하나의 가격(wei 단위) - Gas limit : 최대 가스 소모량 - Recipient : target account - Value : 얼마의 이더를 송금할 것인가? - Data : contract 코드의 실행을 위한 필드 -.. 2021. 6. 3.
[Ethereum] 이더리움에서 사용하는 암호학 이더리움에서 사용하는 암호학 - 전자서명 : account를 증명함. - 해시함수 : transaction의 무결성을 증명함. 전자서명은 이더리움 계정(account)에서 사용하는데, 전자서명을 생성하기 위해 private key가 필요하다. 따라서 EOA에서 사용하고 있으며(contract account에서는 사용 못함), transaction을 하기 위해서는 올바른 전자서명을 붙여서 전송하는데 이때, 공개키 암호화 알고리즘을 통해 account를 확인한다. (private key는 사용자 측에 저장되어 있으며 절대로 옮겨지거나 전송되지 않는다.) 공개키 암호화 알고리즘은 이더리움 상에 새로운 account를 생성할 때 이를 사용한다. - 상대방의 public 키로 암호화하고, 데이터를 받은 본인은 본.. 2021. 6. 3.
[Ethereum] 이더리움 Account와 이더리움 네트워크 (알고 가기) 이더리움 동작을 설명할 때, Smart Contract을 빼놓을 수 없다. 왜냐하면 이더(ETH)를 주고받기 위해서는 Smart Contract이 동작되어야 하기 때문이고, Smart Contract(코드임)은 EVM이라는 Ethereum Virtual Machine(가상 머신)을 사용해야 한다. 이더리움 계정(Account) 1) Externally Owned Account(EOA) : Smart Contract을 위한 계정이다. 일반적으로 MetaMask에서 보내기 버튼 눌러서 보낼 때 사용하는 계정 (구성요소) Account, Private keys 2) Contract Account : 사용자 혹은 개발자가 새로운 contract 코드를 만들어 배포하면 새로운 contract이 만들.. 2021. 3. 19.
[Ethereum] 이더리움 실습, 테스트넷에서 이더(ETH) 받기 간단하게 내 이더를 다른 account로 보내주는 실습을 할 것이다. (과정) 테스트 네트워크로 변경 -> 이더 받기 -> 새 계정 생성 -> 새로운 계정에 이더 전송 1. 이더리움 메인넷에서 Ropsten 테스트 네트워크로 변경해준다. 2. Account1을 클릭하여 내 account(계정)을 복사해둔다. 3. 아래 세 곳의 사이트 중에서 하나를 선택해서 이더를 받을 수 있다. faucet.metamask.io/ Ropsten Ethereum Faucet https://faucet.dimensions.network/ // 참고로 사이트에 따라 이더 요청을 받는데 시간이 꽤 걸릴 수도 있고, 금방 받을 수도 있다. 4. 내 계정의 이더 기록을 보면 내역을 확인할 수 있다. 5. 아래 사진처럼 계정 생성을.. 2021. 3. 19.
[Ethereum] 이더리움 MetaMask 설치하기 크롬 웹 스토어에 들어가서 MetaMask를 검색한다. 아래와 사진과 같은 앱을 추가시킨다. 그다음엔 패스워드 적고, mnemonic 코드 따로 적어두고(비밀번호 까먹었을 때 백업할 수 있음) 넘어가면 간단하게 계정 생성!! MetaMask 여우 아이콘 클릭하면 아래와 같이 뜨고, 이더리움을 사용할 수 있다. ** 이더리움 메인넷 : 거래가 이루어지는 네트워크 ** Account1 : 현재 내가 생성한 계정 // 이더를 보내기 위해 본인 혹은 다른사람의 계정(0x~~)를 복사하여 사용한다. ** 0 ETH : 현재 나의 이더(재정) 상태 (점3개 버튼 눌러서 "보기확장" 누르면 큰 화면으로 볼 수 있다.) 2021. 3. 19.
[Ethereum] 이더리움(Ethereum)이란? (+wallet 개념) Ethereum 제작자는 이더리움이 "World Computer"라고 이야기하고 있다. 여기서 World Computer란 이더리움 네트워크를 통해서 각각의 컴퓨터들이 동작하고, 이것을 전체적으로 봤을 때 하나의 컴퓨터처럼 보인다는 것이다. 학문적인 측면에서 봤을 때는 deterministic하고 unbounded state machine이기 때문에 컴퓨터와 비슷하나, 글로벌하게 동작하는 점에서 컴퓨터와 차이점을 가진다. 이더리움이란? : 블록체인 기술을 기반으로 Smart Contract 기능을 구현하기 위한 분산 컴퓨팅 플랫폼이자 운영체제이다. (위키백과) 대충 감이 잡혔을지는 잘 모르겠지만,, 이더리움은 웹 기반의 플랫폼으로 생각하자. 하지만 기존에는 웹서버가 존재해야 했고 Centralized한 .. 2021. 3. 19.