[블록체인] BlockChain

sing sang song·2021년 12월 23일
0

BlockChain

목록 보기
1/1
post-thumbnail

엄청난 블록체인의 열풍,
이번에 NFT시장도 활성화되면서 이곳저곳에서 난리이다.
그렇다면 블록체인이란 도대체 어떤 것일까?

블록체인이 바로 빗코, 이더, 에이다.. 등등을 돌아가게하는 기반이다.
이걸 이해해야 더 어려운 컨셉들을 배울 수 있다.

blockchain = chain + block
블록체인 = 블록들이 모여 있는 체인

블록을 데이터베이스로 바꿔본다면
단방향 적인 데이터베이스이다.

Append(더하기)만 가능하기 때문이다.
블록체인 데이터베이스는 추가만 가능하다 삭제는 되지 않는다.!

편집도 되지 않고 오로지 추가만 가능하다!

그저 추가만 가능한, 편집은 불가능한 DB이다

예를 들면, 대학교 학위의 블록체인이라고 생각해보자.
너희 대학교 학위는 블록체인에 추가되고, 절대 편집/삭제되지 않는다.!

정부는 운전면허증이라든가 지원금 사용내역 등을 기록할 수 있다.
혹은 전세계약서 같은 것들을 보관하면, 그 누구도 삭제할 수 없고, 그대로 잘 보관할 수 있다,,!

또한 블록체인은 '탈중앙화'가 가능하다.

'탈중앙화'라는 건 특정 개인이 DB를 관리할 수 없다는 뜻이다..!

모두가 DB의 복제본을 가지고 있다. 그래서 내가 거짓말로 2000비트코인이 있어!라고 이야기해도 모두가 같은, 분산되어져 있는 DB를 공유하고 있기 때문에 거짓말이라는 것이 들통나 버린다.

바로 이 이유 때문에 크립토를 감시하거나 통제하기가 힘들다.

굉장히 많은 사람들이 비트코인 노드를 돌리고 있고 모두가 정확하게 동일한 DB복제본을 갖고 있고,
우리 모두가 동시에 컴퓨터를 함께 끄지 않는 이상은 비트코인은 죽을 수 없다.

이 덕분에 크립토커런시들이 정부의 감시나 통제에 대응할 수 있는 것이다.

그렇다면 블록(block)이란?

'블록'이 정보를 DB에 추가하는 방법?

데이터를 그냥 추가하는 것이 아니라 '블록'이라는 것을 통해서 추가된다.

비트코인의 경우에는 10분마다 '블록'이 생겨난다.

'블록'에는 중요한 정보들 3가지가 있다

  • 블록의 해시
    해시(hash) => 수학 함수
    한개의 인풋을 받으면 아웃풋을 준다.'일방향 함수'이며 '결정론적'이다.
    이 방법이 모든 블록에 얽히고 섥히면서 블록체인을 완성한다.

  • 이전블록의 해시

  • 데이터
    데이터 파트에 학위정보, 계약서정보 등등을 넣는것이다.
    비트코인의 경우 그 데이터는 '트렌젝션(거래내역)'이다.
    누가 얼마 갖고있고, 누가 누구에게 얼마나 보냈고.. 등등

트렌젝션, 이전 블록의 해시를 가지고 해시를 하면 블록체인에 블록을 추가 할 수 있다.

모두가 previous hash가 필수적으로 필요하기 때문에 전체가 연결되어 있다.

what is crypto?

어떤 데이터가 블록체인에 추가될수 있을까?
우리가 원하는 데이터는 true, 진실된 데이터이다.

이것을 위해서 '작업증명 proof of work'가 필요하다!


이것은 블록체인을 보호하는 방법이다.

작업증명을 이해하려면 채굴자(miner)를 이해해야한다.

채굴자가 하는 작업은 블로체인에 들어오는 데이터를 확인하는 일이다.
왜냐하면 채굴자가 데이터를 블록 안에 넣어서 블록체인에 보내는 역할을 하기 때문이다.

check => input => send
채굴자들이 트랜잭션 컨펌을 하며느 돈을 받게 된다...! 일종의 수수료를 받는 것이다.

하지만 채굴자가 되어서 돈을 버는게 쉬운것이 아니다.
그것은 블록체인에 블록을 올리는게 굉장히 어렵기 때문이다.

비트코인은 사람들이 블록을 블록체인에 올리는 순간! 생성되는 것이다.

이것이 coin베이스(*velogd에서 본문에 영어로 코인베이스가 있을시에 비공개 전환되는 오류 있음, 스팸때문인듯) transaction이다.

이 단계가 비트코인이 생선되는 순간이다.

비트코인은 2100만개로 생산량이 한정되어있다.

Nonce와 난이도

3개의 0으로 시작하는 hash를 증명하려면 어떤 nonce를 가져야하나?
그래서 채굴자는 nonce값을 주구장창 찾으면서 해당 조건에 맞는 값을 찾아야한다. 찾는 순간! 코인이 된다.

참조 : 노마드코더

profile
세상을 선명하게

0개의 댓글