BlockChain/Etereum8 Ethereum (4) - geth install & dev test(Mac m1) geth 설치 먼저 m1 전용 homebrew가 설치 되어 있어야 한다. 설치 후 터미널에서 아래와 같이 입력한다. brew install ethereum 설치 후 버전 확인 방법은 아래와 같다. geth version geth Test(Dev) geth 실행 설치가 다 됬다면 geth를 테스트 해볼 차례이다. geth를 실행하고, 두 계좌를 만들어 간단하게 송금 테스트 및 블록체인 실행을 해 보려고 한다. geth를 dev로 실행하는 방법은 다음과 같다. geth --dev --identity "블록체인 네트워크 이름" --datadir "블록체인 저장 폴더" --port "30303" --nodiscover --networkid 15 console dev : dev 모드로 실행 identity : .. 2022. 2. 10. Ethereum (3) - 스마트 컨트랙트 스마트 컨트랙트의 정의 스마트 컨트랙트란 블록체인 기반으로 금융거래, 부동산 계약, 공증 등 다양한 형태의 계약을 체결하고 이행하는 것을 말한다. 블록체인 2.0이라고도 한다. 이더리움에서 스마트 컨트랙트는 블록 헤더의 데이터 변경, 메세지, 특정 값 등을 조작할 수 있는 코드를 의미한다. 그리고 사용자 어카운트에서 발생한 트랜잭션이나 다른 컨트랙트에서만 실행되며, 새로운 스마트 컨트랙트 생성, 특정 스마트 컨트랙트 함수 실행, 이더 전송등이 가능하다. 이더리움의 스마트 컨트랙트 특징 1. 모든 트랜잭션 실행 시 실행 비용을 지급해야 한다. 이더리움은 트랜잭션 실행 시 가스(gas)를 사용하며, 모든 트랜잭션의 기본 실행 비용은 21000가스이다. 트랜잭션 실행 시 비용이 들기때문에 의도적으로 악의적인 .. 2022. 2. 8. Ethereum (2) - 머클 패트리시아 트리 블록체인의 장점 중 하나는 블록체인 안의 모든 데이터를 모든 사용자가 공유하고 있다는 것이다. 근데 블록체인의 크기가 점점 증가하면 공유를 위해 많은 데이터를 동기화 해야 한다. 비트코인은 이를 해결하기 위해 머클 트리를 사용했다. 머클 트리(Merkle Tree) 머클 트리는 블록이 보유하고 있는 거래 내역들의 해시값을 가장 가까운 거래 내역끼리 쌍을 지어 해시화 하고, 쌍을 지을 수 없을 때까지 해당 과정을 반복하여 완성한다. 이 과정을 통해 다수의 데이터를 하나로 묶어 용량을 절약할 수 있다는 장점이 있다. 또한 암호화 해시 함수를 이용하여 만들기 때문에 데이터의 위변조를 막을 수 있다. 알고리즘은 다음과 같다. 1. 최초 데이터를 SHA256형태의 해시 값으로 변환한다. 2. 가장 가까운 노드 2.. 2022. 2. 6. Ethereum (1) - 엉클블록, 고스트 프로토콜 엉클 블록(Uncle Block)이란? 한 채굴자가 블록 생성에는 성공했고, 검증에 오류가 없어서 다른 노드에 전파되었지만, 최종 블록으로 인정받지 못하여 고아블록으로 이루어진 체인의 첫번째 블록. 이더리움에서는 엉클블록의 채굴자(생성자)도 보상을 지급한다. 엉클 블록이 많아지면 발생되는 문제점 1. 트랜잭션 승인 지연 문제 발생. 예를 들어 두 명의 채굴자가 거의 같은 시간에 블록 채굴 시, 서로 다른 트랜잭션이 포함하게 되고, 정상 블록에 포함된 트랜잭션은 처리가 되지만 엉클 블록 내의 트랜잭션은 다음에 만들어지는 다른 블록에 포함되어야 하기 때문에 바로 처리되지 않는 문제 발생 2. 컴퓨팅 파워 낭비. 두 블록이 거의 같은시간에 생성될 경우 블록체인이 두개로 분리되고, 길이가 긴 체인이 정상으로 등.. 2022. 2. 3. 이전 1 2 다음