💡 기존 시스템과 블록체인의 보안적 특징
기존 데이터베이스는 클라이언트-서버 아키텍쳐를 사용한다. 클라이언트는 중앙 서버에 저장된 데이터를 수정할 수 있고, 데이터베이스 관리자는 사용자가 데이터베이스에 대한 권한을 가지고 있는지 확인한 후 접근을 허용한다. 즉, 관리자에게 데이터베이스에 대한 통제권이 있는 것이다. 악의적인 해커에 의해 데이터베이스 관리자 계정을 탈취당하면, 데이터베이스가 악의적인 해커에 의해 임의로 조작될 수 있기 때문에 무결성이 깨질 수 있다. 따라서, 기존 데이터베이스에서는 데이터베이스의 무결성과 투명성을 관리자가 보장해야 하기 때문에, 관리자 계정이 탈취되는 등 관리자에게 문제가 생기는 경우 데이터베이스에 큰 보안적 위험이 생긴다.
그러나, 블록체인은 분산 시스템이기 때문에 각 노드들이 블록체인 사본을 가지고 있으며, 일부 노드에 문제가 발생해도 전체 블록체인 네트워크의 무결성은 보장된다. 또한, 기존 데이터베이스에서 클라이어트는 데이터베이스 관리자가 부여한 권한에 따라 CRUD라고 불리는 데이터 생성, 읽기, 업데이트 삭제 작업을 수행한다. 그러나 블록체인의 모든 노드는 오직 데이터를 읽거나 추가할 수 만 있다. 이전의 모든 데이터는 영구적으로 저장되며, 한 번 기록된 데이터는 변경하거나 삭제할 수 없다.
결론적으로, 기존 데이터베이스는 중앙 통제 방식이기 때문에 관리자라는 단일 공격 지점이 존재한다. 만약 해커가 관리자를 공격하는 데 성공한다면 데이터베이스 권한을 얻게 되기 때문에 해커가 데이터를 파괴하거나 변조할 수 있다. 따라서 사용자는 데이터베이스 관리자의 보안 인프라에 의존해야 하며, 데이터베이스 관리를 위한 보안 유지 비용이 소모될 수 밖에 없다. 반면, 블록체인 기술은 분산 데이터 저장 방식을 사용하기 때문에 단일 공격 지점이 없고, 위와 같은 문제를 사전에 차단한다.
✓ 블록체인의 보안적 특징
1. 데이터 무결성
- 무결성은 데이터베이스가 정확성과 일관성을 유지하는 것을 의미한다.
- 블록체인에서는 합의 알고리즘을 사용해 데이터의 무결성을 보장한다. 합의 알고리즘을 통해 블록에 입력된 데이터에 대해 분산된 각 노드들이 모두 동일한 결과를 가질 수 있도록 한다. 만약 네트워크에 악의적인 노드가 참여하더라도, 합의를 통해 노드가 블록을 변조하지 못하도록 하여 전체 네트워크의 신뢰도를 감소시키지 않도록 한다.
- 다시 말해, 합의 알고리즘은 네트워크 상에 존재하는 신뢰할 수 없는 노드들이 절차에 맞게 상호 검증하여 네트워크 전체의 무결성을 보장하는 알고리즘이다.
2. 거래 투명성
- 퍼블릭 블록체인의 경우, 누구나 블록체인 네트워크에 접속해 트랜잭션 기록을 확인할 수 있다. 프라이빗 블록체인도 허가된 사용자라면 누구나 트랜잭션 기록을 볼수 있다.
-거래 기록에 누구나 공개적으로 접근할 수 있기 때문에, 송금 과정을 투명하게 하기 위한 규제 비용을 절감할 수 있다.
3. 감시 가능성
- 블록체인은 데이터 추가만 가능한 데이터베이스로, 한 번 블록이 체인에 올라가면 블록에 담겨있는 트랜잭션이나 데이터는 수정할 수 없다.
- 이 과정에 사용되는 핵심적인 기술이 바로 해시 알고리즘이다. 새로 생성되는 블록의 헤더에는 이전 헤더의 해시 값이 포함되어 있기 때문에, 연결된 모든 블록의 무결성 검증에 사용된다.
- 블록에 담긴 트랜잭션을 나타내는 머클 트리의 루트 해시값이 블록 헤더에 함께 포함되어 있으며, 만약 트랜잭션에 변경이 일어나면 머클 해시 값이 변경되므로, 블록체인에 대한 위변조 시도를 바로 발견할 수 있다.
'블록체인 > 블록체인이란?' 카테고리의 다른 글
SSI는무엇일까? SSI와 DDI, SSI 개념, SSI 요소 (0) | 2022.07.26 |
---|---|
DID는 무엇일까?! (0) | 2022.07.25 |
HD 지갑이란? HD 지갑의 구조 (0) | 2022.07.22 |
Minting 플랫폼 (0) | 2022.07.21 |
OpenSea에서의 NFT 거래 (0) | 2022.07.21 |
댓글