무의미한 블록 체인 프로젝트 피하기

실제 블록 체인 사용 사례를 찾았는지 확인하는 방법

블록 체인이 과대 광고되었습니다. 나는 말했다. 에서 시보스moneyxnumx / 20 의 이야기를 다루기 위해 이코노미 스트유로 머니, 모두가 블록 체인 마차를 타고 올라가는 것 같습니다. 그리고 우주의 다른 사람들과 마찬가지로 의심의 여지없이 우리는 개념 증명을 구축하는 회사가 급증하고 있습니다. 우리의 플랫폼 도움을 요청하십시오.

젊은 신생 기업으로서, 우리는 달 위에있을 것이라고 생각할 것입니다. 확실히 지금 많은 돈을 모으고 우리가 이미 설계 한 고성능 차세대 블록 체인 플랫폼을 구축 할 때입니다. 우리는 지구상에서 무엇을 기다리고 있습니까?

내가 말해 줄게 우리는 블록 체인의 위치를 ​​명확하게 이해하기 위해 기다리고 있습니다 진정으로 엔터프라이즈 IT에 가치를 더하십시오. 이 들어오는 프로젝트의 많은 부분이 블록 체인과 전혀 관련이 없습니다.. 그 방법은 다음과 같습니다. 대기업은 블록 체인이 다음 큰 일이라고 들었습니다. 대기업은 내부적으로 주제에 관심이있는 사람들을 찾습니다. 대기업은 그들에게 예산을 제공하고 블록 체인을 수행하라고 지시합니다. 머지 않아 그들은 문을 두드리고 달러 지폐를 흔들며 us 도움이 그들 유스 케이스를 생각해보십시오. 지금 뭐라고 말해?

프로젝트를 염두에 둔 사람들은 무엇이 문제입니까? 대부분의 경우 프로젝트를 완벽하게 구현할 수 있습니다 규칙적인 관계형 데이터베이스 사용. 알다시피, 큰 철제 거대 신탁SQL 서버또는 더 열린 마음으로 MySQL의포스트그레스. 먼저 똑바로 설정하여 시작하겠습니다.

오늘날의 관계형 데이터베이스로 요구 사항이 충족되면 블록 체인을 사용하는 것이 미친 듯합니다.

왜? Oracle 및 MySQL과 같은 제품은 수십 년간 개발되어 있기 때문입니다. 이들은 수조 개의 쿼리를 실행하는 수백만 대의 서버에 배포되었습니다. 그들은 지구상에서 가장 철저하게 테스트되고 디버깅되고 최적화 된 코드를 포함하여 땀을 흘리지 않고 초당 수천 건의 트랜잭션을 처리합니다.

그리고 블록 체인은 어떻습니까? 잘, 우리의 제품 최초의 시장 중 하나였으며, 몇 천 번의 다운로드로 정확히 5 개월 동안 제공되었습니다. 실제로 우리는 그것을 구축했기 때문에 매우 안정적입니다. 비트 코인 코어비트 코인을 구동하는 소프트웨어. 하지만 그럼에도, 이 전체 제품 범주는 여전히 기저귀에 있습니다..

블록 체인이 쓸모 없다고 말하는가? 절대적으로하지. 하지만 반짝이는 블록 체인 프로젝트를 시작하기 전에 다음과 같은 명확한 아이디어가 필요합니다. 왜 블록 체인을 사용 하는가. 충족해야 할 조건이 많이 있습니다. 그렇지 않은 경우에는 드로잉 보드로 돌아 가야합니다. 프로젝트를 더 잘 정의 할 수 있습니다. 또는 블록 체인이 전혀 필요 없으므로 모든 사람에게 많은 시간과 비용을 절약 할 수 있습니다.

1. 데이터베이스

첫 번째 규칙은 다음과 같습니다. 블록 체인은 공유 데이터베이스. 따라서 데이터베이스를 사용하는 이유를 아는 것으로 시작해야합니다. 즉, 구조화 된 정보 저장소를 의미합니다. 이것은 전통이 될 수 있습니다 관계형 데이터베이스스프레드 시트와 유사한 테이블이 하나 이상 포함되어 있습니다. 아니면 더 유행이 될 수 있습니다 NoSQL 파일 시스템이나 사전처럼 작동하는 다양성. 이론 상으로는 NoSQL 데이터베이스는 관계형 데이터베이스의 하위 집합 일뿐입니다.

