go

go

    Go 언어로 블록체인 메인넷 만들기 - 디지털 서명(Signature)

    Go 언어로 블록체인 메인넷 만들기 - 프로토타입 Go 언어로 블록체인 메인넷 만들기 - 작업증명(PoW) Go 언어로 블록체인 메인넷 만들기 - 영속성 Go 언어로 블록체인 메인넷 만들기 - CLI(Command Line Interface) Go 언어로 블록체인 메인넷 만들기 - 트랜잭션(Transaction) Go 언어로 블록체인 메인넷 만들기 - 거래#1 Go 언어로 블록체인 메인넷 만들기 - 키와 주소, ―지갑 Go 언어로 블록체인 메인넷 만들기 - 거래#2 Go 언어로 블록체인 메인넷 만들기 - 디지털 서명(Signature) 서명 이전 포스트인 Go 언어로 블록체인 메인넷 만들기 - 거래#2 에서 서명 구현을 미룬 바 있는데, 이제 서명을 구현해보도록 하자. 일단 서명이 무엇인지부터 고민해야 ..

    Go 언어로 블록체인 메인넷 만들기 - 키와 주소, ―지갑

    이번에는 키와 지갑에 대해 이야기해보자. 일반적으로 우리가 암호화폐 지갑으로 부르는 것들은 유저 인터페이스상에 주소로 표현되며, 잔액을 표시할 수 있어 지갑이 코인을 가지고 있는 것으로 보인다. 하지만 지갑은 알고보면 그냥 공개키(Public Key)와 개인키(Private Key)를 가지고 있는 것 뿐이다. 그렇다면 주소는 어디있으며 잔액은 어디에 있는가에 대한 질문이 생기게되는데 잔액의 경우 이전 포스트에서 UTXO(Unspent Transaction Output)의 총합으로 처리할 수 있다고 했다. 공캐키와 개인키 공캐키(Public Key)와 개인키(Private Key)는 암호학에서 나오는 개념이며 암호화의 본질은 다른 사람이 메시지를 읽지 못하도록 하고 허락된 당사자만이 처리할 수 있도록 하는..

    Go 언어로 블록체인 메인넷 만들기 - 거래#1

    이번 포스트에서는 거래를 다룬다. 이전 포스트에서 트랜잭션을 이야기하면서 유일한 거래를 만든 것이 바로 코인베이스 트랜잭션인데, 코인베이스 트랜잭션은 입력 값이 없기 때문에 일반적인 거래라고 보기는 어렵다. 따라서 이번 포스트에서는 실제 거래처럼 두 주체가 대금을 지불하고, 잔액을 돌려주는 것을 해볼 것이다. UTXO(Unspent Transaction Output) UTXO, 즉 소비되지 않은 거래 출력 값은 거래에서 반드시 이해해야 하는 개념이다. 처음 이 개념을 접한다면 이해하기 어려울 수도 있다. 나의 경우는 이 개념을 이해하기 위해 다소 오랜 시간이 걸렸다. 먼저 소비(Spent)에 대해 생각해보자. 소비라는 것은 내가 가지고 있는 자금을 다른 주체에게 지불하는 행위를 말한다. 소비를 하려면 먼..

    Go 언어로 블록체인 메인넷 만들기 - 트랜잭션(Transaction)

    이번에는 블록체인의 구성요소 중 또 하나의 요소인 트랜잭션을 만들어보자. 트랜잭션을 이해하기 제법 시간이 걸렸는데, 포스트를 적어가면서 하나씩 풀어나갈 생각이다. 현재 이 포스트는 트랜잭션의 초입부분이며 이후에 거래, 공개키와 개인키 등 다뤄야 할 내용이 또 있다. type Transaction 트랜잭션은 기본적으로 Block 에 포함된다. 우리가 Data 라는 필드를 블록에 포함시켰었는데 그것 대신에 거래들이 포함될 예정이다. 트랜잭션은 하나의 거래다. 현실세계에서 일어나는 거래를 어떻게 표현할 수 있을까? 비트코인에서 제시하는 거래의 아이디어는 제법 흥미롭다. 먼저 거래는 입력 값(Input Transaction)과 출력 값(Output Transaction)이 있다. 하나의 트랜잭션은 다수의 입력과..

    Go 언어를 공부하기 위한 자료 및 문서 정리

    Go 이 포스트는 블로그내 Go 카테고리의 목차와 Go 언어를 할 때 참고하면 좋은 문서를 일부 정리해놓기 위해 작성되었다. Go 언어는 성장하고 있으며, 한국어 자료들도 어느정도 나오고 있기 때문에 내 블로그를 포함한 한국어 자료들을 어느정도 정리해놓으면 나름대로 도움이 될 것이다. 내가 Go 언어를 선택한 이유 내가 Go 언어를 선택한 이유 어서와 Go 내가 수년간 마주한 PHP 를 보내고 잡은 언어는 Go 다. 많은 이들이 알다시피 현재 범용 프로그래밍 언어로써 가장 많이 쓰인다고 볼 수 있는 것이 자바라는 사실은 부정할 수 없을 것이 pronist.tistory.com 이 포스트의 내용은 주기적으로 업데이트 될 것이며 블로거 본인이 가지고 있는 Go 언어에 대한 이해도가 높아질수록 새로운 내용이 ..