블록 체인과 중앙 데이터베이스

블록 체인과 일반 데이터베이스의 XNUMX 가지 주요 차이점

이전 게시물을 읽었다면 이제 블록 체인이 단순히 새로운 유형의 데이터베이스. 즉, 중앙 관리자가 필요하지 않은 비 신뢰 당사자 그룹이 서면으로 직접 공유 할 수있는 데이터베이스입니다. 이는 일종의 분산 아키텍처가 벽 내에서 사용 되더라도 단일 엔터티로 제어되는 기존 (SQL 또는 NoSQL) 데이터베이스와 대조됩니다.

나는 최근에 주었다 대화 정보 보안의 관점에서 볼 때 블록 체인에 대해서는 블록 체인이 일반 데이터베이스보다 안전하고 다른 방법으로는 덜 안전하다고 결론 내 렸습니다. 고려 주역 중앙 집중식 데이터베이스가 오늘날의 기술 스택에서 작동한다는 점에서이 두 기술 간의 균형에 대해 더 광범위하게 생각하게되었습니다. 사실 누군가가 나에게 물을 때마다 멀티 체인 특정 목적으로 사용될 수 있습니다. 첫 번째 응답은 항상 "정기 데이터베이스를 사용하여 수행 할 수 있습니까?"입니다. 생각보다 많은 경우 다음과 같은 간단한 이유로 대답이 그렇습니다.

신뢰와 견고성이 문제가되지 않으면 일반 데이터베이스로는 불가능한 블록 체인이 없습니다.

이것은 오해가 많은 핵심 포인트입니다. 저장할 수있는 데이터 유형과 해당 데이터에 대해 수행 할 수있는 트랜잭션 측면에서 블록 체인은 새로운 작업을 수행하지 않습니다. 그리고 분명하게도,이 관찰은 섹시한 이름과 이미지에도 불구하고 "스마트 계약"으로 확장됩니다. 스마트 계약은 블록 체인의 모든 노드에서 실행되는 컴퓨터 코드에 지나지 않습니다. 저장 프로 시저 중앙 집중식 데이터베이스에 대해서도 동일합니다. (이 코드가 필요한 경우 블록 체인을 사용할 수도 없습니다 시작 외부 세계와의 상호 작용.)

블록 체인의 진실은 장점이 있지만 단점도 있다는 것입니다. 다시 말해, 대부분의 기술 결정과 마찬가지로 블록 체인과 일반 데이터베이스 간의 선택은 일련의 절충점에 이릅니다. 당신이 과대 광고에 눈이 멀고 소음에 귀를 기울이면, 그 선택을 객관적으로 만들 것 같지 않습니다. 다음 가이드가 도움이 되길 바랍니다.

중개 : 이점 블록 체인

블록 체인의 핵심 가치는 중앙 관리자가 필요없이 데이터베이스를 신뢰 경계를 통해 직접 공유 할 수 있도록하는 것입니다. 블록 체인 트랜잭션에는 이러한 제약 조건을 적용하기 위해 중앙 집중식 응용 프로그램 논리가 필요하지 않고 자체 유효성 증명과 자체 권한 증명이 포함되어 있기 때문에 가능합니다. 따라서 트랜잭션은 여러 "노드"에 의해 독립적으로 확인 및 처리 될 수 있으며 블록 체인은 해당 노드가 동기화 상태를 유지하도록 합의 메커니즘으로 작동합니다.

이 중개에 왜 가치가 있습니까? 데이터베이스는 단지 비트와 바이트이지만 그것은 또한 유형의 것입니다. 데이터베이스의 내용은 특정 컴퓨터 시스템의 메모리와 디스크에 저장되며 해당 시스템에 충분히 액세스 할 수있는 사람은 내부의 데이터를 손상 시키거나 손상시킬 수 있습니다. 결과적으로 데이터를 일반 데이터베이스에 위임하는 순간 사람의 해당 데이터베이스가 상주하는 조직.

이제 전 세계에는 정부와 은행 (대부분), 대학, 무역 협회, 심지어 Google 및 Facebook과 같은 개인 회사와 같은 신뢰를 얻은 조직이 가득합니다. 대부분의 경우, 특히 선진국에서는 이러한 기능이 매우 효과적입니다. 나는 내 투표가 항상 집계되었다고 생각하며, 은행이 내 돈을 도난 적이 없으며, 더 나은 성적을내는 방법을 찾지 못했습니다. 그래서 무엇이 문제입니까? 조직에서 중요한 데이터베이스를 제어하는 ​​경우 해당 데이터베이스가 변경되는 것을 방지하기 위해 많은 인력과 프로세스가 필요합니다. 사람들은 채용이 필요하고 프로세스를 설계해야하며이 모든 작업에는 많은 시간과 비용이 필요합니다.

