블록체인 개론 #1

반영환·2023년 5월 8일
0

BlockChain

목록 보기
1/5
post-thumbnail

블록체인 개론

정의

간단히 말하면 고유한 해시값을 기준으로 링크된 링크드 리스트의 집합.

링크드 리스트 각 원소는 노드라 불리고 그 노드는 previous block hash , current block hash, data, nonce 의 요소로 구성된다.

해시값은 아주 작은 부분의 변경도 전체 큰 부분의 변화를 가져오기 때문에 수정 불가능하며 일방향성이란 특성을 가지고있다.

각 노드들은 해시값을 기준으로 링크되어 있기 때문에 하나의 노드에서 위변조가 발생하면, 링크된 노드들의 해시값들을 모두 변경해주어야 한다. 하지만 이는 아주 많은 컴퓨팅 파워가 필요하기 때문에 현실적으로 불가능하다.

이러한 내용을 바탕으로 짧게 다시 정리하면 블록체인은 신뢰할 수 있는 분산형 데이터 베이스 시스템이다.

수정이 불가능하다는 특성때문에 Append Only라는 특성을 가진다.


서비스 수준의 신뢰성이 아니라 시스템 수준의 신뢰성이라 인터넷 상 자기 증명등에 사용될 수 있고 기술의 첫 목표는 센터 컨트롤러가 없는 화폐 환경 구축이다.

탈중앙화라고 하는데 현실 세계의 화폐처럼 중앙은행이 관리하고, 또 힘이 있는 화폐의 가치가 전체 시스템에 영향을 주는 것이 아니라, 화폐는 시스템 상에서 유일하게 존재하고 채굴이란 과정을 통해 화폐의 가치를 유지한다.

그것이 가능한 이유는 P2P 시스템의 특성을 블록 체인이 가지고 있기 때문이다.

각 노드들은 DB의 복제본을 모두 가지고있다.

거짓말 노드가 실제로 100원을 가지고 있는데 10000원이 있다고 거짓말했다 가정해보자.
다른 노드들은 거짓말 노드의 장부를 가지고 있기 때문에 이 말이 거짓말임을 즉시 확인할 수 있다.


체인에 데이터를 추가하는 방식은 비트코인으로 예를 들면 비트코인의 거래 내역 ( Transaction ) 을 모아야 한다. 그리고 이전 블록의 해시를 구한다. 그리고 나의 데이터와 이전 해시를 합쳐서 내 블록의 해시를 작성한다. 이렇게 하면 내가 블록체인에 올리고 싶은 어떤 데이터이든 올릴 수 있다.

profile
최고의 오늘을 꿈꾸는 개발자

0개의 댓글