금융 자산의 원장은 자연스럽게 데이터베이스 테이블로 표현 될 수 있습니다. 각 테이블은 하나의 특정 엔티티가 소유 한 하나의 자산 유형을 나타냅니다. 각 행에는 (a) 계좌 번호와 같은 소유자의 식별자, (b) "USD"또는 "AAPL"과 같은 자산 유형의 식별자 및 (c) 해당 자산이 보유한 자산의 수량 소유자.

데이터베이스는 "트랜잭션"을 통해 수정되며, 이는 데이터베이스 전체에 대한 승인 또는 거부되어야하는 일련의 데이터베이스 변경 사항을 나타냅니다. 예를 들어, 자산 원장의 경우 한 사용자에서 다른 사용자로의 지불은 한 행에서 적절한 수량을 차감하여 다른 행에 추가하는 트랜잭션으로 표시됩니다.

2. 여러 작가

이것은 쉽다. 블록 체인은 여러 작성자가있는 데이터베이스. 즉, 데이터베이스를 수정하는 트랜잭션을 생성하는 둘 이상의 엔티티가 있어야합니다. 이 작가들이 누군지 아십니까?

대부분의 경우 작성자는 데이터베이스의 사본을 보유하고 트랜잭션을 다른 노드로 릴레이하는 "노드"를 실행합니다. 피어 - 투 - 피어 패션. 그러나 노드 자체를 실행하지 않는 사용자가 트랜잭션을 작성할 수도 있습니다. 예를 들어 소규모 은행 그룹이 총체적으로 관리하지만 모바일 장치에 수백만 명의 최종 사용자가 있고 자신의 은행 시스템과 만 통신하는 지불 시스템을 고려하십시오.

3. 신뢰의 부재

그리고 이제 세 번째 규칙입니다. 여러 엔티티가 데이터베이스에 쓰는 경우 어느 정도의 엔티티가 있어야합니다. 불신 그 엔티티 사이. 다시 말해, 블록 체인은 신뢰할 수없는 여러 작성자가있는 데이터베이스.

불신은 시장에서 거래하는 은행이나 공급망에 관련된 회사와 같은 별도의 조직 사이에서만 발생한다고 생각할 수 있습니다. 그러나 그것은 또한 존재할 수 있습니다 하나의 큰 조직 내예를 들어 부서 또는 다른 국가의 운영간에

불신이 구체적으로 무엇을 의미합니까? 한 사용자가 자신이 "소유하는" 데이터베이스 항목을 다른 사용자가 수정하도록 허용하지 않는다는 의미입니다. 마찬가지로, 데이터베이스의 내용을 읽는 것과 관련하여 한 사용자는 다른 사용자가 보고한 "진리"를 복음으로 받아들이지 않을 것입니다. 왜냐하면 각 사용자는 경제적 또는 정치적 인센티브가 다르기 때문입니다.

4. 중개

따라서 지금까지 정의 된 바와 같이 문제는 여러 비 신뢰 작성기가있는 데이터베이스를 활성화하는 것입니다. 이 문제에 대한 잘 알려진 해결책이 이미 있습니다. 신뢰할 수있는 중개자. 즉, 모든 작가가 서로를 완전히 신뢰하지 않더라도 모든 작가가 신뢰하는 사람입니다. 실제로, 세계는 은행의 계좌 장부와 같은 이러한 성격의 데이터베이스로 가득 차 있습니다. 당신의 은행 데이터베이스를 제어 모든 거래가 유효하고 자금이 이동하는 고객의 승인을 받도록합니다. 아무리 정중하게 요청하더라도, 은행은 절대 데이터베이스를 직접 수정할 수 없습니다.

