분산 데이터베이스와 분산 원장에 대해 이해할 수 있다.
분산 데이터베이스의 특징과 장단점을 이해할 수 있다.
분산 데이터베이스의 대표적 기술인 클러스터링, 레플리케이션, 샤딩을 이해할 수 있다.
분산 데이터베이스와 블록체인의 차이점을 이해할 수 있다.
분산 원장 기술에 대해 이해할 수 있다.
세그윗의 동장 방식을 이해할 수 있다.
세그윗이 어떤 문제를 해결했는지 이해할 수 있다.
머클트리의 동작 방식을 이해할 수 있다.
블록체인에서 머클트리가 어떻게 동작하는지 이해할 수 있다.
장점
서버의 수평정 확장이 가능
스캔 범위를 줄여주기 때문에 쿼리 반응 속도가 빨라진다.
단점
각 노드 간의 데이터 동기화 보장이 어려움
Master 노드가 다운되면 복구 및 대처가 어려움
투명한 분산
분산 데이터베이스를 사용할 때는 마치 하나의 데이터베이스를 사용하는 것처럼 CRUD 작업을 수행할 수 있어야 한다.
따라서 분산 데이터베이스를 구현할 때는 하나처럼 사용하되, 실제로는 분산된 형태를 가질 수 있도록 해야 하기 때문에 구현 방법이 복잡하다.
투명한 트랜잭션
각 트랜잭션은 다중 데이터베이스에 걸쳐 일관성을 보장해야 한다. 트랜잭션은 일반적으로 여러 하위 트랜잭션으로 분리된 개별 서브 트랜잭션이 하나의 데이터베이스에 대응한다.
(퍼블릭 블록체인을 기준으로 한다.)
Segregated Witness의 약자로서, 비트코인의 블록에서 디지털 서명 부분을 분리함으로써 블록당 저장 용량을 늘리는 소프트웨어 업그레이드를 말한다.
기존의 비트코인의 블록 구조는 다음과 같다.
디지털 서명 데이터를 별도의 공간에 저장하고, 대신 블록에 더 많은 트랜잭션을 담자는 세그윗이라는 제안이 나왔다.
세그윗의 특징
여러 데이터에 대해 단계적으로 해시함수를 적용하여 하나의 해시값으로 나타내는 데이터 구조
머클 트리는 블록체인에 있는 데이터의 위변조를 방지하고,데이터가 변하지 않았음을 보장하는 데 사용된다.
데이터 C가 변경될 경우 머클 루트 값까지 전부 바뀌게 된다.
머클 트리는 해시 함수의 충돌저항성을 활용하여 여러 데이터의 집합 중 단 하나라도 변경되었는지 찾을 수 있다.
블록 헤더의 머클 루트는 어떻게 나온 값인가?
트랜잭션을 사용해 머클 트리를 만들고,그 결과를 나온 머클 루트 값이다.