공부 흔적남기기

blockchain with go 회고 본문

프로그래밍 언어/Go

blockchain with go 회고

65살까지 코딩 2023. 4. 16. 13:19
728x90
반응형

맨날 웹개발만 하다가 refresh를 위해 선택한 blockchain 추가로 떠오르는 언어인 go와 함께..

2월달에 강의를 시작해서 오늘 드디어 끝냈다.

blockchain 기본 구조와 go를 겉핥기 해본 것 같은데 좋은 경험이었다.

 

간단하게 복기 해보면

blockchain은 block들이 hash값을 가지고 서로 연결되어있다.

block에는 유의미한 데이터를 넣고 탈중앙화 된 DB에 저장시킨다. (P2P 이용)

유저들은 이 탈중화된 DB를 가지고 서비스를 이용한다.

P2P를 통해 각 노드들이 연결되거나 블럭이 추가되거나 mempool에 데이터가 추가되면 sync하는 과정을

ws로 진행했는데 꽤나 재밌었다.

그리고 나는 block에 bitcoin과 비슷하게 transaction을 넣었는데 이때 사용된 비대칭키 구현 (private key, public key, signature, data)가 인상 적이었다.

그리고 겉핡기 수준이긴 하지만 go에서 가장 멋진 기술인 go routine을 자주사용했는데 mutex를 통해 data race를 처리하는게 생각보다 까다로웠다.잘못 처리하면 데드락.. 

역시 개발은 동시성이 가장 어렵다.. 

이제 네트워크 공부하러 가자.. 

728x90
반응형

'프로그래밍 언어 > Go' 카테고리의 다른 글

Go bufferChannel vs unBufferChannel  (0) 2023.04.05
Go Interface 사용법  (0) 2023.02.20