안녕하세요~
비트코인 혹은 알트코인 등 자주 등장하는 용어들이 있는데요,
이러한 용어를 체계적으로 정리해야 할 필요가 있다고 느껴서,
해외 자료를 번역해보았습니다.
[알파벳 A - C]
2015.03.03.
출처 : https://github.com/oleganza/bitcoin-papers/blob/master/BitcoinGlossary.md
** 원작자에 의해 배포 및 수정 가능
===========================================================================
알트코인
일부 수정된 프로토콜의 복제품. 일반적으로 모든 알트코인들은 비트코인과 호환될 수 없는 규칙을 가지고 있으며, 자신만의 제네시스 블록을 갖는다. 가장 눈에 띄는 알트코인으로 라이트코인(빠른 블록 컨펌 시간과 POW scrypt) 그리고 Namecoin(특별한 key-value strage를 가지고 있음) 등이다. 이론적으로 알트코인은 기존의 비트코인 블록체인으로부터 새로운 규칙을 적용하기 원하면 만들어낼 수 있다. (하지만 현재까지 그러한 사례가 없었음.) Fork 참고
ASIC
"특수용도지향집적회로(application-specific integrated circuit"을 의미한다. 다른 말로 하자면, 반복적인 작업을 수행하는 데에 사용된다. (반면 CPU나 GPU는 다양한 기능에 이용된다.) ASIC은 일반적으로 특별한 마이닝 전용 칩, 또는 이러한 칩을 기반으로 만들어진 모든 장비를 의미한다. Avalon, ASICMiner, Butterfly Labs, Cointerra 등의 회사에서 제조한다.
Base58
사토시 나카모토에 의하여 개발된 방식으로, 2진법의 숫자를 인간이 읽기 편하도록 변환한 것을 말한다. 영어와 숫자를 함께 사용하며, 0, O, I, l 등 일부 글꼴에서 동일해보이는 것은 허용하지 않는다. 소문자 “o”과 “l"은 허용된다.
Base58Check
Base58 인코딩의 변형. Base58로 변형하기 전에 인코딩된 데이터의 Hash256의 첫째 4바이트를 덧붙인 것. 오타 입력을 막기 위해 주소에서 사용된다.
BIP
비트코인 개선 제안(Bitcoin Improvement Proposals). 다양한 프로토콜 혹은 소프트웨어에 대한 업데이트 요청사항을 기록하는 RFC 방식으로 작성되었다. 가장 흥미로운 BIP는 핵심 프로토콜의 하드포크로써, 대다수의 비트코인 사용자(혹은 채굴자만)들이 원래의 방식과는 다른 규칙을 받아들여야 시행된다.
Bit
100 사토시(100만분의 1 BTC)로써, 2014년도의 일부 회사들(Bitpay, Coinb
ase) 및 다른 지갑 어플들이 bit를 통하여 bitcoin의 양을 표현했다.
Bitcoin
프로토콜, 네트워크, 통화의 단위를 나타냄.
프로토콜로써, 비트코인은 모든 클라이언트가 반드시 따라야 하는 규칙이다. 트랜젝션을 수신하고, 다른 클라이언트들로부터의 트랜젝션을 보유하려면 반드시 따라야만 한다. 또 node가 서로 연결될 수 있도록 하며, 트랜젝션과 블록을 서로 교환할 수 있도록 하는 메시지 프로토콜을 포함한다.
네트워크로써, 비트코인은 같은 규칙을 따르고, 트랜젝션과 블록 서로를 교환하는 모든 컴퓨터를 의미한다.
단위로써, 1BTC는 1억 사토시로 이루어진다. 사토시는 현재의 트랜젝션 포맷에서 이용 가능한 최소의 단위이다.
Bitcoin Core
2014.03.19.에 0.9버젼으로 업데이트 한 이후 BitcoinQT의 새로운 이름. Objective-C 구현인 CoreBitcoin과는 다름. Bitcore 참고.
Bitcoinj
Mike Hearn이 만든 Bitcoin node 자바 구현. SPV 구현 기능을 포함함.
Bitcoinjs
자바스크립트 비트코인 라이브러리. 트랜젝션을 서명하고, 일부 타원곡선 의 operation에도 사용됨. brainwallet.org에서 사용됨. Bitcore 참고.
Bitcoind
Bitcoin을 커맨드라인(주: 도스창)에서 사용하는 원래의 방식. 현재 BitcoinQT 프로젝트의 일부분이다. “D"는 유닉스 운영체제의 "daemon"을 나타낸다. BitcoinQT 참고.
Bitcoin-ruby
Ruby의 Bitcoin 유틸리티로, Julian Langschaedel에 의하여 만들어짐. Clinbase.com을 만드는 드에 사용됨.
Bitcore
Bitpay에서 만든 JavaScript로 쓰여진 Bitcoin 툴킷. Bitcoinjs 참고.
블록(Block)
block header과 트랜젝션 merkle tree로 구성된 데이터 구조. 각각의 블록은 (제네시스 블록을 제외하고) 바로 이전의 블록을 참조하고, 결론적으로 blockchain이라는 tree를 형성한다. Block은 timestamp와 POW가 첨부된 트랜젝션들의 집합으로 볼 수 있다.
Block Header
이전의 블록해쉬, 트랜젝션 merkle tree의 해쉬, timestamp, difficulty, nonce를 담고 있는 데이터 구조.
블록 높이(Block Height)
블록체인의 특정 블록의 sequence number를 의미한다. 높이가 0는 genesis block을 의미한다. 일부 블록들은 같은 높이를 공유한다(Orphan 참고.) 하지만 그 중 하나만 main chain에 소속된다. 블록 높이는 Lock time에 사용된다.
블록체인(Blockchain)
모든 유효한 블록(orphan을 포함)의 tree의 형태로 존재하는, 모든 컨펌된 트랜젝션의 공개 지갑(public ledger)이다. 대부분 main chain을 의미하며, main chain이란 블록들 중 가장 어려운 하나의 체인을 의미한다. 블록체인은 새로운 트랜젝션, 채굴에 의하여 업데이트된다. 컨펌되지 않은 트랜젝션은 Blcokchain의 일부가 아니다. 만약 일부 클라이언트가 일부 체인이 메인이 아니라고 주장하거나, 특정 블록이 유효하지 않다고 주장하면 fork가 발생한다.
Blockchain.info
Bitcoin node를 실행하고, 통계수치, 모든 트랜젝션과 블록의 raw data를 제공함. 안드로이드, iOS, OS X 등에 대한 web wallet 기능을 제공함.
브레인월렛.Org(Brainwallet.org)
트랜젝션을 직접 하고, private keys을 주소로 변환하며, brain wallet과 함께 사용되는, bitcoinjs 기반의 유틸리티.
BTC
1비트코인(100 000 000 사토시로 정의된다.) 에 대한 줄임말. XBT, Bit 참고.
Casascius Coins
Mike Caldwell에 의해 만들어진 물리적으로 회수 가능한 코인. 각각의 코인은 홀로그램 하에 보관된다.
클라이언트(Client)
Node 참고.
코인(Coin)
1비트코인 혹은 미지불 transaction output으로써, 지불 될 수 있다.
코인베이스(Coinbase)
트렌젝션의 input script로써, 새로운 비트코인을 만들어낸다. 또는 그러한 거래 자체를 부를 때 사용된다. ("Coinbase Transaction") 코인베이스 트랜젝션은 기존의 트랜젝션을 소비하지 않으며, 정확히 1 input만을 담고 있으며, script에 데이터를 담을 수 있다. Genesis block 트랜젝션에서는 2009년 1월 3일의 The Time의 문구(주 : The Times 03/Jan/2009 Chancellor on brink of second bailout for banks)를 담고 있으며, 이 날짜 이전에 만들어지지 않았다는 것을 의미한다. 일부 mining pools에서는 coinbase 트랜젝션에 스스로의 이름을 붙이기도 한다. (이를 통해 그 miningpool의 해쉬레이트를 예상할 수 있다.)
Coinbase를 사용하여 프로토콜 변화에 대하여 투표할 수 있다. (예를 들어 P2SH 등). 채굴자들은 얼마나 동의하는지 의사표시를 coinbase를 통해 할 수 있다. 만약 대다수의 채굴자들이 지지하고, 비채굴자들이 동의할 것으로 예상된다면, 새로운 규칙을 적용할 수 있다. 동의하지 않았던 채굴자들은 forked blockchain으로 지속하거나, (즉 알트코인이 생성된다.) 혹은 새로운 규칙을 받아들여야 한다.
Coinbase.com
미국 기반의 비트코인/USD 거래소로, 웹 주소 서비스를 제공함.
Colored Coin
특정 트랜젝션 output에 대하여 특별한 의미를 추가하는 개념. 비트코인 프로토콜에서 거래 가능한 재화를 만드는 데에 사용될 수 있다. 예를 들어 한 회사가 1백만의 주식을 발행하고, 10비트코인(10억 사토시)을의 트랜젝션 output을 주식을 발행하는 기준이라고 가정하자. 그러면 이러한 비트코인의 일부가 특정 주소로 이동되고, 판매 교환될 수 있다. 의사결정 또는 배당금 배분시에, 주주들은 비트코인을 보유함으로써 의사결정을 행사할 수 있다.
콜드 스토리지(Cold Storage)
개인 키에 대한 원격 접근에 대한 리스크를 낮추기 위한 다양한 방법들. 인터넷으로부터 연결되지 않은 일반 컴퓨터, 특별한 하드웨어 지갑, 지갑 파일로 구성된 USB 스틱, 종이 지갑 등을 의미할 수 있음.
컨펌된 트랜젝션(Confirmed Transaction)
블록체인에 속한 트랜젝션. 트랜젝션이 리젝될 수 있는 가능성의 단위는 Confirmation Number이다.
컨펌 숫자(Confirmation Number)
컨펌 숫자는 main chain으로부터 해당 트랜젝션이 리젝될 수 있는 가능성을 측정하는 단위이다. “제로 컨펌”이라는 의미는, 해당 트랜젝션이 컨펌되지 않은(아직 어느 블록에도 속하지 않았음) 것을 의미한다. 1 컨펌이라는 의미는, 해당 트렌젝션이 메인 체인의 가장 최근의 블록에 속해 있음을 의미한다. 2 컨펌은 해당 트랜젝션이 최신의 블록 바로 전에 속해 있음을 의미하고, 이러한 방식으로 n 컨펌을 설명할 수 있다. 더 많은 블록이 추가됨으로써, 트랜젝션이 역바향으로 수행될 수 있다는 가능성(“이중 지출”)은 극히 낮아진다.