목록분류 전체보기 (78)
공대생 정리노트
암호화폐 경제에 대한 정책에 대한 이야기를 함 들으면서 약간 당연한 얘기를 하는 것 같다는 생각이 들어서 집중이 잘 되지는 않았다. Public Policy Framework 불법 행위를 막는 것 경제 안정성 대중 투자 보호(ICO 등) Public Policy가 암호화폐 경제를 보는 관점은 이렇게 3가지가 있을 수 있다. 그리고 또 하나는 그 어느 정부도 세금을 줄이고 싶어하지 않는다를 생각할 수 있다. 불법 행위를 막는 것 세금 현재 암호화폐를 화폐로 보아야 할지 property로 보아야 할지? 세금을 매기는 것은 채굴, 교환, 포크를 어떻게 다뤄야 할지 등 Bank Secrecy Act Bank Secrecy Act는 은행이 secret 거래 및 돈 세탁 등의 사용자를 알 수 있게 하는 것이다. 예..
이번 강의에서는 블록체인 기술이 어떠한 문제가 있는지 알아보았다. 블록체인 기술에는 Vitalik Buterin Trilemma라는 것이 있다. https://academy.shrimpy.io/post/what-is-the-blockchain-trilemma What Is the Blockchain Trilemma? What is the blockchain trilemma and what can developers do to solve it? Scalability, decentralization, and security are three core blockchain features that networks must have, but nowadays it is difficult to balance them..
블록체인 강의 7강 Reading 중 하나이다. https://dci.mit.edu/lightning-network Layer 2 | Lightning Network — MIT Digital Currency Initiative Public blockchains have serious problems with scaling and interoperability. The Lightning Network addresses these with a decentralized system for instant, high-volume micropayments removing the risk of delegating custody of funds to trusted third parties. dci.mit.edu 비트코..
스마트 컨트랙트에 대해서는 초빙 강사님이 강의를 하셨다. 비트코인과 이더리움 비트코인과 이더리움은 해시 함수 및 디지털 서명, 머클 트리, 타임스탬프 등을 사용한다. 암호학과 타임스탬프 로그에 바탕을 두고 있는 것이다. 또한 Proof of Work 및 자체 통화를 사용해 탈중앙화된 네트워크 컨센서스를 사용하는 면에서도 같다. 하지만 차이점이 있는데 Ledger의 타입이 다르고, 스크립트 언어의 특성 또한 다르다. 이더리움은 balance ledger를 사용하고 비트코인은 transaction ledger를 사용한다. 앞선 글에서 보았듯이 이로 인해 비트코인은 UTXO를 사용하지만 이더리움은 그렇지 않다. 스크립트 언어를 보면 비트코인은 Non Turing한 언어를 사용하지만 이더리움은 튜링완전한 언어인..
코드를 짜다가 여러 파일 디스크립터가 한 파일에 write을 할 때 디스크립터가 close를 하지 않으면 다른 파일 디스크립터로 쓰지 못하는지 햇갈렸다. 찾아보니 학교 전공 시간에 배웠던 것인데 까먹었었다.. 이번 기회에 글로 남겨 확실히 이해하고 넘어가려고 한다. 실험 package main import ( "fmt" "os" "sync" "time" ) func createFileDescriptor(filename string) (*os.File, func()){ fp, err := os.OpenFile(filename, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644) if err != nil { fmt.Println("err to open file") } close :=..
이번 강의는 블록체인에서 트랜잭션과 UTXO에 대해서 설명했고, 뒷부분의 절반 정도는 지금까지 배운 것을 wrap up하였다. 다음 강의부터 smart contract를 한다고 하는데, 기대가 된다 다른 MIT 오픈 코스인 Cryptocurrency Engineering and Design 수업도 참고했다 https://www.youtube.com/watch?v=VT2o4KCEbes MIT MAS.S62 Cryptocurrency Engineering and Design, Spring 2018 비트코인의 transaction에 대한 설명이 나온다. Account based model(이더리움이 쓰는 방식)과 Unspend Transaction Outputs(비트코인이 쓰는 방식)을 설명해준다. Accou..
저의 부족한 영어 실력 & 블록체인 지식으로 읽고 요약한 것입니다. 잘못된 정보가 있을 수 있습니다 Abstract 순수한 P2P 시스템은 금융기관을 거치지 않고 이루어 져야 한다. 이를 위해서 디지털 서명이 도입되었었으나 double-spending을 막기 위해서는 여전히 third party의 개입이 필요했다. 이 논문은 거래의 타임스탬프를 해시 체인으로 엮은 네트워크를 만들고, 엄청난 CPU Power가 필요한 proof를 base로 하는 시스템을 제안한다. Transaction 디지털 서명을 체인으로 하는 전자 코인을 하나 정의해보자. 각 주인은 코인을 옮길 때 이전 트랜잭션과 다음 주인의 퍼블릭 키의 해시를 사인하고(자신의 프라이빗 키로) 이를 코인의 끝에 추가한다. 받는 사람은 이전 주인의 퍼..
해당 리포트의 1장이 블록체인 기술의 기초를 다루고 있어 정리해 보았다. 블록체인은 사람이 아닌 컴퓨터가 읽을 수 있게 디자인된 ledger이다. 컨센서스에 대한 간단한 히스토리 분산 시스템에서는 비잔틴 장군 문제라고 불리는 문제점을 해결해야 한다. 비잔틴 장군 문제 비잔틴 군대가 성을 에워싸고 공격을 할지 말지 결정하는 문제이다. 장군들이 서로 메신저를 통해 전략에 대한 합의를 이끌어 내는데, 일부 장군이 배신자거나 혹은 메신저가 딜레이되거나 없어졌을 때 어떻게 합의를 이끌어 낼지에 대한 문제이다. 분산 시스템에서 장군들은 컴퓨터이고, 배신자 장군은 잘못된 컴퓨터들, 그리고 메신저들은 신뢰할 수 없는 네트워크를 통해 전달되는 데이터들이다. 블록체인은 ledger의 트랜잭션의 히스토리에 대한 agree를..