특별한 유형의 데이터베이스, 분산 원장 기술(Distributed Ledge Technology)이라고도 함. 블록체인에는 데이터를 추가할 수 있는 방법에 대한 규칙이 있고, 데이터가 일단 저장되면 수정이나 삭제가 사실상 불가능하다.
데이터는 블록
이라는 구조에 추가된다.
각 블록은 마지막 블록 위에 구축되며 이전 블록으로 다시 연결되는 정보를 포함한다.
(가장 최신 블록을 보면 마지막 블록 이후에 생성되었음을 확인 가능)
체인을 끝까지 따라가면 맨 첫 번째 블록 제네시스 블록
에 도달한다.
마지막 블록은 이전에 오는 모든 정보의 산물이 된다.
해싱은 블록을 하나로 묶는 접착제 개념.
모든 크기의 데이터를 가져와 함수를 통해 항상 동일한 길이의 출력(해시)를 생성한다.
해시값이 같을 확률은 천문학적으로 낮다 , 입력 데이터를 약간만 수정해도 완전히 다른값을 도출한다.
비트코인에서 사용되는 해싱함수 SHA256
각 블록에 이전 블록의 지문이 남아있는 개념.
Stuart Haber와 W. Scott Stornetta는 날짜를 소급하거나 변조할 수 없도록 타임스탬프 디지털 문서를 위한 실용적인 솔루션을 도입하면서 블록체인 아이디어 설명
Hal Finney(Harold Thomas Finney II)는 재사용 가능한 작업 증명인 RPoW
라는 시스템을 도입 (초기 프로토타입)
교환 불가능하거나 대체 불가능한 hashcash 기반 작업 증명 토큰을 받는 방식으로 작동 - 대가로 사람 간 전송 가능한 RSA 서명 토큰 생성
RSA : 공개키 암호 시스템 중 하나, 암호화 / 전자서명이 가능한 최초의 알고리즘
RPoW는 전세계 사용자가 실시간으로 정확성과 무결성 확인할 수 있도록 설계된 서버
에 등록된 토큰 소유권을 유지하면서 이중 지출 문제 해결
Satoshi Nakamoto가 Bitcoin이라는 분산형 P2P 전자 현금 시스템 소개
RPoW와 같은 하드웨어 신뢰할 수 있는 컴퓨팅 기능을 사용하는 대신,
개별 채굴자가 작업 증명 메커니즘을 사용해서 보상을 위해 비트코인을 채굴
한 다음 네트워크의 분산된 노드에서 증명함.
최초의 비트코인 블록을 채굴하면서 50 비트코인 보상을 받은 Satoshi Nakamoto로부터 비트코인
탄생
비트코인을 처음 받은 사람은 Hal Finney - Satoshi Nakamoto로부터 10비트코인 받음
Vitalik Buterin이 Bitcoin이 분산형 애플리케이션을 구축하기 위한 스크립팅 언어가 필요하다고 함.이는 커뮤니티의 동의를 받지 못했고, 스마트 컨트랙트
라는 스크립팅 기능을 갖춘 새로운 블록체인 기반 분산 컴퓨팅 플랫폼인 Ethereum
개발을 시작함
스마트 계약
: 이더리움 블록체인에서 배포 및 실행되는 프로그램 or 스크립트, 특정 조건이 충족되면 거래를 수행하는데 사용할 수 있다. 이더리움 가상 머신(EVM)이라는 분산형 튜링 완전 가상 머신이 읽고 실행할 수 있음
DApp
: 이더리움 블록체인 내에서 실행되는 애플리케이션. 소셜 미디어 플랫폼, 도박 응용 프로그램 및 금융 거래소를 포함하여 Ethereum 블록체인에서 실행되는 수백 개의 DApp 존재
이더리움의 암호화폐는 이더(Ether), 계정 간 전송이 가능하고, 스마트 계약을 실행할 때 사용되는 계산에 대한 수수료GAS
를 지불하는데 사용
게임 이론은 합리적인 의사 결정을 기반으로 인간 행동을 연구하는 데 사용되는 응용 수학 방법. 게임
은 상호 작용 환경으로 설계되어 있어서 플레이어는 게임 규칙이나 다른 플레이어의 영향에 대응할 때 합리적으로 행동하는 경향이 있다.
죄수의 딜레마 : 게임이론 모델의 대표 예시, 죄수 A(또는 B)에게 가장 좋은 시나리오는 배신하고 석방되는 것이지만, 그렇게 하려면 상대방이 조용히 있어야 하며 상대방이 어떤 결정을 내릴지 예측할 방법이 없다.
게임이론은 합리적인 의사 결정 프로세스를 기반으로 인간의 행동과 가능한 결과를 조사하는 아이디어
암호화폐의 맥락에서 게임이론은 '블록체인 프로토콜의 경제학
과 이러한 프로토콜의 설계가 참가자 행동의 결과로 나타날 수 있는 잠재적 결과
에 대한 연구'인 암호경제학
의 개념을 탄생시켰다.
암호경제학은 가장 합리적이고 가능성 있는 결정을 고려하여 프로토콜이 제공하는 인센티브를 기반으로 네트워크 노드의 행동을 조사한다. 비트코인 블록체인은 서로 다른 위치에 많은 노드가 분산된 분산 시스템으로 설계되었기 때문에 트랜잭션 및 블록 의 유효성 검사와 관련하여 이러한 노드의 동의에 의존해야 하지만 노드간 신뢰성
을 보장할 수 없다.
그렇다면 어떻게 방지할까? 작업 증명 합의 알고리즘
가장 일반적으로 사용되는 합의 알고리즘. 채굴에는 작업증명 알고리즘이 사용되고, 프로토콜에서 설정한 퍼즐(사용자가 블록에 포함된 트랜잭션 및 기타 정보를 해시해야 하는 것)을 풀기 위해 컴퓨팅 성능을 희생해야한다.
특정 숫자 아래로 떨어지는 유효한 해시를 찾기 위해 데이터를 약간씩 수정하면서 솔루션을 찾을 때까지 계속 해싱해야함. 컴퓨팅 비용이 많이 들고, 지분
은 채굴 컴퓨터에 투자된 돈과 컴퓨터에 공급되는 전력. 채굴자는 블록 보상을 얻기 위해 열심히 채굴한다.
채굴
: 암호화폐 트랜잭션이 블록체인이라는 디지털 분산 원장에 수집되고 증명되고 기록되는 프로세스. 채굴자의 임무는 메모리 풀에서 확인되지 않은 트랜잭션을 수집해서 검증을 시도할 후보 블록으로 구성하는 것이다.
블록 보상
: 채굴자가 새로운 블록을 성공적으로 검증했을 때 보상되는 암호화폐. 블록 보조금 + 거래 수수료. 비트코인의 블록 보조금은 2012년 25 BTC, 2016년 12.5 BTC, 2020년 6.25 BTC로 줄어들었다.
채굴자가 네트워크의 나머지 부분에 새 블록을 보내면 다른 모든 노드는 이를 해시 함수의 입력으로 사용한다. 블록체인 규칙에 따라 블록이 유효한지 확인하기 위해 한 번만 실행하면 되고, 유효하지 않을 경우 채굴자는 보상을 받지 못하고 헛되이 전기를 낭비하게 된다.
POW의 장점
POW의 단점
51% 공격
을 받을 수 있음. 한 명의 채굴자가 대부분의 해시 파워를 가질 가능성이 있기 때문. 이론적으로 트랜젝션을 취소하고 블록체인 보안을 약화시킬 수 있음. 비트코인 용어 설명
넓은 의미에서 많은 사람들은 종종 비트코인이라는 단어를 디지털 통화, 분산된 공공 원장, 프로토콜 또는 단순히 이 모든 것을 포함하는 큰 생태계와 같은 몇 가지 다른 것을 지칭하기 위해 사용한다.1. 비트코인은 P2P(Peer-to-Peer) 디지털 통화의 이름, 간단히 BTC라고도 함 비트코인은 암호 화폐 즉, 암호화 기술로 보호되는 디지털 통화이다. 최초의 암호화폐이기도 하고, 제네시스 블록 (또는 블록 0)으로 알려진 최초의 비트코인 블록은 2009년 1월 3일에 채굴되었다. 2. 비트코인 분산 공개 장부를 블록체인이라고 부름 블록체인은 비트코인 트랜잭션이 신뢰할 수 없고 안전한 방식으로 방송되고 기록될 수 있도록 하는 전체 구조를 유지하는데 사용된다. 따라서 비트코인 블록체인은 확인된 모든 BTC 트랜잭션을 공개적으로 나열하는 분산형 디지털 원장으로 작동한다. 3. 비트코인이라는 용어는 오픈 소스 소프트웨어로 지속적으로 개발되고 있는 프로토콜을 가리키는 데에도 사용 더이상 오해를 피하기 위해 '비트코인 코어'로 리브랜딩
비트코인의 아이디어는 은행이나 정부와 같은 중재자 없이 국경 없는 금융 거래를 허용하는 고유한 디지털 결제 시스템을 만드는 것이었다. 암호화 기술과 함께 블록체인 기술이 제공하는 분산 아키텍처는 비트코인이 공격과 사기에 강해지도록 한다.
POS 알고리즘은 유사 무작위 선거 프로세스를 사용해서 노드 그룹에서 검증자를 선택한다. 이 시스템에서 블록은 채굴되는 것이 아닌 '위조'된다. 위조 과정에 참여하는 사용자는 트랜잭션을 검증하기 위해 컴퓨팅 성능이 아닌, 자신의 지분으로 네트워크에 코인을 스테이킹해야 한다. 지분의 크기는 노드가 다음 유효성 검증자로 선택될 기회를 결정한다. 지분이 클수록 기회가 커짐
네트워크에서 가장 부유한 노드 뿐만 아니라 다른 선택 프로세스도 있음
노드가 블록을 위조하면 코인 나이가 0으로 재설정되고, 다른 블록을 위조할 수 있으려면 일정 기간을 기다려야 한다. 이는 대규모 스테이크 노드가 블록체인을 지배하는 것을 방지한다.
POS를 사용하는 블록체인
- BNB체인, BNB스마트 체인
- Solana
- Avalache
- Polkadot
노드가 다음 블록을 위조하도록 선택되면 블록의 트랜잭션이 유효한지 확인한다. 그런 다음 블록에 서명하고 블록체인에 추가한다. 보상으로 노드는 블록에서 거래 수수료를 받고 일부 블록체인에서는 코인 보상을 받기도 한다.
노드가 위조 행위를 중단하고 싶다면 일정 기간이 지났을때 지분과 획득한 보상이 해제되어 노드가 블록체인에 추가한 사기성 블록이 없는지 네트워크가 확인할 수 있는 시간이 주어진다.
POW 장점
POW 단점
비트코인에 저장되는 모든 거래 내역, 즉 블록체인의 전부를 저장하고 있는 노드들을 의미한다. 풀 노드는 블록체인의 데이터를 모두 로컬로 저장하기 때문에 네트워크에 접근이 없어도 데이터에 빠르게 접근할 수 있다는 장점이 잇다. 대부분의 거래소들이 풀 노드 운영.
네트워크에 직접적인 영향을 미치는 존재는 아니지만 힘이 없진 않음. 궁극적으로 풀 노드의 과반이 받아들이는 것이 업그레이드의 성공을 결정한다.
풀 노드에 연결하여 거래 내역을 보내고 검증한다. 간단한 애플리케이션이나 비트코인 지갑 메타마스크 등을 사용하는 유저들을 라이트 노드라고 볼 수 있다.
라이트 노드는 비트코인 사용자들의 거의 대부분이다.
이전 버전과 호환되는 변경 사항으로 코드가 업데이트 되는 것. 기존 버전과 변형된 버전이 같은 네트워크에서 운영될 수 있다. ex) Segwit
일단 구현되면 새 규칙은 이전 규칙과 호환되지 않음. 커뮤니티 내의 합의가 이루어지지 않을 때, 또는 심각한 버그로 수정이 불가피할때 진행된다. ex) Ethereum
하드 포크로 인해 블록체인은 둘로 나뉘게 되고, 두 개의 다른 프로토콜을 병렬로 실행하는 서로 다른 네트워크가 된다. 포크 시점에 블록체인 고유 단위의 잔액이 이전 네트워크에서 복제되기 때문에 포크 당시 기존 체인에 잔액이 있으면 새 체인에도 잔액 존재.