Skip to content

Latest commit

 

History

History
52 lines (25 loc) · 8.33 KB

10_Example Applications.md

File metadata and controls

52 lines (25 loc) · 8.33 KB

어플리케이션 예시

탈중앙화된 애플리케이션은 MapReduce 문제로 재구성되어 토큰으로 결합 된 올바른 활동에 대해 경제적 인센티브를 제공합니다.

블록체인 레딧

이것은 주로 데이터 저장(CRUD)에 관한 것입니다. 주로 계산 및 증명은 액세스 제어, 신원 (투표 및 게시물 등록) 및 조정과 관련되어 있습니다. 많은 웹 응용 프로그램은 실제로 백엔드에서 CRUD를 수행하고 있습니다.

루트 체인에는 스마트 컨트랙트 합의 규칙 및 사기 증명이 포함되어 있습니다. 최상위의 부모 체인은 하위 reddit 체인(subreddits)의 계정을 포함합니다. 각 subreddit은 최상위 부모의 플라즈마 체인의 자식체인 입니다. 각 subreddit 안에는 플라즈마 체인의 게시물이 있습니다. 그 자식 체인의 게시물에는 코멘츠도 포함됩니다. 합의 메커니즘은 접근 제어를 시행합니다. 이전 블록 데이터에 대한 무작위 약속(상위 체인에서 제공하는 임의의 넌스를 사용)은 모든 블록 헤더에 커밋됩니다. reduce 함수는 상위 게시물 및 기타 통계에 대해 주기적으로 계산합니다.

개별 사용자의 컴퓨터는 로컬에 있는 데이터와 소프트웨어를 다운로드하여 데이터를 포맷합니다. 데이터를 제출하려면 데이터 포함에 대한 인센티브를 위해 거래 수수료를 지불해야하며, 가용성에 따라 이전 블록 데이터를 다운로드하는 데 요금이 부과 될 수 있습니다.

특정 게시물을 보려면 사용자는 루트 체인에서 약정을 확인한 다음 맨 위에 있는 부모 (마지막 n 블록은 최종 기간으로 되돌아 가야합니다. 일주일 정도 소요될 수 있음)의 체인 설명으로 이동하여 해당 게시물에 대한 주 계정 트라이를 찾습니다. 관련 subreddit. DHT 네트워크에 연결하여 서브 레딧에서 노드를 발견하고, 서브 레딧 및 게시물 목록보기에 대한 chaintip (확인을 위해 n 개의 블록을 더한 것)을 다운로드하고 의견이있는 관련 게시물의 원시 데이터 및 라이트 클라이언트로 상태 trie를 다운로드합니다. 사용자는 자신과 관련된 Plasma chain의 부분 만 관찰하면됩니다 (자신과 관련된 게시물과 하위 참조 번호 만 다운로드).

이것은 블록체인에 대한 일부 계산과 함께 데이터를 저장하는 간단한 예시입니다. 유효성 검사기가 모든 노드의 유효성을 완전히 검사 할 수는 있지만 나눠서 수행할 수도 있습니다. 샤딩이 너무 길어지게 되면 정보 가용성 문제가 있습니다. 이를 완화하기 위한 한 가지 방법은 subreddit 소유자에게 하위 체인에 대한 완전한 통제권을 주는 것입니다.

탈중앙화된 환전

Blockchain의 reddit 복제본은 CRUD 웹 애플리케이션에 대한 함축적인 의미를 나타내지만 사이트 통계를 제외하고 MapReduce의 이점을 크게 활용하지는 않습니다.

탈중앙화된 환전은 높은 계산 작업에 대해 지연 시간을 최소화하여 교환 할 수 있음을 보여줍니다. 많은 상태들이 있기 때문에, 가능한 출력은 UTXO 대신 계정에 정의되거나, or for each step in the state machine that a larger bitmap is used to represent each state instead of a single boolean value representing spentness in the bitmap.

subreddit과 마찬가지로, 각각 거래 쌍을 나타내는 하위 체인 트리가 있습니다. 각각의 내부에는 확장성을 최대화하기 위한 체인 트리가 있습니다 (활동이 별로 없는 쌍의 경우 하나의 플라스마 체인 일 수 있지만, 활동이 많은 체인의 경우 더 많은 자식 체인을 가질 수 있음). 이 체인들 각각은 결합된 활동들을 가지고 있으며 각 라운드 당 처리 할 수 있는 양은 결합 된 양에 의해 제한됩니다.

첫 번째 단계는 하위 체인에 잔액이 있어야하므로 페이먼트 플라즈마 체인을 기본으로 삼아야 합니다.