따라서 블록 체인은 이러한 조직을 영리한 암호화로 잠겨있는 분산 데이터베이스로 대체 할 수있는 방법을 제공합니다. 이전과 마찬가지로, 그들은 점점 증가하는 컴퓨터 시스템의 용량을 활용하여 인간을 코드로 대체하는 새로운 방법을 제공합니다. 그리고 일단 코드를 작성하고 디버깅하면 코드가 훨씬 저렴 해지는 경향이 있습니다.

기밀성 : 중앙 집중식 데이터베이스 활용

앞에서 언급했듯이 블록 체인의 모든 노드는 모든 트랜잭션을 독립적으로 확인하고 처리합니다. 노드는 (a) 데이터베이스의 현재 상태, (b) 트랜잭션이 요청한 수정 및 (c) 트랜잭션의 출처를 증명하는 디지털 서명에 대한 완전한 가시성을 갖기 때문에이를 수행 할 수 있습니다. 이것은 데이터베이스를 설계하는 영리한 새로운 방법이며, 실제로 작동합니다. 캐치 어디있어? 많은 애플리케이션, 특히 재무 분야에서 모든 노드가 누리는 완벽한 투명성은 절대적인 문제입니다.

일반 데이터베이스에 구축 된 시스템은이 문제를 어떻게 피합니까? 블록 체인과 마찬가지로 특정 사용자가 수행 할 수있는 트랜잭션을 제한하지만 이러한 제한은 하나의 중심 위치. 결과적으로 전체 데이터베이스 내용은 여러 노드가 아닌 해당 위치에서만 볼 수 있습니다. 데이터 읽기 요청도이 중앙 기관을 통과하며,이 중앙 기관은 해당 요청을 적절하게 수락하거나 거부 할 수 있습니다. 즉, 일반 데이터베이스가 읽기 제어되는 경우 쓰기 제어, 블록 체인은 쓰기 제어 만 가능합니다.

공평하게,이 문제를 완화하기위한 많은 전략이 있습니다. 여기에는 여러 블록 체인 주소에서의 거래와 같은 간단한 아이디어부터 다음과 같은 고급 암호화 기술에 이르기까지 다양합니다. 기밀 거래제로 지식 증명 (현재 개발 중). 그럼에도 불구하고 블록 체인에 숨기려는 정보가 많을수록 거래를 생성하고 검증하는 데 드는 계산 부담이 커집니다. 이러한 기술의 개발 방식에 관계없이 데이터를 완전히 숨기는 간단하고 간단한 방법을 결코 능가하지 않습니다.

견고성 : 이점 블록 체인

블록 체인 기반 데이터베이스의 두 번째 장점은 내장 된 중복성으로 인한 극도의 내결함성입니다. 모든 노드는 모든 트랜잭션을 처리하므로 데이터베이스 전체에 개별 노드가 중요하지 않습니다. 마찬가지로 노드는 밀도가 높은 피어 투 피어 방식으로 서로 연결되므로 많은 통신 링크가 중단되기 전에 실패 할 수 있습니다. 블록 체인은 다운 된 노드가 누락 된 트랜잭션을 항상 따라 잡을 수 있도록합니다.

따라서 일반 데이터베이스는 많은 기술을 제공합니다. 복제블록 체인은이를 완전히 새로운 차원으로 끌어 올립니다. 시작을 위해 구성이 필요하지 않습니다. 일부 블록 체인 노드를 함께 연결하면 자동으로 동기화됩니다. 또한 준비 나 결과없이 노드를 네트워크에서 자유롭게 추가하거나 제거 할 수 있습니다. 마지막으로 외부 사용자는 트랜잭션을 임의의 노드 또는 여러 노드로 동시에 보낼 수 있으며 이러한 트랜잭션은 다른 모든 사람에게 자동으로 원활하게 전파됩니다.

이 견고성은 데이터베이스 가용성의 경제성을 변화시킵니다. 일반 데이터베이스를 사용하면 고가의 인프라와 재해 복구. 기본 데이터베이스는 다른 물리적 위치의 백업 시스템에 트랜잭션이 복제되어 문제에 대해 면밀히 모니터링되는 고급 하드웨어에서 실행됩니다. 기본 데이터베이스에 장애가 발생하면 (예 : 전원 차단 또는 치명적인 하드웨어 오류로 인해) 활동이 백업으로 자동 이동되어 새 기본 데이터베이스가됩니다. 장애가 발생한 시스템이 수정되면 필요할 때 새 백업으로 작동하도록 정렬됩니다. 이 모든 것이 가능하지만, 비싸고 악명 높은 것은 맞지 않습니다.