블록 체인을 사용하면 신뢰할 수있는 중개자가 필요하지 않습니다. 신뢰할 수없는 여러 작성자가있는 데이터베이스를 직접 수정. 트랜잭션을 확인하고 소스를 인증하기 위해 중앙 게이트 키퍼가 필요하지 않습니다. 대신, 거래의 정의는 권한 증명 및 유효성 증명을 포함하도록 확장됩니다. 그러므로 거래는 모든 노드에서 독립적으로 확인 및 처리 데이터베이스 사본을 유지 보수합니다.

그러나 당신이 물어볼 질문은 : 이 중개를 원하십니까? 유스 케이스를 고려할 때 신뢰할 수있는 데이터베이스를 유지 관리하고 트랜잭션 게이트 키퍼 역할을하는 중앙 당사자가있는 데 문제가 있습니까? 신뢰할 수있는 중개자보다 블록 체인 기반 데이터베이스를 선호하는 좋은 이유는 비용 절감, 빠른 거래, 자동 화해, 새로운 규정 또는 적절한 중개자를 찾을 수없는 간단한 능력.

5. 거래 상호 작용

따라서 블록 체인은 서로를 완전히 신뢰하지 않고 해당 데이터베이스를 직접 수정하는 여러 작성자가 공유하는 데이터베이스에 적합합니다. 그러나 여전히 충분하지 않습니다. 블록 체인은 실제로 거래 간 상호 작용 이 작가에 의해 만들어졌습니다.

상호 작용이란 무엇을 의미합니까? 최대한의 의미에서 이것은 다른 작성자가 만든 트랜잭션이 종종 서로 의존한다는 것을 의미합니다. 예를 들어, Alice가 Bob에게 자금을 보낸 다음 Bob이 Charlie에게 자금을 보낸다고 가정 해 보겠습니다. 이 경우 Bob의 트랜잭션은 Alice의 트랜잭션에 의존하며 Alice의 첫 번째를 확인하지 않고 Bob의 트랜잭션을 확인할 방법이 없습니다. 이러한 의존성 때문에 트랜잭션은 자연스럽게 단일 공유 데이터베이스.

더 나아가서, 블록 체인의 멋진 기능 중 하나는 트랜잭션을 만들 수 있다는 것입니다 여러 작가가 공동으로어느 당사자도 위험에 노출되지 않습니다. 이것이 허용하는 것입니다 배송 대 결제 신뢰할 수있는 중개자를 요구하지 않고 블록 체인을 통해 안전하게 수행됩니다.

서로 다른 작성자의 트랜잭션이 독립적 인 경우에도 서로 상관 관계가있는 상황에 대해서도 좋은 사례가 될 수 있습니다. 하나의 예는 여러 엔티티가 소비자 ID의 다른 측면을 검증하는 공유 ID 데이터베이스 일 수 있습니다. 이러한 각 인증은 독립적이지만 블록 체인은 모든 것을 통합 된 방식으로 통합하는 유용한 방법을 제공합니다.

6. 규칙을 설정

이것은 실제로 조건이 아니라 이전 시점의 피할 수없는 결과입니다. 여러 작성자가 직접 데이터베이스를 수정했으며 해당 작성자가 서로를 완전히 신뢰하지 않는 경우 데이터베이스에 포함 규칙이 포함되어야합니다. 수행 된 거래 제한.

이 규칙은 기본적으로 제약 기존 데이터베이스와 관련이 있기 때문에 변형의 적법성 특정 시점의 데이터베이스 상태가 아니라 모든 트랜잭션은 네트워크의 모든 노드에서 이러한 규칙에 따라 검사되며 실패한 트랜잭션은 거부되고 릴레이되지 않습니다.

자산 원장에는 이러한 유형의 규칙에 대한 간단한 예가 포함되어있어 트랜잭션이 자산을 외부에서 생성하는 것을 방지합니다. 규칙은 원장에있는 각 자산의 총 수량이 모든 거래 전후에 동일해야한다고 명시하고 있습니다.

7. 유효성 검사기를 선택하십시오

