아무리 아무리 쉽게 설명해도....
일반인이나 초보자들이 알아듣기에는 한계가 있기 마련인데
무슨 말인지 1도 모르겠는 사람들을 위한 용어 정리 포스팅을 해보도록 하겠다. 그것도 최대한 쉽고 간단하며 누구나 알아들을수 있도록
ICO(Initial Coin Offering) - 코인 개발자들이 코인을 사람들에게 나누어주며 투자를 받는 것.
Full Node(Full Client) - 전세계 모든 블록(장부)을 가지고 있으며 다른 peer와의 연결을 통해 내가 가진 블록 정보를 남에게 줄 수 있는 노드.
Hard Fork - 기존의 블록체인에서 문제가 발생하거나 기존 방식의 장부기록방식에서 완전한 변화를 주려고 할때 두갈래 또는 그 이상으로 체인이 갈라지며 업데이트 되는 체인이 생기는데 이것을 하드포크(hard fork)라 하며 완전한 두 체인의 노선은 전혀 다른 방식으로 운영되기 때문에 서로 호환 되지 않는다. 예를 들면 맥북과 windows를 사용하는것과 같이 전혀 호환되지 않는것과 유사.
Soft Fork - 하드포크와 같이 업데이트 되는 체인이 새로 생기며 포킹을 하지만 기존의 체인과 서로 호환이 가능하다. 예를 들어 microsoft office 2013시리즈를 가졌는데 2010버전도 쓸수 있는 것과 유사하다.
Mining(채굴)- 작업증명과 보상의 개념을 합친 것. 작업증명을 완료했을때 그 보상으로 코인을 받을때 채굴한다고 한다.
Node(노드)- 블록체인을 배포하는 소프트웨어를 가지고 블록체인을 다운 받는 사람 또는 컴퓨터
SHA256- 입력값에 대하여 256비트의 길이의 16진수로 (0123456789abcdef로 이뤄진 수)바꿔 주는 해싱 프로그램
Transaction Malleability(거래가변성)- 거래 내역은 동일하나 거래 ID를 바꿔 새로운 거래내역을 만드는 것.
Base58check - 비트코인 주소를 만들때 사용되는 인코딩 프로그램. 더 적은 용량을 차지하기 위해 압축해서 표현하게 해주는 역할을하고 가독성 증대 및 에러감지에 쓰인다.
UTXO(Unspent Transaction Output)- 소비되지 않은 거래 출력값. 쉽게 말해 지갑에 가지고 있는 비트코인의 잔액을 이루는 거래들이다.
P2P(peer to peer)- 네트워크에 참여하는 개인은 서로에게 동료이며 모두 동등한 지위를 가지고 있고 특별한 노드는 존재 하지 않고 모든 노드가 네트워크 서비스를 공급하는 역할을 분담하는 것을 의미.
UASF(User Activated Soft Fork)- BIP148(그냥 플랜이름들 중 하나라고 알면된다)이라고도 한다. 11월에 Soft fork인 Segwit 업데이트가 예정되어 있었지만 채굴노드들이 업데이트를 반대하게 되는데 이때 개발자를 비롯한 노드들이 동의를 거쳐 채굴노드들과의 합의없이 강제로 진행하려했던 Segwit soft fork.
UAHF(User Activated Hard Fork)- 전세계적으로 가장 강력한 해시파워를 자랑하는 Bitmain 채굴회사에서 진행한 하드포크 계획이다. Segwit에 대항한 채굴자들은 (블록 내부내용을 완전히 뒤바꾸는 업데이트를 하게되면 기존 채굴기가 무용지물이 되므로) 비트코인의 확장성 문제를 해결하기 위한 대안으로 블록의 크기를 2MB로 제한을 두고 늘리겠다는 대안을 내놓는데 이것이 UAHF이다.
PoS(Proof of Stake) -지분증명. 더 많은 지분(코인)을 가질수록 블록체인 장부에 기록할 권한이 더 많이 부여된다.
dApp(Decentralized Application)- 분산화된 어플리케이션. 중앙화된 서비스 중 대표적인게 웹서버를 이용한 웹사이트라고 할수 있다. 웹서버는 클라이언트와 서버의 모든 리소스(글, 그림, 영상)을 연결하는 중계자이자 컨트롤러의 역할을 하고 있다. 이를 중앙 서버에서 통제하는 것이 아닌 각각의 사용자들이 독립노드가 되어 합의를 통해 정보를 나눠 통제하게 되는데 이것이 dApp이다.
ERC20(Ethereum Request for Comment 20)- 이더리움 생태계에서 사용할 수 있는 토큰. 쉽게 예를들면 안드로이드 또는 iOS를 플랫폼으로 하는 수많은 어플들이 있는데 각각 어플들의 포인트를 하나로 통합하는 것이 현재는 불가능하지만 이더리움 플랫폼에서는 이 어플리케이션들의 토큰끼리 서로 호환된다. 이것이 ERC20이다.
Smart Contract - 조건과 행위가 존재하고 강제성이 있는 계약. 예를들어 '동생이 결혼을 하면 100이더리움을 전송한다.'는 조건을 붙이면 동생이 결혼을 했을때 자동으로 100이더가 전송이된다.
OpenBazaar- 블록체인을 시스템을 기반으로하는 물물거래소. 블록체인으로 장부를 작성하고 거래하는 e-bay라고 생각하면된다.
Replay Attack- 하드포크가 일어날 시(블록체인이 두개로 분기될 때) 기존의 코인을 전송하면 새로운 블록체인의 코인도 전송되는 현상.
Alt coin- 비트코인을 제외한 나머지 코인들.
BlockHeader(블록헤더) - 블록을 구성하는 요소중하나. 블록은 블록헤더, 거래정보, 기타정보로 구성됨.
Version- 그 블록체인의 버전. 블록헤더를 구성하는 요소중 하나.
Previous Block Hash- 블록 체인에서 바로 앞에 위치하는 블록의 블록 해쉬. 블록을 이전블록들과 연결해주는 매개이고 블록헤더의 구성요소이다.
Merkle Tree(머클트리)- 머클트리를 이용해 해당 블록에 들어있는 모든 거래의 요약본을 가지고 있을 수 있다. 이를 통해 세부 거래내용을 쉽게 찾을 수 있음. 블록헤더의 요소중 하나.
Nonce- 작업증명 알고리즘에서 사용되는 변수. 이를 SHA256 해시함수에 입력해 출력되는 값을 가지고 연산하는데 이용한다.
SPV- SPV 노드는 모든 거래를 보유하고 있지 않고 블록헤더만을 다운로드 한다. 확인하려는 거래가 블록내에 포함되어 있는지 여부를 검증하는데에 사용되는데 머클경로를 이용한다.
더 많은 용어들이 있지만 가장 많이 접하고 가장 기본적인 것들을 추려서 나름 간단하게 정리했는데 이중에서도 중요한 용어들을 계속해서 다뤄질 것이고 리스트에 없는 것들도 다룰 예정.
최대한 쉽게 설명하려고 하지만 모르시는 분들을 위해 언제든지 댓글로 질문을 받습니다.
질문의 내용이 길 경우는 jsralphh@gmail.com으로 보내주시면 감사하겠습니다.