보호되어 있는 글입니다.
블록체인
11일 새벽 1시 ehtereum.org 커뮤니티콜이 있었다.저번에 있었던 커뮤니티콜도 참가하려 했지만, 시간을 잘못 알아서 참가하지 못했었다. 사실 영어를 잘 못해서 대충 느낌적인 느낌으로만 알아듣다가디스코드에 요약본이 올라와, 내용을 다시 정리해보았다.https://nforu.notion.site/af1962497a764768baa765f0c456b4ff 이더리움 커뮤니티콜이더리움 디코 arredr2가 올린 요약본을 번역한 내용입니다.(구글번역기가)heom.notion.site 다 이더리움.org에 대한 내용이었는데,나는 이더리움 재단에서 직접 이더리움.org를 관리하는 것인줄 알았는데,얘기를 들어보니 별도의 6명의 팀원이 홈페이지를 운영하는 것 같았다. 그리고 이번에 이더리움.org 홈페이지..
챕터9:스마트 컨트랙트 보안 다른 프로그램들과 마찬가지로 스마트 컨트랙트도 작성된 그대로 실행되는데, 프로그래머가 의도한 내용과 반드시 일치하지 않을 때가 있다. 또한 모든 스마트 컨트랙트는 공개되어 있으며, 모든 사용자는 트랜잭션을 생성하여 간단하게 상호작용할 수 있다. 어떤 취약점이라도 악용될 수 있으며, 손실은 거의 항상 복구할 수 없다. 따라서 모범 사례를 따르고 잘 테스트된 디자인 패턴을 사용하는 것이 가장 중요하다. 보안 모범 사례 방어적 프로그래밍은 스마트컨트랙트에 특히 적합하다. 미니멀리즘/단순성 - 코드는 간단할수록 안전하다. 코드 재사용 - 같은 코드를 반복하지마라(함수, 라이브러리로 정리), 개발된 라이브러리를 사용하는 것이 디자인이나 기능은 몰라도 일단 안전하다. 코드 품질 - 스마..
챕터8:스마트 컨트랙트와 바이퍼 바이퍼(vyper)는 이더리움 가상 머신을 위한 실험적인 컨트랙트용 프로그래밍 언어인데, 개발자들이 이해하기 쉬운 코드를 작성할 수 있도록 함으로써 뛰어난 감사 용이성(auditability)을 제공하고자 만들어졌다. 사실, 바이퍼의 주요 원칙 중 하나는 개발자들이 오독하기 쉬운 코드(misleading code)를 작성할 수 없게 하자는 것이다. 취약점과 바이퍼 이 책에서는 최근이라고 나와 있지만, 이젠 예전이 되어버린 한 연구에서 https://arxiv.org/pdf/1802.06038.pdf 배포된 약 백만개의 이더리움 스마트 컨트랙트를 분석한 결과 심각한 취약점을 가진 스마트 컨트랙트가 아주 많다는 사실을 확인했다고 한다. 취약점의 유형은 다음과 같다. 자기파괴 ..
챕터7:스마트 컨트랙트와 솔리디티 컨트랙트 계정은 개인키를 갖지 않으므로 스마트 컨트랙트에 규정된 미리 결정된 방식으로 '스스로 제어'하는 반면, EOA는 프로토콜의 외부에 있어서 프로토콜에 독립적인 '실제 세계'의 개인키로 생성되고 암호로 서명된 거래에 의해 제어된다. 여러번 나오는 얘기이지만 이더리움에는 EOA와 컨트랙트 계정 이렇게 두가지 유형의 계정이 있다. 이번장에서는 컨트랙트 계정과 이를 제어하는 코드에 대해서 설명한다. 스마트 컨트랙트란 무엇인가 이 책에서는 '스마트 컨트랙트'라는 용어를 불변적인(immutable) 컴퓨터 프로그램을 지칭하는데, 이 프로그램은 이더리움 네트워크 프로토콜(즉, 탈중앙화된 이더리움 월드 컴퓨터)의 일부인 이더리움 가상 머신의 컨텍스트 상에서 결정론적으로(dete..
챕터 6 : 트랜잭션 트랜잭션은 외부 소유 계정(EOA)에 의해 서명된 메세지인데, 이더리움 네트워크에 의해 전송되고 이더리움 블록체인에 기록된다. 이 기본 정의는 놀라울 정도로 매력적인 의미를 담고 있다. 다른 관점으로 바라보면, 트랜잭션은 EVM에서 상태 변경을 유발하거나 컨트랙트를 실행할 수 있는 유일한 방법이라는 것이다. 이더리움은 글로벌 싱글톤 상태 머신이며, 트랜잭션은 이 상태 머신을 움직여서 상태를 변경할 수 있도록 만든다. 컨트랙트는 독자적으로 실행되지 않는다. 또한 이더리움도 자율적으로 실행되지 않는다. 모든 것은 트랜잭션으로부터 시작된다. 다 중요한 말이라 그대로 가져왔다. 이더리움 네트워크에서 모든 상태변화는 트랜잭션으로 이뤄진다. 이더리움 혼자 실행되고 돌아갈 수 있는 게 아니라 그..
챕터 5 : 지갑 넓은 의미에서 지갑은 이더리움의 주요 사용자 인터페이스를 제공하는 소프트웨어 어플리케이션이다. 지갑은 사용자 돈에 대한 접근을 통제하고, 키와 주소를 관리하며, 잔액을 추적하고, 트랜잭션 생성과 서명을 제어한다. 여기에 더해서 몇몇 이더리움 지갑은 ERC20 토큰처럼 컨트랙트와 상호작용할 수 있다. 사실 이더리움이나 비트코인 네트워크에서 지갑이라는 것에 어떤 형태는 존재하지 않는다. 그냥 개인키랑 공개키가 다다. 그걸 통해서 블록안에서 내 기록을 가져오는 형태이다. 우리가 흔히 알고 있는 메타마스크 같이 잔고를 표시해주고, 송금, 스왑과 같은 기능을 탑재한 지갑들이 사실은 당연한게 아니라, 그 지갑에서 우리의 편의를 위해 대신 처리해주는 것이다. 우리가 직접 그 기능들을 쓰려고 한다면,..
원래는 다중서명 시 모든 서명이 남게 되지만, 슈노르 서명 이용시 1개 분량의 서명만이 남아 서명한 사람들의 프라이버시가 지켜지고, 블록의 용량을 아낄 수 있게 된다. 또한 다중서명과 단일서명을 구분할 수 없게 된다. --> 이게 좋은 것인지는 잘 모르겠다. 블록체인이라함은 모든 것이 공개되어야 한다는 것이 내 생각인데, 누가 서명한지 모르게 되는것이 좋은것인가? 너무 블록크기만을 생각하는 게 아닌가 싶다. 어짜피 한 지갑에서 출금되는 것이라 상관없는 건가... https://academy.binance.com/ko/articles/what-is-a-multisig-wallet 다중서명 지갑이란 무엇인가요? | Binance Academy 다중서명 지갑은 트랜잭션을 위해 하나 이상의 서명을 요구함으로써 ..
챕터 4 : 암호학 출판 시점 기준 이더리움 프로토콜의 어떤 부분도 암호화되어있지 않다. 따라서 누구나 내용을 읽고 확인할 수 있다. 향후에는 영 지식 증명이나 동형 암호화 같은 고급 암호화 도구를 사용하여 암호화된 계산을 블록체인에 기록할 수 있을 것이다. 암호화 도구를 제공할 준비는 마쳤으나 아직 배포되지는 않았다. 이 책이 19년도 5월 초판이다. 원본은 18년 12월 23일 발행. (생각보다 번역본이 빨리 나왔다 신기...) 지금이 21년 5월 10일이니 2년반이 지났는데, 서칭을 해보니 지금도 아직 적용이 안된 것 같다. 다만 이더리움 네트워크 위에서 동형암호를 이용한 서비스들은 가능한 것 같다. www.dbpia.co.kr/Journal/articleDetail?nodeId=NODE076122..
챕터 3 : 이더리움 클라이언트 "이더리움 클라이언트는 이더리움 사양을 구현하고 다른 이더리움 클라이언트와 피어투피어 네트워크를 통해 통신하는 소프트웨어 애플리케이션이다. 기준 사양과 표준 통신 프로토콜을 준수한다면, 서로 다른 이더리움 클라이언트들끼리 상호운용(interoperate)이 가능하다." 그냥 이 문장만 딱 봤을 때 무슨 말인지 사실 이해하기 힘들었다. 챕터를 다 읽고나서 대충 이해한 것 같은데 쉽게 설명하자면, 1. 이더리움 네트워크가 있고 2. 네트워크에 접속할 수 있도록 도와주는 클라이언트가 있는 것이다. 더 쉽게 비유해서 설명하면 네트워크가 있고 통신사가 여러개 있다고 생각하면 맞는 것 같다. 통신 규격만 맞춰서 통신하면 통신사끼리 통신이 가능하듯이 이더리움 사양을 구현한 이더리움 클..
챕터 2 : 이더리움 기초 이더 화폐 단위, 이더리움 지갑 선택하기, 통제와 책임,메타마스크 설치하기, 네트워크 바꾸기, 테스터 이더 얻기, 메타마스크에서 이더 보내기,주소의 트랜잭션 내역 탐색 지갑을 만들고 테스터넷을 통하여 이더를 발급받고 전송해보고 가스비를 확인하는 내용까지를 알려준다,. 이 과정에서 나는 이상함을 느꼈는데, 이더의 테스터넷의 경우 종류도 많고 제각기 운영방식이 달라 의아했다. 찾아보니 각 커뮤니티에서 하드포크하여 자체적으로 운영하는 형태인 듯 하였다. 월드 컴퓨터 소개 이더리움은 이더리움 가상머신(EVM)이라고 하는 에뮬레이트 된 컴퓨터에서, 스마트컨트랙트 라는 프로그램을 실행하기 위해 사용되는 화폐이다. EVM은 글로벌 싱글톤으로, 세계 어디서든 하나의 컴퓨터처럼 작동한다. 이더..
Chapter 2: Evolution of Economics 2.1. What is Economics: An Evolution Economics is a science. It primarily examines how decisions are made and which alternatives provide the greatest benefits to various stakeholders. It has always been, and continues to be, about the study of allocation of scarce resources (behaviours). One of the key differences in token economics is to create rules around the..