비트코인과 블럭체인
지금으로부터 10년 전 2008년 10월31일 저녁 역사적인 일이 생깁니다. 사토시 나카모토라는 사람이 ‘비트코인-P2P 전자 화폐 시스템’이라는 논문을 발표한 것입니다. 이 논문을 통해 사토시는 비트코인을 “오로지 거래 당사자 사이에 사용되는 전자화폐”라고 소개하고 “P2P 네트워크를 이용해 기존 화폐의 문제점인 이중 지불문제를 해결한다.”고 설명했습니다. 그리고 두 달 뒤에는 이중지불 문제를 막는 블럭체인을 바탕으로 비트코인을 구현했습니다.
이중지불 문제란 기존의 전자화폐는 쉽게 복사를 할 수 있기 때문에 중복 지불이 가능해서 돈의 가치가 없다는 문제입니다. 블럭체인을 설명하기 위해 먼저 기존의 은행의 장부 시스템을 예로 들어보겠습니다. A이라는 사람이 은행에 가서 돈을 찾는다면 은행은 통장의 잔고를 확인한 뒤에야 A라는 사람에게 돈을 줄 겁니다. 만약 통장을 확인하고 잔고가 부족하다면 은행은 A에게 돈을 주지 않을 것입니다. 즉, 은행에서 ‘통장’은 거래의 핵심입니다. 돈이 들어오고 나가는 내용들을 통장에 기록하기 때문입니다. 따라서 은행의 신용을 보장해주는 통장을 안전하게 지키는 일이 중요해집니다.
만약 해커가 나쁜 마음을 먹고 은행 전산망을 해킹하여 이 통장내역을 해킹한다면 엄청난 돈을 취할 수 있겠죠. 이렇듯 기존의 금융 시스템에서는 통장과 같은 거래장부를 안전하게 보관하기 위해 천문학적인 비용(수많은 서버를 구매, 경비원을 구매, 보안프로그램을 구매)들을 치루고 있습니다. 사토시는 위에서 언급한 은행의 막대한 비용에 대해 문제의식을 품었습니다.
블럭체인(공공 거래장부)을 통해 많은 비용을 치루지 않고 거래 장부를 안전하게 보관하는 방법을 생각한 것입니다. 비트코인을 블럭체인 위에서 구현함으로써 모든 사용자가 거래장부를 관리하게 만들었습니다.
모든 비트코인 사용자는 P2P 네트워크에 접속하여 동일한 거래장부 사본을 나눠서 보관합니다. 그리고 모든 사용자들은 10분에 한 번씩 거래장부를 최신 상태로 갱신하고 기존에 갖고 있던 거래장부 끝에 새로운 장부를 추가합니다.
이 과정은 몇몇 사람이 장부를 조작할 수 없도록 과반수가 인정한 거래내역만 장부에 새롭게 기록됩니다. 만약 어떤 한 장부에서 네트워크 상의 문제나 해커의 인위적은 공격으로 인해 내용이 변경 혹은 삭제되었다면 다른 사용자의 장부들과 대조해보고 차이점이 있는지 확인을 한 뒤에 변경되거나 삭제된 것을 본래의 내용을 복원합니다.
즉, 새로운 거래내역이 생기면 새로 만든 거래장부에 적고 그 장부를 모든 비트코인 사용자가 나눠 가져가는 작업을 10분에 한 번씩 반복함으로써 블럭체인을 완성하는 것입니다. 이 때 10분에 한 번씩 만들어지는 새로운 거래내역의 뭉치들을 ‘블럭(block)’이라고 부릅니다. 블럭체인은 이러한 블록들을 모아 엮은 거래장부 전체를 뜻합니다.
비트코인은 지난 9년간의 모든 거래내역을 블럭체인 안에 쌓아두고 있습니다. 지금 이시간에도 전세계 비트코인 사용자들은 10분에 한 번씩 비트코인 네트워크에서 블럭체인을 새롭게 만들어 내고 있습니다.
이렇게 블록체인을 새롭게 만들어 내는 작업을 ‘채굴’이라 표현합니다. 채굴은 비트코인 네트워크에 연결된 컴퓨터들이 처리합니다. (채굴에 대해서는 다음에 자세히 포스팅 하겠습니다.
사토시는 단지 전자화폐인 비트코인을 구현시키기 위해 블럭체인을 선보였습니다. 하지만 블록체인에는 엄청난 잠재력이 숨어있었습니다. 그동안 아무도 풀지 못했던 분산 컴퓨팅의 문제를 해결한 것입니다.
P2P(peet to peer)란 인터넷에서 사용자끼리 직접 연결해 데이터를 주고받는 구조입니다. P2P 네트워크는 일대일이 아니라 수많은 사용자가 거미줄처럼 서로 물고 물린 네트워크를 의미합니다. P2P 네트워크는 중앙 서버 한 곳에 저장된 데이터를 내려 받는 것이 아니라 사용자와 사용자끼리 데이터를 주고받으며 형성됩니다. P2P 네트워크를 구성함으로써 여러 사용자에게서 파일을 모아 서버에 파일을 올려둔 것 같은 효과를 누릴 수 있습니다. P2P 네트워크는 수많은 사용자들이 비용을 부담함으로써 큰 비용 없이 원하는 서비스를 구현할 수 있다는 장점이 있습니다.
다만 한 가지 중요한 문제가 있는데, P2P 네트워크로 연결된 사용자는 서로를 믿을 수 없다는 것입니다. 토렌토를 해보셨다면 알겁니다. 누군가는 나쁜 마음을 먹고 악성프로그램이나 바이러스를 담아 공유한다면 피해를 입게 됩니다. 이런 문제를 ‘비잔틴 장군의 딜레마’라고 부릅니다. P2P 네트워크가 등장하면서 이 문제는 해결할 수 없는 문제처럼 대두되었습니다.
하지만 블록체인은 이러한 문제를 일거에 해결했습니다. 블럭체인은 비잔틴 장군의 딜레마에 ‘작업 증명 체계(proof-of-work)’를 도입하여 신뢰의 알고리즘을 완성했습니다. (채굴과 노드, POW와 POS에 대한 포스팅은 다음에 자세히 하겠습니다. )
블록체인이 유지되기 위해서는 다음과 같은 전제조건이 필요합니다. 첫째, 전체 사용자 가운데 절반 이상이 블록체인을 유지하는데 참여할 것.둘째, 10분마다 문제와 정답을 공유함으로써 주고받은 데이터가 중복 없이 정리되고 블록체인에 참여한 사용자들 모두가 이를 확인할 것.
비트코인 사용자는 비트코인이 망하길 원치 않습니다. 비트코인이 가치를 잃으면 자신도 피해를 입기 때문입니다. 공공의 이익이 아닌 자신의 이익을 지키기 위해서 블록체인을 유지할 이유가 충분합니다. 사용자들이 각자 자기 이익을 지키려고 노력하는 것(노드가 되는 것)만으로도 블럭체인의 안정성은 커집니다. 만약 몇몇 사람이 사익을 채울 생각으로 비트코인 거래장부를 조작하려 한다면 전체 비트코인 네트워크가 지닌 계산 능력의 절반이 넘는 계산능력을 동시간대에 활용할 수 있어야 합니다. 즉, 과반수가 비트코인의 가치를 지키는 데 계산 능력을 보태지 않는다면 비트코인 거래장부는 조작할 수 없는 것입니다.
2013년 말부터 비트코인 블록체인 네트워크가 지닌 계산 능력(해쉬 파워)은 이미 세계 1위에서 500위까지 슈퍼컴퓨터를 모두 더한 것을 넘어섰습니다. 2018년 현재 기준으로는 큐빗을 기본 처리단위로 사용하는 양자컴퓨팅을 대거 사용하지 않는 한 사실상 조작이 불가능한 수준에 이르렀습니다. (양자컴퓨터와 블럭체인 해킹 가능성에 대한 포스팅은 후에 하겠습니다.)
블록체인을 통해 분산 컴퓨팅 시스템의 큰 문제(비잔틴 장군의 딜레마)를 해결한 덕분에 비용이 많이 들어가는 서비스를 P2P 네트워크로 구현할 수 있게 되었습니다. 비트코인은 블럭체인 기술을 금융 분야에 적용한 아주 일부의 사례입니다. 사실 블럭체인의 가능성은 아직 끝 보이지 않는다 해도 과언이 아닙니다. 어쩌면 모든 중앙 집중 서비스를 탈중앙화 방식으로 바꾸는 혁명을 이뤄낼지도 모릅니다. 탈중앙화란 중앙에 집중된 권력을 사용자 손으로 돌려준다는 뜻입니다. 블록체인을 바탕으로 한 비트코인이 혁명적인 기술로 불리는 이유는 바로 이것 때문입니다. 우리는 비트코인의 가격에만 주목할 것이 아니라 그 비트코인을 만들어 준 블록체인에 대해 더욱 더 관심있게 지켜봐야할 것입니다. 앞으로 블록체인을 통해 변화할 세상이 기대됩니다.
-다음 포스팅은 ‘스마트컨트렉트와 블록체인의 활용성’을 주제로 하겠습니다.-
---------------------------------------------------------------------------------------------------------
What are Bitcoin and Block Chain?
On the evening of October 31, 2008, a historic event took place. A man named SatoshI Nakamoto has published a paper called Bitcoin- P2P Electronic Money System. Through this paper, Satosi introduced the bitcoin as an " electronic currency that is only used between the trading parties, " and explained, " Using the P2P network, the problem of double payment is resolved. "Two months later, Bitcoin was implemented based on a block chain that prevented double payment.
Double payment is not worth the money because conventional e-money is easy to copy and duplicate. To describe a block chain, let's first illustrate the existing bank's book system. If the person named A goes to the bank to withdraw money, the bank will only give money to the person who has checked the balance in the account. If you check your account and have a small balance, the bank will not give A any money. In the bank, the ‘ account ’ is the key to the transaction. Because they record their stories in the bank. So it becomes very important to keep your bank account safe and secure.
If hackers could hack into the bank's computer network and break into this account, it would cost them a fortune. As such, traditional financial systems are paying astronomical costs (purchasing numerous servers, purchasing security guards, and purchasing security programs) to keep account books, such as bank accounts, safe. SatoshI was concerned about the huge cost of the aforementioned bank.
SatoshI thinking of ways to keep account safe and free of charge via block chains (public transaction books). By implementing a bit coin above the block chain, all users were able to manage their account.
All Bit coin users connect to a P2P network and share the same copy of their transaction book. Every 10 minutes, all users update their account and add a new account to the end of their existing account.
This process is to be recounted in the book, with only the transactions approved by the majority, so that several people can not manipulate the book. If a book is changed or deleted due to a network problem or an attack by a hacker, check with the other user's account to see if there are any differences and then delete or otherwise change.
That is, when new transactions are made, the block chain is completed by writing in the new transaction book and dividing it into quarters by the work of all bit coin users every 10 minutes. A block of new transactions that are created every 10 minutes is called a block. A block chain is a whole trading book that holds these blocks together.
Bitcoin has piled up all the transactions of the past nine years in its block chain. Now, every 10 minutes, users around the world are creating a new block chain on the Bitcoin Network.
The process of creating a new block chain is called mining. Mining is handled by computers connected to the Bitcoin Network. (I will post more information about mining next time.)
SatoshI unveiled a chain of blocks just to make the e-money Bitchin happen. But the block chain had enormous potential hidden. This is what we've done with distributed computing, which nobody has ever solved.
Peer to Peer is a structure in which users connect directly with each other on the Internet to send and receive data. P2P networks are not one-to-one, but networks that countless users bite and bite each other like webs. A P2P network is formed not by downloading data stored on one central server, but by transferring data between users and users. By configuring your P2P network, you have the same effect of collecting files from different users and placing them on your server. P2P networks have the benefit of allowing a large number of users to deploy the services they need at no great cost.
But there is one key problem, because users connected to P2P networks do not trust each other. If you've tried torento, you know. Someone can get hurt if they're eating poorly and sharing a malicious program or virus. These issues are referred to as Byzantine generals dilemmas. With the advent of the P2P network, this problem has become an insoluble problem.
But the block chain solved this problem all at once. The block chain has adopted a ‘ proof-of-work ’ to complete the algorithm for trust in the Byzantine general's dilemma. (I will go into detail next time for postings on Mining & Node, POW & POS.)
The following prerequisites are required for block chains to remain : First, more than half of all users will participate in maintaining the block chain. Second, by sharing the questions and answers every 10 minutes, the exchanged data should be cleaned up and verified by all users in the block chain. The bit coin user does not want the bit coin to fail. If the bit coin loses its value, it can be damaged. There is ample reason to keep the block chain in place to protect your own interests, not the public ones.
Just the fact that users are trying to protect their own interests (becoming nodes) increases the reliability of the block chain.
If several people intend to manipulate the Bitcoin transaction book to fill their own interests, the computing power of more than half of the total Bitcond Network must be available during the dongours period. That is, the Bitcond Account Book can not be manipulated unless the majority of the funds are able to calculate its value. Starting at the end of 2013, the computing power of the Bitcoin Block chain has exceeded the sum of supercomputers in the world's top 1 to 500. As of 2018, the computer was virtually inoperable unless it used a large number of quantum computing units that used Cubit as its base processing unit. (I'll post about possible hacking into quantum computers and block chains later.)
The block chain solves the great problems of distributed computing systems (Byzantine generals), allowing costly services to be implemented over P2P networks. Bitcoin is a very small example of applying block chain technologies to the financial sector. In fact, it's not too much to say that the possibilities of block chains aren't over yet. Maybe we can create a revolution by transforming all centralized services into decentralised ones. Decentralization means the return of centralized power to the user.
That's why a bit coin based on a block chain is called a revolutionary technique. We should pay more attention not only to the price of the bit coin but also to the block chain that made the bitcoin. We look forward to a world that will change with the block chains.
- The following postings are ' Smart Contract and Availability of Block Chain '.-
블록체인을 처음 접하는 유저들에게 많은 도움이 될 것 같습니다 ㅎㅎ
많은 분들에게 도움되는 글이 되었으면 좋겠습니다. 감사합니다^^
좋은 글 감사합니다.^^7
Congratulations @highkoco! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP