데이터베이스로서 블록 체인 (Bitcoin)?


16

나는 이 BBC 뉴스 기사를 읽고 있었고 다음 발췌문이 주목을 받았다. Always On Availability Groups 또는 High Availability Mirroring 처럼 들리 거나 보안이 자동으로 포함 된 것일 수 있습니다.

블록 체인은 최신의 대량 거래 애플리케이션을위한 실행 가능한 데이터베이스 솔루션입니까?

개인 의료 기록과 같은 소량 거래에 대한 가치를 알기는 쉽지만 대용량 데이터베이스는 어떻습니까?

블록 체인이란 무엇입니까?

블록 체인은 암호화를 사용하여 중앙 컴퓨터 없이도 일련의 컴퓨터가 글로벌 레코드를 변경할 수 있습니다.

중개인을 제거하면 거의 모든 부문에서 비용이 절감됩니다.

블록 체인은 "블록"으로 알려진 데이터 수집에서 발생하는 모든 것을 시간순으로 또는 "체인"으로 기록하는 원장입니다.

화폐로서 이것은 중요한 기능입니다. 사용자는 전자 화폐가 지갑의 각 메모가 고유 한 방식과 같은 방식으로 디지털 화폐인지 확인할 수 있기 때문입니다.

블록 체인 네트워크를 구축하는 Chain.com의 CEO 인 Adam Ludwin은 "블록 체인 기술은 복사없이 디지털 정보를 전송할 수 있기 때문에 자산을 만드는 방법이 될 것입니다."라고 말합니다.

블록 체인을 사용하면 모든 종류의 정보 기록을 추적하고 그 가치를 유지할 수 있으므로 의사는이를 사용하여 의료 기록을 업데이트 할 수 있습니다.

블록 체인에 대한 각 변경은 전체 네트워크에서 동시에 이루어 지므로 정보가 손실되지 않으며 변경을 취소 할 수 없기 때문에 시스템은 투명성을 유지합니다. 각 블록을 변경하려면 특수 키가 필요하므로 개인은 해당 키를 보호하여 레코드를 안전하게 유지할 수 있습니다.

답변:


15

블록 체인은 최신의 대량 거래 애플리케이션을 위한 실행 가능한 데이터베이스 솔루션 입니까?

일반적으로 블록 체인 기술에는 많은 양의 작업을 어렵게하는 몇 가지 특성이 있습니다.

예를 들어 비트 코인을 살펴보십시오. 하루 평균 거래 횟수는 300K를 넘지 않았습니다. 하루 거래 횟수 (source blockchain.info)

여기에 이미지 설명을 입력하십시오

더 중요한 것은, 트랜잭션에 대한 평균 확인 시간은 약 팔분! :입니다 중간 거래 확인 시간 (요금 만) 과에서 좋은 이미지 Quandl :

여기에 이미지 설명을 입력하십시오

이제 비트 코인 데이터베이스를 유지하는 전세계 컴퓨터는 몇 대입니까? 나는 비트 코인에 대한 전문가는 아니지만 거래의 전체 기록이 블록 체인에 저장되어 있다고 생각하므로 비트 코인 네트워크에 참여하는 모든 컴퓨터는 기본적으로 전체 데이터베이스 (계정 정보가 아닌 거래 부분)의 사본을 유지합니다 비밀 키는 개인 지갑에 보관됩니다).

우리는 그것들의 수를 추정 할 수 있지만 백만 이상이라고 생각합니다. 하루에 백만 대의 컴퓨터를 사용하는 3 억 건의 트랜잭션은 큰 볼륨처럼 들리지 않습니다. 그리고 확인을 위해 8 분?

알맞은 하드웨어의 최신 RDBMS는 초당 최대 1K 트랜잭션을 쉽게 처리 할 수 ​​있습니다. 하루에 약 86M 건의 거래입니다. 확인 시간? 이는 거래의 규모 (테이블에 영향을 미치는 테이블 및 행 수)에 따라 다르지만 비트 코인 유형의 소규모 거래 (계정 A에서 42 코인을 제거하고 계정 B에 42 코인 추가)의 경우 밀리 초입니다.

결론적으로 양과 시간의 차이는 오늘날 1000 ~ 100000 배입니다.

향후 블록 체인 기술이이 문제를 해결하면 중간 규모 또는 대용량 응용 프로그램에서 사용될 수 있습니다. 링크에서 언급 된 많은 회사들이 실제로 이러한 문제를 해결하고 있지만 문제를 해결하는 방법에 대한 토론과 제안을 읽을 수는 있지만 실제 작업 솔루션이나 제품을 대량으로 제공하지는 않았습니다.


블록 체인과 관련된 또 다른 문제는 피의 일관성이 없다는 것입니다. 그것은 모두 부하에 있으며 거래를 처리하는 클라이언트는 '전용'되지 않으므로 무리가 떨어지거나 추가 될 수 있습니다. 8 분 정도의 소리가 들릴 것입니다. 마지막 10 분은 모든 고객에게 승인을 받기까지 1 분 또는 2 분이 더 걸렸습니까? 더 많은 노드를 아는 사람은 확실하지 않습니다. 어느 쪽이든 훌륭한 링크입니다. 감사.
알리 Razeghi

2
이 기사 technologyreview.com/s/540921/… 은 초당 7 개의 트랜잭션에 대한 개념적 제한이 있다고 주장합니다.
a_horse_with_no_name

@a_horse_with_no_name 사이드 체인은 하드 제한없이 쉽게 확장 할 수 있으며 비트 코인 블록 체인과 동기화되어 투명하게 처리 할 수 ​​있습니다.
jangorecki

