BlockChain 주요 용어
in Study on BlockChain
알아두면 좋은 블록체인 용어들 :)
암호화폐(Cryprocurrency, 가상화폐)
- 비트코인 및 비트코인 기술 기반의 전자화폐를 구현할 때 디지털 서명, 해시체인 등 암호학 기반 기술을 많이 사용함. 블록체인 기반의 전자화폐도 암호화 기술을 사용하므로 이들을 통칭해 암호화폐라고 함
명목화폐(Fiat Money)
- 일반적인 화페. 파이트 화폐라고도 함
비트코인(Bitcoin)
- 전자화폐 시스템으로서 기존 전자화폐와는 달리 관리자가 없이도 자율적으로 동작하는 분산 시스템
이더리움(Ethereum)
- 블록체인 기반 애플리케이션을 개발하고 운용하는 플랫폼
- 튜링 완전한 프로그래밍 언어 기반의 애플리케이션을 개발할 수 있음
- 비트코인과는 근본적으로 구조가 다름
블록체인 애플리케이션(Blockchain Application)
- 스마트 계약 기반 암호화폐 및 디지털 애셋의 거리, DApps 개념을 포함
DApps
- 탈중앙화 애플리케이션의 줄임말
- 특정 관리자가 없어도 계속 동작하면서 스마트 계약을 실행하는 애플리케이션
스마트 계약(Smart Contract)
- IT 기술을 이용해 계약 내역을 자동으로 실행하는 것
- 예) 전자화폐의 잔액이 일정 액수 이하면 신용카드로 자동으로 충전하는 서비스도 스마트 계약의 하나
주소(Address)
- 공개 키 암호로 암호화폐를 받거나 보내는 단위로 다루는 임의 문자열
- 공개 키를 바탕으로 만들고 비밀 키가 있는 프로그램으로 암호화폐의 이용 권한을 얻을 수 있음
지갑(Wallet)
- 암호화폐 거래에 필요한 개인 키를 저장한 공간을 뜻함
- 암호화폐 자체는 블록체인에 공유해 저장
디지털 자산(Digital Asset)
- 다이아몬드와 고급 자동차 등의 실제 자산 소유권 거래 내역을 블록체인으로 디지털화한 것을 말함
거래(Transaction)
- 일반적으로 시스템 안에서 더 나눌 수 없는 처리 단위를 의미
- 블록체인에서는 코인과 토큰 소유권을 포함하는 데이터를 주고받는 것을 뜻함
- 작성자의 전자 서명을 적용해 코인 및 토큰 발행을 증명하거나, 내용을 조작한 사실이 없음을 보장하는데 사용
블록(Block)
- 여러 거래를 모아 만든 데이터 단위
- 거래를 블록에 저장하면 올바른 거래인지 검증하며, 뒤에서 설명할 작업 증명 알고리즘 등을 이용해 이중 지급을 막음
블록 높이(Bolck Height)
- 새로운 블록을 생성할 때는 먼저 생성한 블록의 해시값(이전 거래 기록 등)을 저장해야 함
- 다른 블록의 해시값을 포함해 연결된 블록의 전체 개수를 의미함
- 블록 높이가 0이면 맨 처음 생성한 블록이며 이를 제니시스(Genesis)블록이라고 함
- 거래와 블록 안 타임스탬프는 블록을 만든 사람이 자유롭게 설정가능 하지만 타임스탬프 기록으로 결정한 블록 생성 순서는 신뢰할 수 없음
- 기존 블록의 해시값을 새로 생성한 블록에 저장해 블록 생성 순서의 신뢰도를 보장
타임스탬프
- 날짜와 시간을 나타내느 문자열
- 블록체인은 실제 거래를 생성한 시각과 블록에 정식으로 저장한 시각을 타임스탬프에 저장하는데 두 기록이 일치하지 않아 문제가 발생하기 때문에 주의해서 다뤄야 함
해시값(Hash Value)
- 암호화폐를 구분하는 작은 크기의 데이터
- 원본 데이터에서 해시값을 계산하는 함수를 해시 함수
- 암호화폐의 블록 생성이나 주소 계산 등에서 암호화 해시 함수로 만든 해시값을 많이 활용함
채굴(Mining)
- 비트코인과 블록체인 기반 암호화폐는 누구나 새로운 블록 생성에 참여해 보상으로 암호화폐를 얻고 그러한 행동을 채굴이라고 함
- 채굴자는 Miner이라고 함
작업 증명(Proof of Work, PoW)알고리즘
- 채굴했다는 사실을 증명한 후에 블록을 생성하게 만드는 방법으로서 비트코인에서 채굴할 때 사용하는 알고리즘
- 동시에 증명 없이는 블록을 생성할 수 없게 하는 역할
- 그 이외에 지분 증명(Proof of Stake, PoS)와 존재 증명(Proof of Existence, PoE)알고리즘이 있음
메인넷(Main Net)과 테스트넷(Test Net)
- 메인넷
- 독립적인 암호화폐로 인정하는 프로그램을 출시·운용하는 네트워크
- 수수료를 내야 하거나 배포한 프로그램을 제거할 수 없는 문제가 발생
- 테스트넷
- 블록체인 애플리케이션을 개발할 때 사용하는 메인넷과 같은 구조의 네트워크
- 작업 증명 알고리즘을 적용한 롭튼(Ropsten)
- 권한 증명 알고리즘을 적용한 코반(Kovan), 린키비(Rinkeby)
- 블록체인 애플리케이션을 개발할 때 사용하는 메인넷과 같은 구조의 네트워크
코인(Coin)과 토큰(Token)
- 코인
- 메인넷이 있는 블록체인 시스템에서 발행한 암호화페
- 토큰
- 메인넷의 블록체인 시스템을 빌려 독자적인 암호화폐
- 보통 토큰 사용이 활발해지면 별도의 메인넷을 만들어 코인으로 승격시켜줌
합의(Consesus) 알고리즘
- 합의
- 분산 시스템의 모든 프로세스가 같은 결과값을 결정하는 과정
- 시스템에서 발생하는 에러를 막고 무결성을 보장
- 블록체인 시스템은 누구나 블록을 생성할 수 있는 구조이므로 블록의 소유권과 생성 순서를 결정하는 합의 알고리즘을 사용
- 블록체인은 블록 높이가 클수록 확장한 거래 내역이 바뀔 확률이 낮아지는 ‘확률적 합의’ 개념의 알고리즘을 도입해 관리자가 없는 분산 시스템을 구현
확정(Confirmation)
- 거래를 블록에 저장시켜 기존의 거래 내력과 새로운 거래 내역을 검증하는 것
- 거래 내역 검증 작업은 어떤 거래 하나가 저장된 블록과 연결된 다른 블록의 개수만큼 반복
- 연결된 블록의 개수를 확정 횟수라고도 함
- 블록체인은 확률적 합의를 적용하므로 확정 횟수가 많을수록 확정한 거래 내역의 신뢰도를 보장할 수 있음
- 확정 횟수를 신뢰도를 나타내는 지표로도 이용
가스(Gas)
- 이더리움에서 애플리케이션을 실행할 때 지급하는 네트워크 수수료
- 이더리움을 유지하는 비용으로도 이용
ERC20
- Ethereum Request for Comments의 줄임말
- 이더리움 네트워크의 개선안을 제안하는 EIPs에서 관리하는 공식 프로토콜
출처: 처음 배우는 블록체인