지금까지 트랜잭션이 여러 곳에서 발생하고 피어 투 피어 방식으로 노드간에 전파되며 모든 노드에서 독립적으로 확인되는 분산 데이터베이스에 대해 설명했습니다. 그렇다면“블록 체인”은 어디로 들어오는가? 글쎄, 블록 체인의 직업은 신뢰할 수있는 최종 거래 로그모든 노드가 그 내용에 동의 할 것입니다.

이 로그가 왜 필요한가요? 첫째, 새로 추가 된 노드가 다른 노드를 신뢰할 필요없이 처음부터 데이터베이스의 내용을 계산할 수 있습니다. 둘째, 시스템 다운 타임 또는 통신 결함으로 인해 일부 노드에서 일부 트랜잭션이 누락 될 수있는 가능성을 해결합니다. 트랜잭션 로그가 없으면 한 노드의 데이터베이스가 다른 노드의 데이터베이스와 분리되어 공유 데이터베이스의 목표가 손상됩니다.

셋째, 두 개의 트랜잭션이 충돌하여 하나의 트랜잭션 만 허용 될 수 있습니다. 고전적인 예는 이중 지출 동일한 자산이 서로 다른 두 명의 수신자에게 전송됩니다. 중앙 권한이없는 피어 투 피어 데이터베이스에서 노드는 어떤 트랜잭션을 승인해야하는지에 대한 의견이 다를 수 있습니다. 객관적인 정답 없음. 블록 체인에서 트랜잭션을 "확인"하도록 요구함으로써 모든 노드가 동일한 결정에 수렴되도록합니다.

마지막으로 이더리움스타일 블록 체인 주문하기 모든 거래는 일어나는 일에 영향을 미치다 이후의 모든 것에서. 이 경우 블록 체인은 트랜잭션을 전혀 처리 할 수없는 권위있는 연대기를 정의합니다.

블록 체인은 말 그대로 블록 체인으로, 각 블록에는 그룹으로 확인되는 일련의 트랜잭션이 포함됩니다. 그러나 각 블록에 들어가는 거래를 선택할 책임은 누구에게 있습니까? 엔터프라이즈 응용 프로그램에 적합한 "개인 블록 체인"의 종류에 대한 답은 자신이 만든 블록에 디지털 서명을하는 폐쇄 된 유효성 검사기 ( "광부")입니다. 이 화이트리스트는 일부 형태의 분산 합의 체계와 결합되어 소수의 검증자가 체인 제어를 장악하지 못하게합니다. 예를 들어, MultiChain은 광업 다양성허용 된 광부들이 라운드 로빈 작동하지 않는 노드를 허용하는 어느 정도의 leniency가있는 패션.

어떤 합의 체계가 사용 되더라도 유효성 검사 노드는 기존의 중앙 집중식 데이터베이스 소유자보다 훨씬 적은 전력을 사용합니다. 유효성 검사기는 규칙을 위반하여 트랜잭션을 위조하거나 데이터베이스를 수정할 수 없습니다. 자산 원장에서는 다른 사람의 돈을 쓸 수 없으며 대표 자산의 총 수량을 변경할 수 없습니다. 그럼에도 불구하고 유효성 검사기가 데이터베이스 내용에 과도하게 영향을 줄 수있는 두 가지 방법이 여전히 있습니다.

  • 거래 검열. 유효성 검사기가 충분히 악의적으로 충돌하는 경우 블록 체인에서 특정 트랜잭션이 확인되는 것을 막아 영구적으로 림보로 남길 수 있습니다.
  • 바이어스 된 충돌 해결. 두 트랜잭션이 충돌하면 다음 블록을 생성하는 유효성 검사기가 블록 체인에서 확인 된 트랜잭션을 결정하여 다른 트랜잭션을 거부합니다. 공정한 선택은 처음에 본 거래일 것이지만, 검증 인은이를 밝히지 않고 다른 요소를 기반으로 선택할 수 있습니다.

