SW/블록체인

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리

얇은생각 2022. 1. 20. 07:30
반응형

블록체인

제4차 산업혁명 시대에 인공 지능을 뛰어넘는 거대한 기술인 정보의 바다를 가치의 바다로 바꾸는 새로운 기술입니다. 기존의 패러다임과 질서를 변화시키는 또 다른 산업 혁명으로 간주되고 있습니다. 세계 경제 포럼 (World Economic Forum)은 세계은행의 80%가 블록체인 기술을 채택할 것으로 예측을 하였습니다. 또한 블록체인 기술이 2025년까지 전 세계 총 생산량의 10%를 차지할 것이라고 예측하였습니다.

 

 

블록체인 핵심 기술

 

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 1

 

블록체인은 다음의 핵심 기술들로 이루어졌습니다. 첫째는 트랜잭션 서명을 위한 비대칭 암호화 기술입니다. 둘째는 트랜잭션과 블록 해싱을 위한 해시 함수입니다. 세 번째는 트랜잭션을 블록으로 효율적으로 패키징하기 위해 Merkle Tree라는 기법을 사용하고 있습니다. 넷째는 이전 트랜잭션 조회를 위한 Key-Value Database입니다. 다섯 번째는 거래 및 블록 데이터 공유를 위한 P2P 통신 프로토콜입니다. 마지막으로는 컨센서스, 합의 달성을 위한 업무 증명 (Proof of Work) 기술입니다.

 

 

블록체인 원리

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 2

 

먼저, 앨리스와 밥의 학교에 총 1,000명의 학생들이 있고, 각 학생은 카페테리아에서 사용할 수 있는 5개의 동전을 가지고 있다고 상상합니다. 만약 은행 시스템과 같은 전통적인 방법을 사용하는 경우, 교사는 총 동전 수를 관리하고 각 학생이 별도로 가지고 있는 동전 수를 추적을 해야 합니다.

앨리스가 밥에게 두 개의 동전을 주고자 합니다. 이럴 때 거래는 교사를 통해 이루어집니다. 선생님은 모든 거래에 관여하게 됩니다. 오래된 방법에서는 앨리스가 교사의 원장을 조작하여 더 많은 동전을 얻을 수 있습니다. 또한, 모든 거래 내역은 교사에 의해서만 유지되기 때문에 교사가 좋아하는 학생들을 위해 동전 수를 변경할 수도 있습니다.

그러나 블록체인을 사용할 때, 우리는 더 이상 교사의 역할이 필요하지 않습니다. 즉, 신뢰할 수 있는 제 3자를 필요로 하지 않습니다. 블록체인 기반의 시스템에서 학생들은 모든 다른 사람의 거래 뿐만 아니라 동전 거래를 기록하기 위해 원장 사본을 가지고 있습니다.

블록체인에서 거래가 발생한 상황을 생각해 봅시다. 앨리스가 밥에게 두 개의 동전을 빌려주는 경우, 해당 거래는 각 원장에 기록하는 모든 학생에게 전송됩니다. 며칠 후 앨리스는 앨리스가 밥에게 동전 5개(2개 대신)를 빌려주는 것을 기록하기 위해 밥과 본인의 원장을 의도적으로 조작하려고 합니다. 거래된 동전의 수를 2에서 5로 변경하는 것입니다.

그러나 앨리스가 코인을 회수하려면 다른 학생의 50% 이상이 그녀가 코인 5개를 밥에게 빌려준 것에 동의해야 합니다. 이것이 바로 블록체인 시스템이 작동하는 방식입니다. 즉, 최소한 501개의 학생 원장(전체 학생의 51%)이 악의적인 조작을 위해 수정되어야 함을 의미합니다. 그녀는 다른 학생 원장의 51% 이상에 포함된 동일한 거래 기록을 변경했음이 틀림없습니다. 그리고 그것은 쉽지 않은 일입니다. 블록체인에서는 참여하는 전체 인구 (노드 수) 가 많을수록 조작하기가 더 어려워집니다.

 

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 3

 

