장군이네집
180102 블록체인 알아보기 본문
블록체인 개념
Block
다수의 거래정보의 음
헤더 + 거래정보 + 기타정보
- 헤더
- version
- perviousblockhash : 바로 이전 블록 해시
- merklehash : 해시 2진트리의 루트 해시값
- 거래 --> 해시값 --> 해시값의 해시값을 부모로 --> ... 루트 해시값
- time : 블록 생성시간
- bits : 난이도
- nonce : 채굴 조건을 만족할때까지 계산 횟수
- 거래정보
- 기타정보
BlockChain
블록의 링크드 리스트
모든 거래정보를 포함하는 거대 분산 장부
BlockHash
헤더의 6가지 정보를 입력값으로 SHA-2를 두번 적용하여 계산한 값
채굴(Mining) : 작업증명(Proof of work)
hashCash : 헤더의 nonce값이 bits(난이도)로서 조절되는 일정 조건을 만족할때까지 nonce값을 변경하며 해시값을 계산하는 행위
- 해시의 역산은 불가능. 1bit씩 변형해서 때려 박아야됨
성공시 블록의 첫 거래로 본인에게 신규발행 비트코인 + 수수료가 입금되는 거래를 추가.
- 신규발행 비트코인은 50BTC을 시작으로 21만개 블록 추가할때마다 절반.
본인인증
비트코인에서 발행하는 수표는 이전수표에대한 참조를 포함
- 서명을 통해 본인 확인
지갑
- 공개키
- 개인키
개인키 -ECC-> 공개키 -SHA256-> -BASE8Check-> 계좌번호
거래
- 거래시 거래내역이 이웃노드에게 계속 전달됨
- 채굴노드에게 이 내용이 전달되고 채굴에 성공하면 블록체인에 추가됨
- 거래 인정
블록체인의 특징
조작 불가능
거래정보가 바뀌면
BlockHash 변경 --> 다음 블록의 previousblockhash 변경 --> ... 이후 모든 블록에 대한 연쇄적 채굴 필요
재 채굴을 하는 동안 새로운 블록이 지속적으로 생성되어 조작된 블록은(더 체인이 짧을 것이기 때문에) 곧 무시됨
흥미로운 특징 : 악의적 노드의 모순
51%공격 : 악의적으로 블록을 조작하고, 과반의 블록을 먹고 조작에 성공한경우,
블록을 조작하고 완성하는 과정에서의 보상이 이미 많다
+ 스스로 블록체인의 신뢰성을 파괴
= 조작할 바에 그냥 채굴한걸 먹으면 된다!
블록추가의 인정 - 충돌문제
- 블록 추가후 주변노드로 그것을 전달하게됨
- 우연히 동시에 생성된 두 블록
- 난이도기준
- 블록체인 원본 유지 원칙
- 가장 긴 블록체인을 원본으로 가정
- 버려지는 블록을 고아블록이라고하는데 1년 2-3개 이하 발생
- 유실 위험성? 버려진 블록의 거래는 채택된 블록에 포함되어있지 않아서 곧 추가된다
http://d2.naver.com/helloworld/8237898비트코인 개념
https://homoefficio.github.io/2016/01/23/BlockChain-%EA%B8%B0%EC%B4%88-%EA%B0%9C%EB%85%90/
의문점
블록체인의 다른 활용 방안, 발전 가능성
블록체인+비트코인의 내재적 가치? 왜이렇게 떡상하냐아
채굴자없으면?
전체거래내역 보유 100기가??
SHA, 개인키공개키
'개발 > 잡동사니' 카테고리의 다른 글
개인정보 처리방침 (0) | 2020.05.09 |
---|---|
180112 개발자 진로탐색 - 기업 분류 (0) | 2018.01.13 |
180104 스마트계약 (0) | 2018.01.04 |