10th June 2021 TIL

알파·2021년 6월 10일
0

TIL

목록 보기
14/18

To Remember

몰입 극기복례 화이부동

블록체인

배경

기존 중앙집중형 시스템의 문제

개념

누구나 열람할 수 있는 디지털 장부에 거래내역을 투명하게 기록하고 여러 장소에 분산 저장한다. -> 블록체인에서는 해킹이 불가능하며 정보가 온전하게 저장될 수 있다.

블록체인 = 블록들이 모여있는 체인
일종의 데이터베이스

특징

  • Append 추가만 가능한 데이터베이스(편집이 불가)
  • Decentralization 탈중앙화된(분산된) DB로 모두가 DB의 복제본을 가지고 있음.
    크립토커런시들이 정부의 감시나 통제에 대응할 수 있는 이유가 된다

구성요소

블록이 DB에 정보를 추가하는 방식이며, 비트코인의 경우 10분마다 생성되고 있다.
블록에 포함된 정보는 '블록의 해시', '이전 블록의 해시' 그리고 '데이터'이다.

Data

블록이 갖고 있는 정보로서 비트코인의 경우 '트랜잭션(거래내역)'이 된다.

Hash

수학 함수의 일종으로 한 개의 인풋을 받으면 아웃풋을 준다.
'일방향 함수'이며 '결정론적'이라는 것이 특징

'결정론적'이라함은 예컨대 인풋'사랑해'의 아웃풋이 항상 같다는 것이다.
'일방향 함수'라함은 아웃풋을 통해 인풋을 얻을 수 없음을 의미한다.

생성

블록체인을 추가하고 싶다면 데이터와 이전블록의 해시를 합쳐서 다시 해시해야 한다.
어떤 블록의 데이터를 바꾸면 모든 블록의 해시들도 몽땅 바뀌게 된다.

작업증명

블록체인의 데이터의 진위를 증명하기 위해 '작업증명'이 필요하다.
채굴자는 데이터를 블록 안에 넣어서 블록체인에 보내기 때문에 블록체인에 들어오는 데이터를 확인할 수 있다. (채굴자는 트랜잭션을 컨펌하고 블록을 체인에 올리는 각각의 경우에 수수료를 지급 받는다)

채굴자는 데이터를 바꿀 수 없고 증명만 가능하다. (Nonce만을 변경할 수 있다)

  • 작업증명의 매직
    질문은 아주 복잡한 답변을 가지고 있지만 그 답은 검증하기가 아주 쉽다

비트코인의 경우 10분에 한 번씩 블록을 생성하기 때문에 난이도를 변경함으로써 채굴량을 조절한다.

profile
I am what I repeatedly do

0개의 댓글