이러한 문제로 인해 블록 체인 기반 데이터베이스를 배포 할 때 다음과 같은 명확한 아이디어가 필요합니다. 검증 인은 누구이며 왜 신뢰하는지혼자가 아니라면 집합 적으로. 사용 사례에 따라 유효성 검사기는 (a) 단일 조직에서 제어하는 ​​하나 이상의 노드, (b) 체인을 유지 관리하는 핵심 조직 그룹 또는 (c) 네트워크의 모든 노드로 선택할 수 있습니다.

8. 자산을 백업

지금까지 살펴본 적이 있다면 블록 체인을보다 일반적인“공유 원장”이 아닌 공유 데이터베이스라고 부르는 경향이 있음을 알게 될 것입니다. 왜? 기술로서 블록 체인은 자산 소유권 추적을 넘어서는 문제에 적용될 수 있습니다. 여러 개의 비 신뢰 작성기가있는 데이터베이스는 중앙 중개자없이 블록 체인을 통해 구현할 수 있습니다. 예를 들어 공유 캘린더, 위키 스타일 협업 및 토론 포럼이 있습니다.

지금까지 블록 체인은 주로 금융 자산의 이동 및 교환을 추적하는 사람들에게 관심이있는 것 같습니다. 나는 두 가지 이유를 생각할 수있다 : (a) 금융 부문이 비트 코인과 같은 암호 화폐의 (돌이켜 보면, 사소한) 위협에 대응하고 있으며, (b) 자산 원장은 공유 데이터베이스의 가장 단순하고 자연스러운 예입니다 여러 비 신뢰 엔티티에 의해 작성된 상호 의존 트랜잭션.

블록 체인을 자산 원장으로 사용하려면 추가로 중요한 질문에 대답해야합니다. 자산의 성격은 무엇입니까? 이것은 물론 현금이나 채권 또는 선하 증권을 의미하는 것이 아니라 물론 중요합니다. 문제는 오히려 : 블록 체인에 표시된 자산 뒤에 누가 있습니까? 데이터베이스에 내가 10 단위의 물건을 소유하고 있다고 말하면 누가 10 단위를 청구 할 수 있습니까? 현실 세계에서? 블록 체인에 쓰여진 것을 전통적인 물리적 자산으로 변환 할 수 없다면 누가 고소합니까? (이것 좀 봐 자산 계약 예를 들어.)

물론 대답은 사용 사례에 따라 다릅니다. 화폐 자산의 경우, 관리 은행이 전통적인 형태의 현금을 수락 한 다음 블록 체인 기반 분산 원장에 예금자의 계좌를 입금하는 것을 상상할 수 있습니다. 무역 금융에서 신용장과 선하 증권은 수입 은행과 해운 회사가 각각 지원합니다. 그리고 앞으로 더 많은 시간을 상상할 수 있습니다. XNUMX 차 발행 회사채는 자금을 조달하고자하는 회사에 의해 블록 체인에서 직접 이루어집니다.

결론

소개에서 언급했듯이 프로젝트가 충족되지 않으면 이러한 조건 중 하나라도블록 체인을 사용해서는 안됩니다. 처음 XNUMX 개 중 하나가 없으면 (a) 일반 파일 저장소, (b) 중앙 데이터베이스, (c) 마스터-슬레이브 중 하나를 고려해야합니다. 데이터베이스 복제또는 (d) 사용자가 할 수있는 여러 데이터베이스 가입.

그리고 처음 XNUMX 개를 수행해도 여전히해야 할 일이 있습니다. 데이터베이스가 허용하는 트랜잭션 측면에서 애플리케이션 규칙을 표현할 수 있어야합니다. 검증 자로 신뢰할 수있는 사람과 분산 된 합의를 정의하는 방법에 대해 확신이 있어야합니다. 마지막으로, 공유 원장을 만들려면 해당 원장이 나타내는 자산을 누가 지원할 것인지 알아야합니다.

모든 대답이 있습니까? 축하합니다. 실제 블록 체인 사용 사례가 있습니다. 과 우리는 당신의 의견을 듣고 싶습니다.

의견을 적어주세요 링크드 인에. 이 후속 조치를 참조하십시오. XNUMX 개의 진정한 블록 체인 사용 사례.

타임 스탬프 :

더보기 멀티 체인