본문 바로가기

이더리움8

솔리디티 컴파일러(solc) 설치하고 컴파일해보기 💡솔리디티 컴파일러 설치하기 이더리움에서 스마트 컨트랙트를 실행하기 위해서는 솔리디티 코드를 작성하고, solc 라는 솔리디티 컴파일러로 컴파일하여 이더리움 블ㄹ록체인에 배포해야 합니다. 솔리디티 컴파일러(solc)를 설치해보고, 코드를 컴파일 해보도록 하겠습니다. 아래 명령어를 입력하여 솔리디티 컴파일러를 설치해주시면 됩니다. 저는 현재 MAC OS를 사용하고 있으니, 이 점 유의해서 봐주시면 좋을 것 같습니다. 💻 우분투 OS sudo add-apt-repository ppa:ethereum/ethereum sudo apt update sudp apt install solc 💻 맥 OS brew update brew tap ethereum/ethereum brew install solidity 설치가.. 2022. 7. 12.
솔리디티(Solidity)란? 💡 솔리디티(Solidity) 솔리디티는 스마트 컨트랙트를 실행하는 객체 지향, 정적 타입, 고급 스크립트 언어로, EVM에서 실행된다. 솔리디티는 컨트랙트 기반의 고급 프로그래밍 언어이다. 자바스크립트와 같은 스크립트 언어의 구문과 매우 유사하다. 솔리디티는 C++ 과 파이썬, 자바스크립트를 기반으로 만들어졌으며, 이더리움 네트워크에서 스마트 컨트랙트를 생성할 수 있도록 설계되었다. 솔리디티는 정적 타입 스크립트 언어이기에, 런타임 언어와 달리 컴파일 시 제약 조건을 확인하고 적용한다. ✓ 역사 솔리디티는 2014년 8월 컴퓨터 과학자 가빈 우드가 처음 제안하였다. 우드는 이더리움에서 2년간 CTO로 재직했으며, 크리스찬 라이트와즈너가 우드를 이어받아 솔리디티 개발을 이끌었다. 그 결과 2015년 8월.. 2022. 7. 7.
이더리움에서의 스마트 컨트랙트란? 💡이더리움에서의 스마트 컨트랙트 이더리움은 블록체인 기술을 활용해 스마트 컨트랙트와 암호화폐 거래를 제삼자 없이 안전하게 이뤄질 수 있도록 하는 오픈소스 퍼블릭 서비스이다. 누구든지 분산형 어플리케이션(dApp)을 이더리움 네트워크에 배포할 수 있다. 이더리움은 개발자들이 dApp을 만들 수 있도록 튜링 완전한 언어인 솔리디티를 제공하였으며, 이더리움 네트워크에 올라간 솔리디티 코드는 EVM을 통해 실행된다. ✓ 이더리움의 역사 비탈릭 부테린은 2011년 비트코인 생태계에 관심을 가지기 시작했으며, 비트코인 매거진을 공동 창립하였다. 부테린은 비트코인에서 단순 암호화폐 거래를 하는 것에서 그치지 않고, 애플리케이션을 실행할 수 있는 범용적인 블록체인을 만들고자 했다. 그리고, 2013년 일반적인 스크립트.. 2022. 7. 7.
블록체인 채굴 풀 (Mining Pool) 💡 채굴 풀 (Mining Pool) 채굴 풀은 의미 그대로 채굴 풀이라고 생각하면 된다. 여기에서 풀은 일종의 조합을 의미하는데, 즉, 채굴하는 채굴자들이 모여서 만들어진 채굴자 조합이라고 이해할 수 있다. 채굴 풀이 생기게 된 이유는 비트코인 채굴 원리에서 찾아볼 수 있다. 비트코인은 알고리즘을 해결하고, 거래장부에 블록을 생성하게 되면, 보상으로 비트코인을 받는 방식으로 채굴된다. A와 B라는 채굴자가 있고, 1 블록을 생성하기 위해서 알고리즘 해결 작업을 수행했다고 가정해보자. 이 때 A의 해시파워는 10, B의 해시파워는 20이다. 블록 하나를 생성하는 데에는 해시파워가 높은 B가 먼저 작업을 수행하고 비트코인을 보상으로 받는다. 해시파워란, 블록체인 네트워크에서 채굴자들이 가지고 있는 채굴 역.. 2022. 6. 29.
블록체인에서 채굴(Mining)이란? 채굴자가 하는 일은? 해시율이란? 💡채굴 (Mining) 채굴이란 블록체인 네트워크에 노드로 트랜잭션을 검증하여 분산원장을 기록하고, 보상으로 암호화폐를 얻는 것을 뜻하며 땅을 파서 광물 따위를 캐내는 행위에서 유래한 용어이다. 새로운 블록을 만드는 것이 바로 채굴의 핵심이며 특정 컴퓨터 연산 작업을 통해 만들어지게 된다. 비트코인의 경우, 10분에 한 번씩 일정량의 블록이 생성되는데 이 생성된 비트코인을 채굴에 참여한 작업자 중 해시퍼즐이라는 문제를 푼 작업자에게 지급하게 되며, 이 해시퍼즐은 특정한 조건을 갖춘 해시를 찾아내는 일련의 과정을 말한다. 블록체인 기반의 암호화폐에서 새로운 블록을 생성하고 그 대가로 암호화폐를 지급받는 노드들이 바로, 채굴자(Miner)이다. ✓ 채굴자가 하는 일 토큰 이코노미와 크립토 이코노미를 통하여 .. 2022. 6. 29.
이더리움 프루닝 💡이더리움에서의 프루닝 이더리움에서는 프루닝을 State Trie Pruning이라고 한다. State Trie Pruning은 현재 상태를 Prefix Tree의 일종인 Modified Merkle Partricia (MPT, 상태전이 일반 머클 확장 페트리샤 트리)로 저장한다. 이더리움에서 상태란, Account의 상태(Account state)이다. 그리고, 이 상태들이 모여 Global State를 이루고, 이는 Key-Value의 데이터 구조로 저장하고 있다. key : value = 32 byte Address : Account state 사용자가 늘어나게 되면 당연히 이더리움의 어카운트가 계속 늘어나고, 수정 사항이 늘어나자 이는 계산이 버거워지고 느려지는 것으로 이어졌다. 이를 위해 머클 .. 2022. 6. 29.
확장성을 타협한 암호화폐/블록체인 💡비트코인(Bitcoin) 비트코인은 높은 탈중앙화와 보안을 갖추고 있다. 그러나 확장성의 한계로 인해 트릴레마를 극복하지 못했다. 비트코인은 애초부터 탈중앙화와 보안에 초점을 맞추고 개발되었는데, 특히 보안 측면에서는 최고의 암호화폐라고 평가된다. 실제로 비트코인은 암호화된 기술을 바탕으로 서버 역할을 하는 노드들이 네트워킹되어 블록체인을 검증하기 때문에 쉽게 위변조가 사실상 불가능하다. 하지만 시간이 흐름에 따라 비트코인은 점점 더 많은 사용자를 확보하게 됐고, 자연스럽게 네트워크가 확장됨에 따라 트랜잭션 속도가 느려지는 확장성 문제가 확인되었다. 비트코인은 7 TPS 정도의 처리 속도를 가지고 있다. 이는 3세대 블록체인이라고 불리는 이오스의 3,000 TPS에 비하면 현저히 낮은 수치이다. 비트코.. 2022. 6. 24.
블록체인에서 코인과 토큰의 차이 💡코인과 토큰의 차이 코인과 토큰은 독립된 블록체인 네트워크를 소유하고 있는지(자체 메인넷을 가지고 있는지)에 따라 나뉜다. ✓ 코인과 토큰 법정화폐와 지역화폐를 예를 들어 코인과 토큰의 차이를 이해해볼 수 있다. 한국의 법정화폐는 대한민국 중앙은행인 한국은행에서 발행하는 화폐이다. 이 화폐는 대한민국 어디에서나 법적화폐로 인정이 된다. 아무리 외진 곳이라도 대한민국 영토에 있다면 법적인 지위가 보장된다. 반면, 지역화폐는 대한민국 내 특정 지역 내에서 특정 구성원들이 유통하는 화폐를 의미한다. 즉, 지역이나 구성원 등 특정 조건을 만족할 때만 사용할 수 있는 화폐이다. 예를 들어, 양산시에서 발행한 지역화폐인 양산사랑카드는 양산시에 있는 가게에서만 사용할 수 있다. 이는 양산사랑카드가 양산시의 지역 경.. 2022. 6. 17.