Chapter 1
1.1 비트코인
돈이란? : 물건의 가치를 표현하는 단위이자 필요한 물건과 교환하기 위한 수단. 시공간의 제약없이 가치가 저장되고 전잘될 수 있어 부를 저장하는 수단. : 그 가치는 사회적 합의와 신뢰를 통해 인정되고 유지됨.
스톤머니 to 암호화폐
돈 X > 물물교환
물건의 가치를 대신해 교환할 수 있고 부를 축척할 수 있는 돈
1세대 : 조개껍데기(파손쉬움), 금,은,동(파손 가능성 낮음)
스톤머니 (rai stone) : 4톤 넘는 돌도 있음. 이동이 어려워 소유자를 돈에 기록. 크기가 크면 클수록 값어치도 높음
2세대 : 통화화폐 (지폐나 동전)
- 각 나라의 중앙은행이 발행함.
- 우리나라 : 한국은행
- 미국 : FRB (Federal Reserve Board) - 은행 아니고 전통 깊은 금융 가문들의 개인회사.
도토리(싸이월드), 게임머니, 사이버머니, 교통카드, 하이패스 : 기존 화폐기능을 보다 편리하게 활용하도록 해주는 일반 전자화폐 : 제 3의 기관이 보증 및 관리 해야함.
새로운 암호화폐 비트코인
2009년
암호화폐 : 안전한 거래와 통화 발행을 조정하기 위해 암호학을 사용하여 교환의 수단으로 만들어진 디지털 자산이다.
비트코인, 이더리움, 라이트 코인, 리플, 네임코인,...etc.
제 3의 화폐?
암호화폐는 가상화폐랑 다르다? 전자화폐의 일부다
디기캐시(데이비트 차움, 1983, RSA암호화) > b-money (웨이 다이, 1998) > bit gold (닉 사보)
비트코인의 시작 : 사토시 나카모토의 논문
2009년 1월 3일 최초 발행.
2,100만개의 지정된 발행량. 공급량, 시기 공개되어 있음. 사기성 거래 불가능.
탈 중앙화.
알트코인
알트코인 : 비트코인 프로토콜을 수정하여 개발된 코인. 비트코인을 제외한 암호화폐를 지칭하는 용어
ex ) 리플, 라이트코인, 대시, 이더리움 클래식, 등등
리플
- XRP코인.
- 각 기관의 정산 과정을 줄이기 위해 개발된 정산 시스템.
라이트코인
- 비트코인의 블록 생성 시간을 단축시키기 위해 개발됨.
- 비트코인 블록 생성시간 1시간 > 이걸 줄이기 위해 코어 프로토콜 변경
이더리움 클래식
- 2016년 이더리움 해킹 발생
- 독일의 slock.it가 관리자의 통제 없이 스마트 컨트랙트를 통해 자동 투자할 수 있는 이더리움 기반의 크라우드 펀딩 시스템인 dao를 만들었다.
- 이때 spilit이라는 컨트랙트를 개발했다.
- 스피릿 컨트랙트 : 투자금을 반환 요청하면 dao토큰을 이더로 반환해줌.
- 문제점 : 즉시 반환요청이 처리되는 것이 아니라 시간이 지난 후에 반환요청이 처리됨.
- reentrant attack (재진입 공격)을 통해 해킹함.
- 이때 코드변경을 한 것이 이더리움. 안 한 것이 이더리움 클래식
비트코인 캐시
- 블록 크기를 늘리면 트랜잭션 확인 속도가 높아진다. = 트랜잭션 비용문제를 해결할 수 있다.
- 블록 크기를 기존 1MB에서 2MB로 증가한 것이 비트코인 캐시
모네로 & Zcash
- 익명성 강화 암호화폐
- 모네로 : 트랜잭션을 숨김 > 거래의 익명성 강화
- Zcash : zero-knowledge 증명방식으로 신원확인 없이 화폐 교환 가능 > 트랜잭션의 세부사항만 숨김
1.2 블록체인 기술의 탄생
블록체인 구현 문제점
- 악의적인 참가자에 의한 위변조나 거래 부인 문제
- 네트워크 지연으로 인해 전송된 정보상의 불일치 > 이중지급
- 개인 간 거래시 안정적인 p2p네트워크 유지 > 중앙관리자 없이도 자율적이고 성장할 수 있는 네트워크
비잔티움 장군 (1982) 레슬리 램포트, 쇼스탁, 피스 :
신뢰가 없는 5장군이 전부 협업해야 이길 수 있는 전쟁에서 어떻게 해야 올바른 정보를 공유해 전쟁에서 승리할 수 있을까?
- 어떻게 소통할지
- 신뢰할 만한 사람이 얼마나 있는지
이분제를 해결하지 위해 일련의 트랜잭션 정보를 모아 블록을 만들고 이것을 시간순으로 연결한 공유 원장(shared ledger)기술인 블록체인을 고안하여 거래 시 위변조가 불가능하도록 만듬
블록체인에 신규 블록들을 연결할 때 : 참가자들이 어려운 계산과제를 가장 빨리 해결하고 이 결과를 참가자들의 과반수가 승인함으로써 완료된다.
이런 과정들을 통한 POW(거래 승인 작업)를 비트코인 마이닝 이라고 하고 계산 작업을 가장 빨리한 사람(블록을 생성한 사람)은 송금 수수료와 비트코인을 받는 인센티브 기반 운영 시스템이다.
- 전자 서명기술 > 이전 소유자와 본인을 증명하여 거래 부인이 불가능하다.
중앙집중 원장과 분산 공유 원장
기존 비즈니스 및 거래 시스템
- 모든 정보를 한 곳에서 관리하는 중앙집중 원장 사용.
- 외부공격으로 인한 보호, 무정지로 운영되는 시스템 구축, 데이터의 이중화 등
블록체인
- 데이터 전부를 네트워크에 참여한 모든 주체가 동일하게 가지고 있는 분산 공유 원장 사용.
- 시간 순서에 따라 순차적 기록. > 위변조를 위해서는 해당 시점 이후의 모든 데이터를 모든 분산 원장에서 변조해야한다. 거의 불가능에 가까움
- 개인 키로 전자 서명이 되어있기 때문에 개인 키를 확보하지 못하면 위변조 x
1.3 블록체인 p2p 컴퓨팅
컴퓨틴 플랫폼의 발전과정
컴퓨팅 플랫폼 : 프로그램 작동되게 하는 프레임워크.
웹 : 컴퓨팅 플랫폼
1950 ~ 1970 주요 플랫폼 : 대형 메인 프레임
- 중앙의 대형 서버에 터미널로 연결 후 모든 데이터와 뷰처리를 중앙서버에서 하고 그 결과를 더미 터미널에서 봄
1990 플랫폼 : 클라이언트ㅡ/서버 컴퓨팅
- 클라이언트와 서버 컴퓨터가 역할을 나눠서 처리함
- 데이터 처림, 비즈니스 로직 : 서버
- 결과 저장 및 화면 출력 : 클라이언트
2000 플랫폼 : 웹
- http 프로토콜 사용한 전달
- html 렌더링 전달
- 비즈니스 로직 + 데이터 = DBMS에서 처리
SPA (Single Page Application)
- JS / HTML / CSS
- AJAX
- XMLHttpRequest
- Web2.0
2010 : 클라우드 컴퓨팅
현재 : 블록체인 컴퓨팅
- 분산 웹서비스
- Web3.0이라고 불리기도 함
1.3.2 블록체인 p2p 컴퓨팅
p2p 컴퓨팅
- 모든 컴퓨터가 동일한 역할과 기능을 수행하는 컴퓨팅 처리 방식
- 컴퓨터 (노드, 피어)가 클리이언트인 동시에 서버이기도 하다.
- p2p컴퓨팅 기반 서비스 : 냅스터, 그누텔라, 프리넷 등등....
네트워크 연결 방식
- 중앙집중형
- 링형
- 계층형
- 완전 분산형
- 하이브리드형 (중앙집중형 + 링형)
- 하이브리드형 (중앙집중형 + 완전 분산형)
이더리움 = 중앙집중형
장점
- 네트워크에 누구나 참여 가능 (확장성)
- 노드들이 모두 연결되어 있기 때문에 일부 노드에 문제가 생겨도 안전
- 관리감독 기능이 없어서 책임질 것도 없음
단점
- 동등한 권한의 노드들로 구성되기 때문에 관리가 어려움
- 모든 노드가 안정한지 검증하기 어려움 (신뢰성 문제)
- 노드마다 컴퓨팅파워, 네트워크 속도가 달라 전체 성능에 영향을 미친다.
1.4 블록체인 기반 플랫폼 분류
공개형 블록체인
권한 공개형 블록체인 - 누구나 네트워크를 구성하는 노드가 될 수 있다.
- 비트코인 코어
- 이더리움 : 비탈릭 부테링 (2013) 4단계 로드맵 제시. 현재는 3단계 진행중
- 1단계 프론티어 : 이더리움 개발 및 채굴, 네트워크 형성
- 2단계 홈스테드 : 노드 생성, 생태계 구축 초기 단계
- 3단계 메트로폴리스 : 대중화를 위한 인프라 형성단계 pow에서 pos로 전환 예정
- 4단계 세레니티 : 모든 변화 후에 평정을 찾는 마지막 단계
- 기타
- 비트코인 코어 + 이더리움 가상버신 = 퀀텀
- 매트릭스 형태의 블록체인 = EOS.IO
프라이빗 블록체인
특정 조직에서 권한을 가진 노드들만 합의를 하도록 설정하거나 데이터를 모두에게 공개하지 않고 트랜잭션과 관련된 노드들에게만 공유하는 경우가에 많이 사용한다.
프라이빗 블록체인에서 지원해야 할 기능
- 프라이빗 채널 : 해당 거래와 직접 관계가 있는 참여자들에게만 정보를 공유한다.
- 권한이 다른 노드들
- 빠른 처리 속도와 높은 처리량
- 슷마트 컨트랙트
- 시스템 커스터마이징
- 하이퍼레저 패브릭
- 멤버십 서비스 : 허가나 인증 받은 노드만이 네트워크에 참여가능.
- 블록체인 서비스 : PBFT - 전체 노드가 아니라 권한이 있는 참여 노드들이 투표를 하여 합의하는 알고리즘
- 체인 코드 서비스 : go언어, 자바 진행
- 패브릭 노드 구성 : 노드들에게 승인 권한이 있어야한다
- 코다 : 금융기관끼리 블록체인을 금융 서비스에 적용하기 위해 결성한 공동 프로젝트
- EEA : 공개형 이더리움 플랫폼을 기업 및 조직에 적용하는데 도움을 줌
클라우드 블록체인
- 마이크로소프트 : 코코 프레임워크
- IBM : IBM 블록체인
- 오라클
- 기타 : 블록앱스, 블록사이퍼, 완클라우드
'Study' 카테고리의 다른 글
맥 업데이트 후 source, git, gcc 명령어 안됨 에러 해결 방법 (0) | 2022.11.16 |
---|---|
vscode에서 solidity 버전 변경하기 (0) | 2022.04.22 |
[typescript] import type error ts1005 '=' expected (0) | 2022.01.12 |
Github 보안 알림 해결방법 (0) | 2022.01.05 |
12.29 오류 (0) | 2022.01.04 |