응용계층: 사용자의 필요와 연관
구현계층: 요구사항 실현
기능적 측면 (동사) / 비기능적 측면 (부사)
<무결성>: 데이터 무결성, 작동 무결성, 보안
--> 모든 소프트웨어 시스템이 가지는 중요한 비기능적 측면
<시스템 아키텍처>: 분산시스템, 중앙통제 시스템 (두개를 합친 혼합시스템도 존재)
혼합시스템에서 분산시스템인지 구분할 대는 전체시스템을 동시에 종료할 수 있는 단일 구성요소가 있는지 찾아본다. (있다면 분산시스템이 아니다.)
p2p 시스템: 모두가 자원의 공급자인 동시에 소비자 (분산시스템의 한 종류)
“사용자들의 컴퓨터를 분산 시스템을 구성하는 노드로 만든다.”
블록체인은 분산시스템이 무결성을 확보하게 해주는 도구이다. (블록체인의 목적은 분산시스템의 무결성을 구현하고 유지하는 것이다.)
무형의 상품이나 디지털화된 상품 또는 서비스를 중개하는 역할을 주업으로 하는 산업은 모두 p2p로 대체될 가능성이 높다. - ex) 음악산업, 금융업
p2p 시스템은 탈중개화를 가능하게 해준다.
순수분산 p2p 시스템은 무결성의 확보와 유지를 위해 블록체인 시스템을 사용한다.
전체 노드 또는 피어의 개수를 아는가?
각 피어의 신뢰성에 대해 어느정도 알고있는가?
기술적 결함, 악의적 피어는 p2p 시스템의 무결성을 위협한다.
--> 블록체인이 해결해야할 핵심문제.
블록체인의 가장 중요한 응용사례는 소유권을 관리하고 명확화하는 것이다. 그러나 그것만이 블록체인의 전부는 아님.
“블록체인이란 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들의 정보 내용을 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어요소를 활용하는 원장의 순수분산 p2p 시스템이다.”
<보안의 3가지 개념>
식별 – 누구라고 주장하는 것
인증 – 당신과 당신이라고 주장하는 누군가가 일치하는지 증명하는 것
승인 – 사전에 인증된 개체에 대해 무엇인가에 대한 접근을 허가하는 것.
소유권 증명에는 소유자의 식별, 소유 물건의 식별, 소유자와 물건의 매핑 이렇게 3단계가 필요하다.
하나의 원장만 가지고 있는 것은 훼손이나 위조의 위험이 있기 때문에 하나의 중앙 통제된 원장 대신 소유권을 기록하는 개별 원장들의 그룹을 형성한 뒤 대다수의 개별 원장이 동의하는 진실을 사용해 소유권을 관리할 수 있다.
블록체인 – 데이터 – 구조를 사용하면 원장의 순수 분산 P2P 시스템을 구축할 수 있다. 각 블록테인- 데이터 구조는 하나의 원장을 나타내고, 시스템 내의 노드에 의해 관리된다. 블록체인-알고리즘은 개별노드들이 하나의 일관된 소유권 상태에 집단적으로 도달하게 해준다. 식별, 인증, 승인은 암호화 기법을 사용해 구현한다.
원장의 순수분산 p2p 시스템의 무결성은 소유권에 대한 신뢰할 수 있는 판단이 가능하도록 해주고, 법적으로 허가된 소유자만 자산의 소유권을 타인에게 이전할 수 있도록 보장한다.
<이중사용 문제>
1) 디지털 재화를 복사해 발생하는 문제
: 컴퓨터 데이터는 별다른 제약없이 복사가 가능함.
--> 디지털 재화를 나타내는 데이터와 소유자를 매핑하는 수단만 있으면 해결가능.
2) 원장의 분산 p2p 시스템에서 발생하는 문제
:모든 요소들이 정보를 전달받기까지 시간이 걸리는 문제로 인해 일부 피어가 상이한 소유권 정보를 가지는 상황
--> 블록체인이 이 이중사용 문제를 없애주는 해결책
3) 순수 분산 p2p 시스템의 무결성이 침해된 사례
: 이중사용 문제는 시스템의 무결성이 침해된 특정 사례로 이해할 수 있다.
--> 상황에 맞는 시스템 아키텍쳐 활용
즉, 블록체인이 이중사용 문제를 해결하는 해결책이다.
출처: 블록체인 무엇인가? (다이엘 드레셔)