블록체인은 왼쪽 그림에서 볼 수 있듯이 하나씩 차례로 연결된 블록 모음입니다. 이미지를 보면 빌딩 블록이 쌓여있는 것을 볼 수 있습니다. 이 새 블록은 이전에 구축된 블록체인의 뒷면에 추가되며, 이 과정은 정기적으로 반복됩니다. 예를 들어 비트코인의 경우에는 매 10분마다 새로운 블록이 생성됩니다.

 

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 4

 

그렇다면 블록체인에는 어떤 블록이 있을까요? 블록은 주어진 시간 동안 많은 트랜잭션 데이터를 포함하는 상자라고 생각할 수 있습니다. 새 블록이 만들어지면 이전 블록에 연결하기 위해 이전 블록에 대한 링크가 만들어집니다.

따라서 오른쪽 이미지에서 볼 수 있듯이 연결된 블록이 있는 블록체인이 형성이 됩니다. 이러한 연결된 블록은 영구적으로 저장되며 그 안에 있는 트랜잭션 레코드는 편집할 수가 없습니다. 요약하자면, 우리는 한 블록에 누가 얼마나 많은 코인을 누구에게 보냈는지에 대한 데이터를 포함합니다.

이 데이터를 트랜잭션이(거래)라고 하며, 자세한 내용을 보내려면 보낸 사람 계정 번호, 받는 사람의 계정 번호 및 보내는 금액이 필요합니다. 당사는 이러한 거래 기록을 여러 개 수집하여 저장용 상자에 보관합니다. 이 상자를 블록이라고 합니다.

 

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 5

 

이 그림에서 블록 01이 가득 차면 전체 블록의 해시가 작성됩니다. 해싱은 블록 상태의 특수 번호 변환입니다. 그것은 상자의 사진을 그대로 찍고 다음 블록에 그 그림을 넣는 것과 마찬가지입니다. 해시를 사용하는 이유는 해킹을 방지하기 위해서입니다.

블록 02의 해시 데이터 (사진)과 비교하면 내용이 약간 변경되면 해시가 변경되기 때문에 위조 여부를 확인할 수 있으므로 매우 중요합니다. 그런 다음 Box 02, Box 01 (해시) 및 트랜잭션 데이터가 기록된 후 Box 03은 그림 02를 다시 기록합니다. 이것은 결국 번호 01상자를 변경(해킹)해야 한다는 것을 의미합니다.

그런 다음 모든 상자의 그림을 변경하여 완벽한 위조를 만들어야 합니다. 궁극적으로 그렇게 많은 상자가 연결되어 있어 위조하기가 매우 어렵습니다.

 

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 6

 

이 슬라이드는 실제 블록체인에서의 전자 결제 전송을 보여줍니다.  거래 절차는 "거래 이전 → 송금 확인 → 송금 정산" 순으로 진행됩니다. 그림은 전송을 신청하고 전송을 확인하는 과정을 보여줍니다. A가 B한테 일부 비트코인을 전송하기 위해 전송 트랜잭션을 요청하면, 서명을 등록하고 네트워크로 전파합니다. 마이너가 그것을 발행하여 전파하는 블록에 삽입하면 전송 확인이 됩니다. 마지막으로 비트코인을 받은 사람이 전송 세부 사항을 승인하면 전송됩니다.

이전 및 이전 절차는 다음과 같이 요약할 수 있습니다. 1 단계, 한 사용자 A가 개인 키를 사용하여 전송 트랜잭션을 신청합니다. 2 단계, A의 전송 트랜잭션 세부 사항을 다른 트랜잭션 세부 사항과 함께 새 블록에 놓아 해시값을 계산합니다. 3 단계, 마이너는 타깃을 성공적으로 해시하고 이전 블록과의 연결을 위해 트랜잭션 A 기록을 포함하는 블록을 네트워크에 전파합니다. 4 단계, 네트워크 참여자는 수신된 블록의 유효성을 검사하고 합의에 도달할 수 있습니다. 5 단계, 이 트랜잭션이 담긴 블록이 이전 블록과 연결되어 있고 전송이 한 번 확인되었습니다. 6 단계, 전송 트랜잭션 A의 수신자가 전송 확인을 확인하면 트랜잭션이 완료되고 전송이 확인됩니다. 1~5 단계는 블록체인의 길이를 연장하면서 계속 반복됩니다.