16

나는 cryptocurrency와 데이터베이스에 매우 익숙하며 훌륭한 DB 엔진이 아니라고 말할 수 있습니다.

블록 체인을 라이브 데이터베이스로 사용 :

블록 체인에 이르기까지 검색 기능이나 인덱싱 기능이 제대로 갖추어져 있지 않은 최초의 표준화 된 형식으로 생각하십시오. 기본적으로 계산 기능이없는 엑셀 시트는 검증 및 유효성 검사가 많은 '읽기 / 쓰기'기능을 제공합니다. 블록 체인은 데이터를 다르게 쿼리하고 색인화 할 수있는 데이터베이스에 넣기 전에 데이터가 위생 상태를 유지하고 올바른지 확인하는 좋은 방법입니다.

블록 체인의 장점 :

이 경우 블록 체인은 순수하게 원장이며 PUT 및 GET 요청을위한 API입니다. 그게 다야. 블록 체인은 트랜잭션을 유효한 것으로 전달하기 위해 대다수의 노드가 필요하고 커밋 된 후에는 롤백이 없기 때문에 흥미 롭습니다. 따라서 누군가가 가짜 거래를 시도하는 경우, 거래를하는 사람이 대다수의 지분을 가진 풀을 가지고 있지 않으면 잡히게됩니다. 그런 다음 다른 사람이 거부하기 전에 풀에서 유효성을 검사 할 수 있습니다. 이것이 블록 체인의 장점입니다. 데이터가 정확한지 확인합니다. 일반적으로 꽤 느립니다. 정상로드 상태에서 약 10 분 정도 걸리는 것으로 확인됩니다. 과부하가 걸리면 시간이 약간 증가합니다.

블록 체인을 사용하여 거래가 유효하고 사기가 아닌지 확인한 후 해당 데이터를 데이터베이스로 가져와 원하는대로 작업 할 수 있습니다. 나는 이것에 대해 약간의 경험을 가지고 있지만 현재 비트 코인 아키텍처의 모든 단일 트랜잭션이 기록되므로 흥미로운 정보를 분석 할 수 있습니다.

DBMS의 블록 체인 스키마에서 데이터 쿼리 :

다음은 PostgreSQL에서 스키마를 생성하는 데 사용할 수있는 비트 코인 다이어그램입니다. 이것을 사용하면 관계형 DBMS에 넣을 수 있습니다 : https://bitcointalk.org/index.php?topic=38246 여기에 이미지 설명을 입력하십시오

이 코드 저장소는 데이터를 실제 RDBMS로 가져 오려는 경우에도 유용합니다. https://github.com/bitcoin-abe/bitcoin-abe

어떤 DBMS를 넣어야하는지에 대해서는 사용 사례에 달려 있습니다. 트랜잭션 / 지갑 ID를 분석하여 일부 패턴을 보거나 BI 작업을 수행하려면 관계형 DB를 권장합니다. 여러 암호화 코인으로 라이브 인제 스트를 설정하려면 트랜잭션 로그가 필요하지 않은 것을 권장하므로 MongoDB 솔루션이 좋습니다. 모든 암호 화폐의 실시간 녹화를 동시에 시작하지 않고 자동 거래 나 똑같이 미친 일을하기 위해 사용하지 않는 한 Elastic Search에 대해 걱정할 필요가 없다고 생각합니다. :)


8

2014 년에 우리는 지적 재산권 청구 데이터베이스로 Bitcoin을 사용한다는 전제로 ascribe.io를 구축했습니다. 릴리스시 처리량을 처리 할 수 ​​없었고 지연 시간이 10 분 이상이며 OP_RETURN에 넣을 수있는 것에 의해 네트워크가 연결되어 Amazon S3의 클레임과 관련된 실제 디지털 파일을 저장해야했습니다. . 우리는 현재 형태의 Bitcoin이 높은 트랜잭션 데이터베이스가 될 수 없다는 것을 깨달았습니다.

그러나 우리가 블록 체인 스타일 데이터베이스를 가질 수 있는지에 대한 아이디어-분산 제어, 불변성 (변조 방지) 및 네트워크상의 라이브 자산이 우리와 붙어 있습니다. 2014 년 중반에 BigchainDB 작업을 시작했습니다.

간단히 말해-100mS 대기 시간으로 100k tps를 처리하고 페타 바이트 용량을 가질 수 있습니다. 코드는 우리의 BigchainDB Github에서, 기술 문서입니다 여기에 우리의 기본적인 생각 백서 .

트랜잭션이 많은 분산 데이터베이스의 사용 사례가있는 경우이를 위해 BigchainDB를 정확하게 구축했습니다.


2

비트 코인에서 파생 된 블록 체인은 느리고 비쌉니다. 블록에 저장할 수있는 데이터의 양은 매우 적습니다. 블록 체인 (분배 원장)의 메커니즘은 손상되지 않고 복제가 잘되는 데이터 저장소를 제공하기위한 것입니다. 피어 투 피어는 중앙 제어의 출현을 피하기 위해 "정치적 요구 사항"보다 필수적인 기능이 아닙니다. 나는 약 18 개월 동안 비트 코인에서 가능한 한 적은 고성능 분산 원장 (한 번의 인스턴스는 metrognomo.com 참조)을 생산하기 위해 노력해 왔습니다. 결국, 분산 원장은 추가 후에 추가 할 수는 있지만 편집 후에는 편집 할 수없는 순차 파일처럼 보입니다. 이것은 일부 응용 프로그램에는 유용하지만 대부분의 사람들이 데이터베이스로 생각하는 것은 아닙니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.