요약 : 가상 화폐로 거래할 때 해킹을 막기 위한 기술
*나무 위키
블록 체인은 첫번째 암호화폐였던 비트코인에서 처음 나타난 개념으로, 모든 암호화폐는 각각의 블록체인을 가지고 있다.
암호화폐는 화폐를 따로 조폐하는 중앙은행이 존재하지 않고 일정한 주기마다 블록(Block)을 찾아내고 보상을 받아가는 식으로 화폐가 생성된다. 블록은 해당 암호화폐가 사용하는 해시 함수로 이루어져 있으며 사용자는 컴퓨터의 연산 능력을 이용해 일일이 맞는 함수를 대입하는 식으로 해시를 찾게 된다. 이러한 과정을 채굴(mining)이라 한다.
블록에는 해당 블록이 발견되기 이전에 사용자들에게 전파되었던 모든 거래 내역이 기록되어 있고, 이것은 P2P 방식으로 모든 사용자에게 똑같이 전송되므로 거래 내역을 임의로 수정하거나 누락시킬 수 없다. 블록은 발견된 날짜와 이전 블록에 대한 연결고리를 가지고 있으며 이러한 블록들의 집합을 블록 체인(Block Chain)이라 칭한다.
가상화폐로 거래할 때 발생할 수 있는 해킹을 막기 위해 만들어진 기술로 공공 거래 장부라고도 한다. 기존의 중앙 서버에 거래기록을 보관하는 것과는 달리, 블록체인은 모든 사용자에게 거래기록을 보여주며 서로 비교해 위조를 막는다.
블록체인은 ‘공공 거래장부’라고도 불린다. 말 그대로 거래장부를 공개해두고 관리한다는 뜻이다.만일 홍길동이라는 사람이 은행 창구를 찾아가 “내가 맡겨둔 1만원을 돌려달라”라고 요구하면, 은행 직원은 거래장부를 뒤져 그가 돈을 맡긴 기록이 있는지 확인한다. 홍길동이 주장한 대로 1만원을 맡긴 기록이 장부에 있다면 은행 직원은 금고에서 1만원을 꺼내 홍길동에게 건넬 테다. 만약 거래내역이 없다면 은행은 홍길동의 요구를 거부할 것이다. 거래장부에서 거래 내역을 제대로 확인하지 못하면 은행은 제 역할을 하지 못한다.
거래장부는 금융 거래의 핵심이다. 돈이 오고간 내역을 장부에 기록하는 이유는 이 기록을 바탕으로 금융거래가 이뤄지기 때문이다. 그러니 거래장부를 안전하게 보관하는 일은 굉장히 중요하다. 나쁜 마음을 품은 사람이 거래장부를 손에 넣으면 데이터를 조작해 돈을 빼돌릴 수 있다.
은행이나 신용카드 회사 등 기존 금융회사는 거래장부를 안전하게 보관하기 위해 복잡한 인적·물적 보안 대책을 세운다. 함부로 은행 서버에 접근할 수 없도록 튼튼하고 건물 깊숙한 곳에 거래장부를 저장한 서버를 두고 각종 보안 장비와 프로그램을 설치하는 것은 물론이고, 경비원과 보안 담당 직원도 고용한다. ‘보안’이라고 하면 흔히 떠오르는 풍경이다.
사토시 나카모토는 이런 상식을 뒤집었다. 서버나 경비원 없이도 거래장부를 안전하게 보관하는 방법을 고안했다. 사토시 나카모토가 내놓은 해법은 비트코인을 사용하는 모든 사용자가 함께 거래장부를 관리하도록 하는 것이다.
모든 비트코인 사용자는 P2P 네트워크에 접속해 똑같은 거래장부 사본을 나눠 보관한다. 새로 생긴 거래내역을 거래장부에 써넣는 일도 사용자 몫이다. 이들은 10분에 한 번씩 모여 거래장부를 최신 상태로 갱신한다.
모든 비트코인 사용자는 가장 최근 10분 동안 돈을 주고받은 내역을 갖고 있던 거래장부 끝에 더한다. 기존 장부에 숫자가 물에 번졌거나 한두 페이지가 뜯겨 나간 장부가 있으면, 다른 사람이 가진 멀쩡한 장부를 복제해 빈 곳을 메운다. 이때 몇몇 사람이 멋대로 장부를 조작할 수 없도록 과반수가 인정한 거래내역만 장부에 기록한다.
최근 거래내역을 적어 넣었으면, 새로 만든 거래장부를 다시 모든 비트코인 사용자가 나눠 가져간다. 이런 작업을 10분에 한 번씩 반복한다. 이 때 10분에 한 번씩 만드는 거래내역 묶음을 ‘블록(block)’이라고 부른다. 블록체인은 블록이 모인 거래장부 전체를 가리킨다. 비트코인은 처음 만들어진 2009년 1월부터 지금까지 이뤄진 모든 거래내역을 블록체인 안에 쌓아두고 있다. 지금도 전세계 비트코인 사용자는 10분에 한 번씩 비트코인 네트워크에서 만나 블록체인을 연장하고 있다.
물론 이런 작업을 사용자가 직접 하는 건 아니다. 비트코인 네트워크에 연결된 컴퓨터가 알아서 처리한다. 사용자는 자기 컴퓨터를 비트코인 네트워크를 유지하는 데 품앗이하는 셈이다.
공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. 블록체인은 대표적인 온라인 가상 화폐인 비트코인에 적용되어 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 10분에 한 번씩 이 기록을 검증하여 해킹을 막는다.
요약 : 컴퓨터간에 정보를 주고받을 때의 통신방법에 대한 규칙과 약속.
정보기기 사이 즉 컴퓨터끼리 또는 컴퓨터와 단말기 사이 등에서 정보교환이 필요한 경우, 이를 원활하게 하기 위하여 정한 여러 가지 통신규칙과 방법에 대한 약속 즉, 통신의 규약을 의미한다.
통신규약이라 함은 상호간의 접속이나 전달방식, 통신방식, 주고받을 자료의 형식, 오류검출방식, 코드변환방식, 전송속도 등에 대하여 정하는 것을 말한다. 일반적으로 기종(機種)이 다른 컴퓨터는 통신규약도 다르기 때문에, 기종이 다른 컴퓨터간에 정보통신을 하려면 표준 프로토콜을 설정하여 각각 이를 채택하여 통신망을 구축해야 한다. 대표적인 표준 프로토콜의 예를 든다면 인터넷에서 사용하고 있는 TCP/IP가 이에 해당된다.
정보통신의 상대방은 일반적으로 원격지에 있다. 따라서 정보를 전송하기 위해서는 정보를 전기적인 신호의 형태로 변환하고 그 변환된 신호가 통신망을 통해 흐르도록 하는데, 통신망에는 정상적인 신호의 흐름을 훼방하는 여러 가지 현상이 존재하게 된다. 이러한 현상은 정확한 정보의 전송을 방해하여 도중에 오류가 발생되는 원인이 된다.
프로토콜이라는 규약의 집합 속에는 이러한 오류에 대응하기 위한 약속이 대단히 중요하다. 또한 정보를 정확하고 효율적으로 전송하기 위해서는 송수신 개체 간에 서로 정보의 전송 시점과 수신 시점을 맞추는 일(동기화)도 수행해야 하고, 정보 흐름의 양을 조절하는 흐름 제어방법도 역시 사전에 약속하여 프로토콜 속에 포함해야 한다.
이러한 오류제어, 동기, 흐름제어, 코드변환, 전송속도 등에 대한 약속 이외에도 통신하는 상대방의 위치에 따라 통신 개체가 어느 OSI 계층에 있는 가와 효율적인 정보전송을 위한 기법, 정보의 안전성(보안)에 관한 약속들도 프로토콜의 범주에 포함되어야 한다.
프로토콜(Protocol)은 통신 시스템이 데이터를 교환하기 위해 사용하는 통신 규칙이다. OSI 7계층 모델에서는 각 계층에서 수행되는 프로토콜이 서로 독립적이라고 간주한다. 따라서 계층 1에는 계층 1끼리 통신할 수 있는 프로토콜이 존재하고, 계층 2에는 계층 2끼리 통신할 수 있는 프로토콜이 존재한다.
(프로토콜 데이터 단위)
네트워크 프로토콜을 사용해 데이터를 교환할 때는 먼저 데이터를 특정 형태로 규격화하는 작업이 필요하다. 예를 들어, 우편물을 보낼 때 정해진 규격 봉투를 사용하는 것과 같다. 규격 봉투에 보내는 사람, 받는 사람, 우표 등의 규칙에 따라 정보를 기입하는 것처럼, 네트워크에서도 데이터를 프로토콜에 맞춰 묶어준다.
OSI 7계층 모델의 각 계층에서 규격화된 데이터는 다음과 같이 고유 명칭이 있다. 계층에 상관없이 사용할 때는 통칭하여 PDU(Protocol Data Unit)라고 부른다.
• APDU(Application Protocol Data Unit) : 응용 계층에서 사용하는 데이터의 단위
• PPDU(Presentation Protocol Data Unit) : 표현 계층에서 사용하는 데이터의 단위
• SPDU(Session Protocol Data Unit) : 세션 계층에서 사용하는 데이터의 단위
• TPDU(Transport Protocol Data Unit) : 전송 계층에서 사용하는 데이터의 단위. 인터넷에서 사용하는 전송 계층 프로토콜인 TCP에서는 세그먼트(Segment)라고 부르고, UDP에서는 데이터그램(Datagram)이라고 부른다. 데이터그램은 일반적인 의미로도 자주 사용한다.
• NPDU(Network Protocol Data Unit) : 네트워크 계층에서 사용하는 데이터의 단위. 보통 패킷(Packet)이라고 부른다. 패킷은 원래 네트워크 계층의 IP 프로토콜에서 유래되었지만 요즘은 일반 용어로 많이 사용한다.
• DPDU(Data Link Protocol Data Unit) : 데이터 링크 계층에서 사용하는 데이터의 단위. 보통 프레임(Frame)이라고 부른다.
외교상의 언어로서 국가간의 교류를 원활하게 하는 외교상의 의례나 국가간의 약속을 정한 의정서를 의미하는 말이다. 이것을 국가간의 약속이 아닌 컴퓨터간의 통신에 적용한 것이 아래에서 설명하는 통신 프로토콜이다.
컴퓨터들 간의 정보 교환에 있어, 우리가 외국인과 대화를 할때 모국어로 이야기하면 이해하기가 어렵듯이 네트워크에서도 프로토콜이 맞지않으면 통신이 불가능하다. 정보의 정확한 교환을 위해서는 프로토콜의 사용이 필수적이라고 할 수있다. 그리하여 일정한 약속을 정해 여러 계층으로 나눠진 네트워크에서 동위 계층에서 사용하는 표준통신규약을 만들어 두었는데, 이 네트워크 통신규약이 프로토콜이다. 이러한 표준 프로토콜은 UN산하의 ITU라는 기관에서 국제통신규약을 만들어 사용한다.
인터넷이 전세계에 연결되어 자유롭게 사용가능 한 것도 다 프로토콜 덕분이다. 인터넷은 TCP/IP 기반 하에 동작하는데 이 자체가 프로토콜이다. TCP (Transmission Control Protocol) / IP (Internet Protocol).
인터넷을 통해서 전세계로 이메일을 보낼 수 있는 것은, SMTP (Simple Mail Transfer Protocol) 라는게 규정되어 있고, 전세계의 메일서버가 이를 따르기 때문이다.
월드 와이드 웹 역시, HTTP (HyperText Transfer Protocol) 이라는 것이 규정되어 있고, 웹 서버와 웹 브라우저가 이를 따르기 때문에 가능한 것이다.