안녕하세요 :)
알기쉬운 블록체인 4강 강의노트입니다.
이번 강에서 중요한 것은 블록체인의 4가지 정의와
소유권, 원장에 대한 개념을
확실히 이해하는 것이라 생각됩니다!
그럼 이번 강의노트도 많은 분들께 도움이 되었으면 좋겠습니다 :)!
제 4강 블록체인의 본질
4-1. 컴퓨터들의 협업
◈ 분산 P2P 시스템의 신뢰성과 무결성
• 분산 P2P 시스템 통제의 어려움
- 중앙의 통제 시스템에 대한 유무를 알 수 없는 사용자.
- 중앙의 통제를 거부하는 사용자
- ex) 고양이 무리 짓기 : 오라고 해도 오지 않을 수 있고 한 무리로 만드는 것이 쉽지 않다.
• 분산 P2P 시스템이 해결해야 할 주요 과제
1) 신뢰성
- 별도의 증명 없이 믿어주는 확고한 신념
- 사전에 형성된 이후, 지속적인 상호작용의 결과에 따라 변경
2) 무결성
- 시스템의 완결성, 일관성, 정확성, 안전성, 오류 없음
- 비기능적 측면
- 시스템에 대한 신뢰성에 영향을 줌
=> 시스템을 신뢰하는 사용자는 시스템에 참여해서 기여
지속적인 상호 결과를 통해 더 큰 신뢰가 형성되면 시스템의 구성원으로 남게 된다.
시스템의 무결성은 사용자의 기대를 충족시켜 시스템에 대한 신뢰를 높인다!
• 분산 P2P 시스템의 무결성 확보 방법은?
1) 전체 노드 또는 피어의 개수를 아는가?
2) 각 피어의 신뢰성에 대해 어느 정도 알고 있는가?
• 분산 P2P 시스템의 무결성 위협요소
1) 기술적 결함 : 분산시스템은 언제든지 고장이나 오류가 날 수 있다.
ex) 컴퓨터, 네트워크 장비 등
-> 기술적인 결함에 대한 대처방안 필요
2) 악의적 사용자 : 시스템을 개인의 이익을 위해 착취하려는 개인의 악의가 원인
-> 기술보다는 사회학적 측면에 연관
-> 시스템의 근간인 신뢰성을 공격하기 때문에 가장 심각한 위협요소
-> 신뢰를 잃는 순간 사용자 감소로 인한 시스템의 와해
◈ 무결성 측면에서 블록체인의 역할
• 블록체인의 과제
1) 최악의 조건을 가진 분산시스템에서의 무결성과 신뢰성 확보
2) 개수도 알려져 있지 않고, 신뢰성과 안전성도 알 수 없는 피어들로 구성된 순수 분산 P2P 시스템에서 무결성을 확보하고 유지
• 비잔틴 장군 문제 (Byzantine General Problem)
- 분산네트워크의 오류에 대처하는 방법을 논하기 위해 레슬리 램포트가 1982년 제기한 명제
- 여러 곳에 진지를 구축한 장군(프로세스)들은 공격이나 퇴각 명령을 주고받아 일사불란하게 전투함
- 문제는 반역자(오류나 악의적인 피어)가 섞여 있어서 메시지가 정확히 전달될 것이라는 보장을 못함
=> 단 하나의 합의된 진짜 명령어를 구분하는 방법이 필요
즉, 블록체인도 분산 시스템 환경에서 신뢰성, 무결성을 확보하는 것이 가장 중요한 과제다.
4-2. 블록체인의 정의
◈ 블록체인의 네 가지 의미
1) 데이터 구조의 명칭
- 데이터 구조(Data Structure) : 데이터를 저장하고 정리하는 방식 ex) 건물 설계도, 평면도
- 추상화된 데이터 구조
(i) Linked List : 1차원으로 연결된 데이터의 리스트
(ii) Stack : Last in First Out(LIFO) 구조의 Linked List (나중에 입력한 데이터를 먼저 꺼내는 구조)
(iii) Queue : Fist in Fist Out(FIFO) 구조의 Linked List (먼저 입력한 것을 먼저 꺼내는 구조)
(iv) Tree : 다차원으로 연결된 Linked List (부모 노드가 있고 밑으로 자식 노드가 있는 구조)
- 데이터 구조로서의 블록체인
: 블록 단위에 모인 데이터들이 체인처럼 서로 연결된 구조. 먼저 생성된 블록은 그 다음 블록을 연결하는 방식.
ex) 책의 각 페이지들이 정보를 담고 페이지 번호를 통해 서로 연결
2) 알고리즘의 명칭
- 알고리즘(Algorithm) : 어떤 문제를 해결하기 위해 컴퓨터가 실행해야 하는 일련의 명령어와 그 순서. 알고리즘 명령어는 데이터 구조의 특징을 활용하여 구성.
ex) 데이터 정렬 및 탐색, 임의 접근
- 어떤 알고리즘을 구현할때는 적용되는 데이터베이스의 특징까지도 생각해서 알고리즘을 구현.
- 알고리즘으로서의 블록체인
: 순수 분산 P2P 시스템에서 여러 블록체인 내의 정보를 합의된 방법을 써서 서로 협상하는 일련의 명령어를 의미. 분산 합의 알고리즘은 블록체인의 핵심 알고리즘.
서로 믿을 수 없는 노드들을 합의된 형태로 만드는 것이 분산 합의 알고리즘
Ex 1) 비잔틴 장군 문제
Ex 2) 식사하는 철학자들 문제 : 왼쪽에 있는 포크를 쓰느냐, 오른쪽에 있는 포크를 쓰느냐에 따라 편하게 식사를 할 수도 있고 각자의 포크를 찾지 못해서 불편한 식사를 할 수 있다. 합의된 방향의 포크를 쓰면 모두 편하게 식사를 할 수 있다.
-> 즉, 합의 알고리즘 없이는 분산되어 있는 사용자들이 공동의 목표를 가지고 합의된 형태의 행동을 수행할 수 없다.
3) 기술묶음의 명칭
- 기술묶음(Technology Suite)으로서의 블록체인
(i) 블록체인의 데이터 구조
(ii) 블록체인 알고리즘
(iii) 암호화 및 정보 보안 기술 등의 조합
=> 응용분야와 무관하게 분산 P2P 시스템의 무결성을 확보하는 데 이용
4) 순수 분산 P2P 시스템 (일반 응용분야를 가짐)
- 일반 응용분야를 가지는 순수 분산 P2P시스템으로서의 블록체인
: 블록체인 기술묶음을 활용하는 거래장부(원장, Ledger)들의 순수 분산 P2P 시스템을 지칭. 순수 분산 시스템의 한 소프트웨어 단위를 의미하는 것이 아닌 순수 분산 시스템 전체를 의미
◈ 블록체인의 정의와 응용
• 블록체인이란?
- 블록체인 기술묶음(Blockchain Technology)을 활용하는 원장의 순수 분산 P2P 시스템을 지칭하는 포괄적인 의미.
- 기술묶음이 아니라 데이터 구조나 알고리즘 환경에서 사용되는 경우는 명시적으로 블록체인 데이터 구조, 블록체인 알고리즘, 또다른 블록체인 기술묶음으로 이야기 할 예정
• 블록체인의 정의
- 목적 : 무결성을 확보하고 유지하기 위해
- 데이터 구조 : 순서에 따라 연결된 블록들의 정보 내용을
- 알고리즘 : 암호화 기법과 보안 기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어를 활용하는
- 시스템 : 원장의 순수 분산 P2P시스템
• 블록체인의 응용
- 소유권을 관리하고 명확하게 검증하는 것.
- 대표적인 응용분야가 암호화폐다. 암호화폐의 소유권을 관리하는 것은 자연스러운 블록체인의 응용분야의 하나일 뿐. 그 자체가 블록체인의 전부는 아니다.
-> 결국 블록체인은 보다 포괄적인 구조를 의미한다.
• 블록체인이 암호화폐의 소유권 관리 측면에서 부각된 이유는?
1) 이해하고 설명하기 쉬움
2) 경제에 가장 크게 영향을 미치는 실사례이기 때문
- 소유권 관리는 경제적 규모가 매우 큰 시장이다.
- 전통적인 금융과 관련된 시장에서 소유하고 관리하는 방식은 중앙 통제식으로 고정이 되어 있었다. 소유권을 관리하고 증명하는 방식을 다르게 바꿀 수 있다면 변혁에 대한 파급력은 엄청날 것이다.
- 따라서, 블록체인의 경우 그 동안의 소유권 관리 형태를 혁신적으로 변화시킬 수 있는 기술
=> 블록체인은 특정 재화와 상관없이 소유권을 관리하고 명료화하는 일반적인 환경에 적용 가능.
* 구체적으로 블록체인은 원장의 분산 P2P 시스템을 관리하는 기술묶음의 용도로 활용될 수 있고 디지털화할 수 잇는 재화를 소유권으로 관리하거나 암호화폐와 같은 특정 분야에 응용할 수 있다. 하지만, 특정한 응용분야에 국한된 것이 아니라 일반적인 환경에 적용 가능한 것이 중요한 사실이다.
4-3. 소유권의 개념
◈ 소유권 증명의 세 가지 요소
• 내가 가진 물건이 내 것이라는 것을 어떻게 증명할까?
- 집에서 가지고 온 사과 Vs. 가게에서 훔친 사과
- 목격자의 확보가 중요하다. 동일한 사실을 증언하는 독립적인 다수의 목격자가 있을수록 신뢰성이 높아진다.
=> 블록체인의 핵심 개념 중 하나!
• 소유권을 입증하는 세 가지 요소
1) 소유자가 누구인가 : 내가 나임을 증명하는 것
2) 소유 물건은 무엇인가 : 내가 가지온 사과
3) 소유자와 물건의 매핑(Mapping) : 내가 가지고 온 사과가 내 것이라는 것
=> 목격자의 증언은 이 모든 것을 증명하는 유일한 방법이다. But, 많은 시간 소모로 인해 신뢰 할 수 있는 기관이 발행한 문서로 대체를 한다.
• 사람에 대한 식별 Vs. 물건에 대한 식별
ex) 신분증, 출생증명서, 운전 면허증 등 / ex) 일련번호, 제조날짜, 제조 증명서, 상세설명서 등
- 사람과 물건은 불변함. (사과가 배로 바뀌지 않고, 비디오 장비가 오디오 장비로 바뀌지 않는다.)
- But, 소유자와 물건의 매핑은 변함. 소유관계 자체는 언제든지 변할 수 있다.
- 매핑에 대한 식별이 필요하다. ex)원장, 등기명부 등 – 소유권이 이전될 때마다 새롭게 기록함
• 소유권에 대한 증명 관리
1) 소유권에 대한 최신 원장, 명부 관리의 중요성으로 인한 특수기관 설립.
2) 소유물의 가치가 클수록 정부에서 직접 규제.
- 원장을 공공에 공개하여 소유권을 쉽게 검색, 증명하는 것도 필요하다.
- ex) 미국에서는 부동산, 특허, 배, 비행기, 회사 등의 소유권에 대한 원장, 결혼, 출생, 사망에 관한 등록을 정부가 관리.
• 소유권 개념 간의 상관관계
- 소유권 증명 : 자산과 소유자의 매핑, 사용자와 자산 자체가 맞는지 식별해야 함.
- 소유권 사용 : 소유권을 가지고 있는 사람이 맞는지 인증 -> 인증 받은 사용자가 합당한 소유 권한을 승인 받았는지 확인해야 한다. 즉, 비밀번호와 서명은 인증과 승인을 구현하기 위한 기능이다.
• 보안의 세 가지 개념
1) 식별(Identification)
- 식별자(이름 등)를 이용해 ‘누구’라고 주장하는 것
2) 인증(Authentication)
- 누군가가 그 사람이 주장한 ‘누구’와 서로 일치하는지 증명하는 것
- ex) ID/PW, 지문 등을 활용한 생체 인증
3) 승인(Authorization)
- 인증된 사람에 대해서 특정 자원이나 서비스에 대한 접근 권한을 부여하는 과정.
- 성공적인 인증 이후에 인증된 특정인이 가진 특성과 권리에 대한 평가를 토대로 얻는 최종 결과.
• 주류 판매
1) 운전면허증에 적힌 생년월일 확인
2) 와인을 살 권리가 있는지 판단
3)성인일 경우에만 와인을 판매
◈ 원장의 소유권과 블록체인
• 원장의 개념과 원칙
- 소유권 증명 : 원장에서 읽은 과거 데이터를 이용해 소유권을 증명
- 소유권 이전 : 소유권이 이전되는 경우 원장에서 신규 데이터를 생성하여 이 사실을 문서화
• 투명성과 개인정보가 가지는 상반된 속성
- 투명성은 누구나 쉽게 보고 검색할 수 있어야 한다. 반면에 개인정보는 프라이버시가 중요하여 다른 사람에게 노출되지 않기를 바라기 때문에 투명성과 대치되는 개념이다.
1) 투명성
- 원장이 누구에게나 공개되어 있으면 소유권의 증명은 훨씬 쉬어진다.
- 법정에서 목격자가 공개 증언하는 것과 비슷한 방법으로 투명성은 소유권을 증명하는 기초가 된다.
2) 개인정보 보호
- 소유권 이전은 법적인 소유자에게만 베타적으로 허용되어야 한다.
- 개인정보보호는 소유권 이전의 기초가 된다.
* 블록체인은 누구나 읽을 수 있게 개방된 원장과 유사한 데이터 구조를 가지는 거대한 분산 P2P 시스템.
• 원장의 소유권을 명확하게 만들 수 있는 방법은?
- 조작될 위험이 있는 원장을 하나만 유지하는 대신 원장의 순수 분산 PRP 시스템을 활용
- 다수의 노드가 동의하는 다수의 원장을 이용해 소유권을 확인
• 원장의 소유권 유지와 블록체인의 관련성
1) 소유권 관리를 위한 개별 원장은 블록체인-데이터 구조로 표현
2) 개별 원장들은 P2P 시스템의 컴퓨터(노드)에 저장
3) 블록체인-알고리즘은 개별 노드들이 공동의 일관된 소유권 상태에 합의할 수 있도록 해줌
4) 블록체인 시스템의 무결성을 통해 소유권에 대한 진실을 판단하게 만들어 줌
5) 암호화 기법을 통해 식별, 인증, 승인, 데이터 보안을 가능하게 만들어 줌
4강 강의 노트 끝-!
감사합니다 :)
*사진의 모든 출처 : http://www.kmooc.kr/
'Investment > Blockchain, Bitcoin' 카테고리의 다른 글
알기쉬운 블록체인 6강 : 블록체인과 암호기술I (0) | 2021.07.12 |
---|---|
알기쉬운 블록체인 5강 : 블록체인과 소유권 (1) | 2021.07.05 |
알기쉬운 블록체인 3강 : 블록체인과 소프트웨어 기술 (1) | 2021.06.28 |
알기쉬운 블록체인 2강 : 블록체인의 개요 (1) | 2021.06.23 |
알기쉬운 블록체인 1강 : 4차 산업혁명과 블록체인 (0) | 2021.06.23 |
댓글