비트코인 시스템은 전송을 확인하기 전에 각 전송에 총 6 (60분) 번의 전송 확인을 받아야 합니다. 이것은 악의적인 참가자의 피해를 막기 위한 것입니다. 거래 내역이 포함된 블록 다음에 5개의 블록이 추가로 연결되며, 수취인이 이체를 확인하면 트랜잭션이 완료됩니다.

 

 

블록체인 위조가 어려운 이유

 

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 7

 

먼저 블록체인 연결을 블록 스택과 비교했습니다. 마찬가지로, 우리는 블록을 레고 블록으로 묘사했고, 그것을 계속 만들었습니다. 빨간 레고 블록 옆의 중간에 녹색 레고를 어떻게 대체 할 수 있을까요? 중간에서 블록을 꺼낼 방법이 없습니다. 레고 블록을 교체하려면 모든 블록을 위에서부터 제거하고 블록을 원하는 블록으로 바꾼 다음 상단을 다시 만들어야 합니다. 이것이 블록체인을 위조하는 것이 어려운 이유입니다.

 

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 8

 

지금까지 90개의 블록이 생성되어 연결되었습니다. 이제 모든 참가자가 새로운 block 91에 대한 타당성 검사를 하고 있다고 가정할 때, 어떤 참가자가 block 74에서 트랜잭션 기록을 수정하고 싶다면, 블록을 조작해야 합니다. 따라서 17개 블록의 모든 컴퓨팅 비용을 지불해야합니다.

또한, 이 작업은 다른 참여자가 block 91을 완료하기 전에 수행되어야 하므로 트랜잭션 기록을 조작하는 것이 거의 불가능합니다. 지금까지 저는 블록체인 기술에 대해 설명하고 투명하고 불변인 데이터를 저장하는 것이 얼마나 좋은지를 설명했습니다.

 

 

블록체인의 특징

블록체인은 다음의 세 가지 특징을 통해 많은 산업 구조를 변화시킬 것입니다. 첫째, 관리는 분산 분권화입니다. 즉 decentralized management입니다.

 

블록체인 : 핵심 기술, 특징, 네트워크 동작 원리 9

 

이미지를 보면 전통적으로 중앙에서 검증되고 관리되는 조직이 있고 모든 거래가 중앙기관을 통해 이루어집니다. 그러나 블록체인을 사용하면 중앙 위치에서 트랜잭션을 확인하고 관리할 필요가 없으므로 중앙 본문이 제거되고 개인 간의 트랜잭션이 수행되며 모든 구성원이 트랜잭션의 유효성을 검사하기 위해 공동으로 구성됩니다.

둘째, 데이터의 공유. 전통적인 시스템은 모든 데이터를 중앙 집중식으로 저장 및 관리하는 플레이어 및 중앙 기관의 정보에 비대칭적인 문제가 있습니다. 그러나 블록체인 기술을 사용하면 모든 참가자가 동일한 데이터를 가질 수 있습니다. 참가자 간에 데이터를 공유함으로써 모든 거래의 투명성이 가능합니다. 그리고 그 데이터들은 시간적 순서대로 기록이 되어 있습니다.

셋째, 트랜잭션 데이터의 불변성. 데이터가 블록체인에 기록되면 해당 데이터를 제거하거나 수정할 수 없습니다. 이는 이중 지출 및 기타 부적절하고 불법적인 행동을 방지하는 데 매우 유용합니다.

 

 

참조

http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2021_T1/about 

 

블록체인 입문

블록체인과 암호화폐 기술을 깊이 배우기에 앞서, 비 전공자들도 이해를 할 수 있는 수준으로 블록체인과 암화화폐에 대한 high-level 설명 및 응용 예시를 제공하고 실제 상황에 적용할 수 있다.

www.kmooc.kr

 

반응형