2016-12-12 4 views
2

BigChainDB는 기본 레벨의 분산 DB라는 것을 알고 있습니다. BlockChain 세계에서 확장 성 문제를 해결한다고 주장합니다. 내가 이해할 수없는 것은 전반적인 블록 체인 아키텍처에 어떻게 들어 맞는지입니다. 전형적인 블록 체인 세계에서 BigChainDB - 정확히 무엇입니까?

  1. , 각 노드는 데이터의 전체 복사본을 가지고 있으며, 새로운 트랜잭션을 확인합니다? BigChain DB가 데이터가 배포 될 때 BigChain DB에서 어떻게 작동합니까? 각 노드는 보유하고있는 블록 만 유효성을 검사합니까? 이 경우에도 전체 체인이 필요합니까? 여기 처리 확장성에 대해서는 명확하지 않습니다.

  2. BigChainDB와 블록 체인 네트워크를 구축 할 수 있습니까? 아니면 네트워크 자체를 구축하려면 에 Ethereum 또는 Hyperledger와 같은 것이 필요합니까?

  3. BigChainDB로 블록 체인 네트워크를 구축 할 수 있다면 은 BigChainDB의 스마트 계약과 동일합니까?

+0

Btw 어쩌면 일부 HyperLedger 구현이 사용 사례를 해결할 수 있습니다. BlockChain DB에 대한 연구를 끝내기까지했습니다. BlockChain (또는 Merkle Trees와 같은 것)을 사용하여 마스터 데이터 관리를위한 "레지스트리"구현을 찾고 있는데 –

답변

-1
  1. BigchainDB는 내부적으로 RethinkDB 저장소를 사용한다. 기술적으로, 블록 체인은 RethinkDB 안에 JSON 문자열로 저장됩니다. BigchainDB는 필요한 암호화, 블록 작성 기술, 블록 구문 분석 및 데이터베이스에 액세스하기위한 유틸리티 메소드를 제공하는이 스토리지 상단에있는 일종의 래퍼입니다. RethinkDB는 가능한 샤드 기반 아키텍처와 클러스터 된 저장소를 제공합니다. 이렇게하면 RethinkDB가 적절히 구성 될 때 BigchainDB를 확장 가능하게 만듭니다.

  2. 예. BigchainDB만으로 블록 체인 네트워크를 구축 할 수 있습니다.

  3. BigchainDB 라이브러리는 코드에서 호출 할 API를 제공합니다. 그래서 우리는 (어떤 경우에는 파이썬에서) 모든 응용 프로그램을 빌드하고 BigchainDB를 그 안에 통합 할 수 있습니다. 즉, 비즈니스 로직은 애플리케이션 코드 내에 있습니다. 이는 Ethereum에서 사용되는 Smart 계약과는 완전히 다릅니다.

자세한 내용은 내 github code을 참조하십시오. 그것은 내 대학 프로젝트이며 많은 문서가 없습니다. -D Sodexo와 같은 회사에서 바우처를 발행하고 사용자가 Starbucks와 같은 민간 회사에서 사용할 수있는 바우처 이전 응용 프로그램입니다.

+0

"샤딩을 사용하는 클러스터 된 스토리지"는 대역폭 확장 성을 어떻게 가능하게합니까? 심지어 그들은 어떻게 관련되어 있습니까? 아니면 확장 성의 한 측면만을 해결하고 다른 블록은 (> 1MB 블록) 해결하지 않습니까? – Kang

+0

@Kang 대역폭 확장성에 대해 무엇을 의미하는지 모르겠습니다. Bitcoin에서는 체인의 크기가 커짐에 따라 모든 노드에 모든 블록 체인 정보를 저장하기가 어렵습니다. 따라서 샤딩을 사용하여 확장 가능한 시스템간에 데이터를 분할하고 저장할 수 있습니다. BigchainDB를 약 6 개월간 (sharding과 함께) 사용했고, sharding 때문에 lag에 직면하지 않았습니다. 나는 에테르와 비트 코인보다 빠르다고 말한다. 또한 많은 단점이 있습니다. 예를 들어, 클러스터의 한 노드에 데이터베이스를 놓으면 모든 노드의 전체 데이터베이스가 복제되고 삭제됩니다. – Lakshminarayanan