블록체인(영어: block chain[1][2], blockchain[3][4][5])은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구도 임의로 수정될 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술이다.[6] 이는 근본적으로 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다. 잘 알려진 블록체인의 응용 사례는 암호화폐의 거래과정을 기록하는 탈중앙화된 전자장부로서 비트코인이 있다. 이 거래 기록은 의무적으로 암호화되고 블록체인 소프트웨어를 실행하는 컴퓨터상에서 운영된다.[7] 비트코인을 비롯한 대부분의 암호화폐들이 블록체인 기술 형태에 기반하고 있다.(말이 대부분이지 거의다 기반.)[8]
기본 원리[편집]
블록체인 아키텍처의 핵심적인 장점은 다음과 같은 것들이다:
- 블록체인은 대규모의 노드들 사이에서 각 노드에 분산 저장된 장부의 데이터를 항상 최신 버전으로 유지할 수 있도록 하는 합의 수렴 알고리즘으로 볼 수 있다. 이러한 능력은 노드가 익명으로 실행되거나, 연결이 좋지 않거나, 심지어 신뢰할 수 없는 운영자가 참여하는 것도 가능하게 한다.
탈중앙[편집]
모든 탈중앙 암호화폐의 노드는 부분 또는 전체의 블록체인을 가지고 있다. 이것이 페이팔과 같은 시스템에서 필요로 하는, 중앙 집중형 데이터베이스를 가지고 있을 필요가 없게 한다. [1]
일반적인 장부에는 수표나 영수증 또는 약속어음의 교환내역이 기록되는 반면에, 블록체인은 그것 자체가 거래장부인 동시에 거래증서(수표, 영수증, 약속어음)이다. 비트코인에서는 거래들의 지불되지 않은 결과의 형태로 존재한다고 표현한다.[9]:ch. 5
"지불인 갑이 00원을 수취인 을에게 보내다" 형식의 거래는 소프트웨어 앱(비트코인 지갑앱 등)을 통해 블록체인 네트워크에 뿌려진다. 블록체인 네트워크의 노드들은 거래를 검증한 다음, 자신의 장부에 거래를 추가한다. 그리고 이 거래가 추가된 장부를 네트워크의 다른 노드들에 뿌린다.[9]:ch. 8
이중 지불 방지[편집]
암호화폐들은 신뢰할수 없는 제3자에 의한 시간표시거래를 블록체인에 추가하는 것을 피하기 위해, 작업증명(proof-of-work) 또는 소유증명(proof-of-stake) 같은 다양한 시간표시 방법들을 사용한다. 이것은 누구나 쉽게 이중지불되는 돈의 문제를 회피할 수 있게 한다.[10]
개발과정[편집]
블록체인의 첫 구현체 개발은 비트코인으로 시작되었고, 추가적으로 성능개선, 익명성 추가, 저장기능과 스마트 컨트랙( smart contract) 기능들이 개발되었다.[11]
블록체인 구현사례[편집]