다음으로, 명령서는 하위 체인으로 직접 발행됩니다. 부모 체인에 대한 약속의 일환으로, 모든 명령서는 체인 자체에 의해 단일 주문으로 표현된 단일 order book의 Merkleized된 약정으로 통합됩니다. 이 단계는 가장 상위 플라즈마 부모 체인에 도달할 때까지, 모든 자식 체인의 order book들을 해당 체인이 나타내는 단일 order book으로 재귀적으로 반복하여 줄입니다. 주문이 접수되면 주문 창이 닫히고 거래가 일괄적으로 실행됩니다.

이 reduce 단계가 완료되고 루트 체인에 커밋 된 후에는, map 단계를 통해 개별 체인에 할당량이 통보됩니다. 부모는 자녀에게 그들의 주문의 할당이 어떤 결정론적 방식으로 결정되었는지 알려줍니다. 자녀가 다른 주문을 볼 수 있었다면(이 단계에서 상위 체인을 관찰 할 수 있음을 의미 함), map 단계에서 올바르게 할당 되었다는 것을 증명할 수 있습니다. 할당을 받은 후에, map 단계는 그 체인의 자식 체인들에게 이것을 재귀적으로 반복합니다.

이 작업이 완료되면, 모든 자금을 블록으로 업데이트하는 것을 커밋하고 블록 헤더를 부모에게 제출함으로서 최종 reduce 단계가 수행됩니다.

가격 변동이 심한 경우 다중의 MapReduce 라운드를 허용함으로써 더 많은 최적화가 이루어 지지만(가격 책정의 정확도를 높일 수 있음), 이 일반적인 구성으로도 엄청나게 많은 양을 처리하는 것을 가능하게 합니다. 이론적으로는 이 프레임 워크에서 전세계의 거래 활동을 수행 할 수 있으며, 루트 체인에 완전히 묶이고 결합 된 일괄 처리 환전으로 속도를 일부 상쇄 할 수 있습니다.

이 유형의 구성은 다양한 유형의 금융 활동 및 계산에 유용합니다.

탈중앙화된 메일

D-Mail을 만들려면, 플라즈마 체인에 자신의 계정을 나타내고 메일 수신을 위해 결제하는 것이 가능합니다(체인에 메시지 삽입). 제출은 공개키로 암호화됩니다. 알려지지 않은 엔티티가 지불해야하는 것을 보장하기 위해 시행하는 것도 가능하며, zk-SNARK를 사용하여 추가 최적화가 가능합니다. 상위 체인은 체인의 디렉토리를 포함하고 결제하는 것을 시행합니다. 심플한 디자인.

탈중앙화된 CDN

Ethereum sharding proposal과 비슷한 구조로 탈중앙화 된 CDN을 가질 수 있습니다. 각 어린이 블록체인을 조각(Shards)으로 취급하십시오. 무작위 비컨 (root blockhash 또는 다른 것일 수 있음)을 가지고 있습니다. Shards 사이의 데이터를 n 블록마다 임의로 섞습니다. 부모 체인은 셔플에 대한 책임을집니다. 다른 사람들은 아카이브를 지연 보관할 수 있습니다. 데이터 손실이 발표되고 아카이브 보관 담당자에게 보상이 제공됩니다. 다른 샤드에 데이터가있는 경우에만 보상을 받기 때문에 인센티브가 전파됩니다. 견고성은 흐름의 길이에 대한 요구 사항에 달려 있습니다. 더 견고할수록 파편이 많을수록 언제든지 복사본을 가져야합니다. 여기서 핵심적인 통찰력은 스토리지가 대역폭의 함수라는 것입니다. 데이터는 디스크의 고정 데이터로 취급되지 않습니다. 모든 데이터는 실제로 다음 목적지로 흐르고 동작합니다.

데이터를 다운로드하기 위해 부모 체인의 조각(shard)과 랜덤 비컨을 확인하여 어떤 샤드에 데이터가 있는지 확인한 다음 DHT를 통해 피어를 식별하고 데이터를 다운로드합니다.

프라이빗 체인

참가자는 체인의 데이터를 다른 사람에게 공개 할 의무가 없습니다(비록 모두에게 공개되는 것을 막을 수는 없지만). 그래서 만약 체인의 참가자가 루트 체인에 의해 시행되는 프라이빗 블록체인 네트워크를 원할 경우 그렇게 할 수 있습니다. 이것은 인트라넷 / 인터넷 분리와 유사합니다. 트랜잭션은 로컬 프라이빗 체인에서 일어나지만, 퍼블릭 체인에 의해 커뮤니케이션 되고 경제 활동이 확정됩니다.