대신, 세계 각지에서 10 개의 블록 체인 노드가 모두 상용 하드웨어에서 실행되고 있다면 어떨까요? 이러한 노드는 서로 밀접하게 연결되어 피어 투 피어 기반으로 트랜잭션을 공유하고 합의를 보장하기 위해 블록 체인을 사용합니다. 트랜잭션을 생성하는 최종 사용자는이 노드 중 5 개에 연결하므로 몇 개의 통신 링크가 다운되는지는 중요하지 않습니다. 그리고 하루에 하나 또는 두 개의 노드가 완전히 실패하는 경우, 여전히 충분한 사본이 있기 때문에 아무도 느끼지 않습니다. 이런 저비용 시스템과 높은 중복성의 조합은 Google이 검색 엔진을 너무 싸게 만들었습니다. 블록 체인은 데이터베이스에 대해 동일한 작업을 수행 할 수 있습니다.

성능 : 중앙 집중화 된 데이터베이스 활용

블록 체인은 중앙 집중식 데이터베이스보다 항상 느립니다. 그것만이 아닙니다 오늘의 기술이 새롭고 최적화되지 않았기 때문에 블록 체인이 느리지 만 결과는 자연 블록 체인 자체의 트랜잭션을 처리 할 때 블록 체인은 일반 데이터베이스와 동일한 작업을 수행해야하지만 세 가지 추가 부담이 있습니다.

  1. 서명 확인. 모든 블록 체인 거래는 다음과 같은 공공-개인 암호화 체계를 사용하여 디지털 서명되어야합니다. ECDSA. 트랜잭션은 피어 투 피어 방식으로 노드간에 전파되므로 소스가 다른 방법으로 입증 될 수 없기 때문에 필요합니다. 이러한 시그니처의 생성 및 확인은 계산 상 복잡하며 제품과 같은 제품의 주요 병목을 구성합니다. 반대로, 중앙 데이터베이스에서는 연결이 설정되면 해당 요청을 개별적으로 확인할 필요가 없습니다.
  2. 합의 메커니즘. 블록 체인과 같은 분산 데이터베이스에서는 네트워크의 노드가 합의에 도달하도록 노력해야합니다. 사용 된 합의 메커니즘에 따라, 이는 상당한 전후 커뮤니케이션 및 / 또는 포크 및 그에 따른 롤백 처리를 포함 할 수 있습니다. 중앙 집중식 데이터베이스도 충돌 및 중단 된 트랜잭션과 충돌해야한다는 것이 사실이지만 트랜잭션이 단일 위치에서 대기하고 처리되는 경우는 훨씬 적습니다.
  3. 여분. 이것은 개별 노드의 성능에 관한 것이 아니라 블록 체인에 필요한 총 계산량입니다. 중앙 집중식 데이터베이스는 트랜잭션을 한 번 (또는 두 번) 처리하는 반면 블록 체인에서는 네트워크의 모든 노드에서 독립적으로 처리해야합니다. 동일한 결과에 대해 더 많은 작업이 수행되고 있습니다.

결론

당연히 블록 체인과 일반 데이터베이스를 비교할 수있는 다른 방법이 있습니다. 코드베이스 성숙도, 개발자 매력도, 생태계 폭 등에 대해 이야기 할 수 있습니다. 그러나 이러한 문제 중 어느 것도 고유의 기술 자체에. 따라서 블록 체인 사용에 대한 장기 결정에 관해서는 질문해야 할 것은 다음과 같습니다. 사용 사례에 더 중요한 것은 무엇입니까? 중개 및 견고성? 아니면 기밀성과 성능?

이 간단한 관점에서 살펴보면, 현재 논의중인 많은 유스 케이스 이해가되지 않습니다. 가장 큰 문제는 기밀 유지 경향이 있습니다. 치열한 경쟁이 치열한 시장의 참가자는 활동을 서로에게 공개하기보다는 중앙 집중식 데이터베이스의 개인 정보를 선호합니다. 신뢰할 수있는 중앙 당사자가 이미 존재하고 해당 데이터베이스가 상주 할 수있는 중립 영역을 제공 할 수있는 경우 특히 그렇습니다. 이 중앙 공급자와 관련된 비용이있을 수 있지만, 이는 개인 정보 보호의 가치에 의해 정당화되는 것 이상입니다. 블록 체인으로의 전환에 대한 유일한 동기는 공격적인 새로운 규제 일 것입니다.

그럼에도 불구하고 블록 체인에는 기밀 유지 및 성능보다 중개 및 견고성이 더 중요한 강력한 사용 사례가 있습니다. 다음 포스트에서 이것들에 대해 더 쓸 것입니다. 그러나 우리가 지금까지 본 가장 유망한 영역은 다음과 같습니다 : (a) 회사 간 감사 추적, (b) 출처 추적 및 (c) 경량의 금융 시스템. 세 가지 경우 모두 호기심과 실험보다는 배포에 대한 명확한 견해로 멀티 체인을 구축하는 사람들을 발견했습니다. 따라서 블록 체인이 비즈니스에 진정한 가치를 부여 할 수있는 방법을 찾고 있다면 시작하기에 좋은 곳 일 수 있습니다.

의견을 적어주세요 링크드 인에.

타임 스탬프 :

더보기 멀티 체인