Sitemap

Graphene + INT

처리량 증가를위한 GraPhene 블록 전파 프로토콜

--

Press enter or click to view image in full size

INT는 현재 주요 지갑을 테스트하고 있으며 적절한 월렛 기능 및 트랜잭션 브로드 캐스트에서 블록 생산 및 블록 전파에 이르기까지 많은 것들을 입증하고 있습니다. 그러나 특히이 규모 의 IoT 네트워크 에서 더 중요한 특성 중 하나는 네트워크의 처리량입니다.

몇 주 전에 INT는 네트워크를 스트레스 테스트했으며 TPS 기대치에 미치지 못했다는 업데이트를 발표했습니다.

DBFT 및 DPoS 시리즈 의 Part 2에서 알 수 있듯이 1MB 블록 (INT의 메인 체인이 구축되는 것)이 있는 Bitcoin 유형 블록 체인은 10 초 블록으로 블록 당 2,000 건의 트랜잭션 또는 초당 ~ 200 건의 트랜잭션을 허용합니다 (간단한 거래를 가정). 이 속도에서 트랜잭션 및 블록 전파가 문제가되고 네트워크 속도가 느려질 수 있습니다. 테스트에서 이것은 정확히 그들이 본 것입니다. 10 초 블록에서 처리량은 100 TPS를 초과하지 않았습니다.

그것은 IoT 생태계를 위해 그것을 자르지 않을 것 입니다.

INT가 결정한 것은 트랜잭션 처리량을 방해하는 노드 대 노드 대역폭 문제를 줄이는 것입니다. 일반적인 블록 체인 네트워크에서 노드는 새로운 트랜잭션 및 새 블록의 해시 세트를 네트워크의 다른 노드에 지속적으로 브로드 캐스트합니다. 이러한 메시지 ( inv 메시지)를 통해 노드는 필요한 데이터의 해시와 함께 getdata 요청으로 응답함으로써 최신 트랜잭션을 처리하고 차단할 수 있습니다 . 그런 다음 getdata 메시지를 수신 한 노드는 노드가 요청한 블록 또는 트랜잭션을 보냅니다. [무화과. 1] 각 블록 또는 트랜잭션은 노드에서 네트워크에 도입되는 그것의 원점과, 상기 브로드 캐스트 메커니즘을 사용하여 네트워크를 통해 전파된다.

Press enter or click to view image in full size
그림 1: 비트 코인 블록 전파 프로토콜. INV의 메시지 트랜잭션하거나, 가지고 블록 함유 방영 GetData의 메시지가 노드로 전송 될 데이터를 요청하는 반환을 노드에서 블록 전송하여 응답하는 그것의 전체를. Decker et al. 2013“비트 코인 네트워크에서의 정보 전파”

새 블록이 작성되고 노드가 블록을 요청하면 연결된 노드에서 헤더 및 트랜잭션 원시 데이터가 다운로드됩니다. 이러한 메시지는 상당히 커질 수 있으며 (블록 크기와 같음) 네트워크를 방해하며 트랜잭션 전파를 방해 할 수 있습니다. 대부분의 경우 노드는 이미 최신 블록에 포함 된 대부분의 트랜잭션을 수신 했으므로 블록 트랜잭션에서 다운로드 한 원시 트랜잭션 데이터는 중복 된 노력과 대역폭 낭비입니다. 이것은 네트워크 처리량으로 가능한 것의 경계를 넓히기 시작할 때까지 문제를 일으키지 않습니다.

사실 이것은 INT가 예상했던 트랜잭션 처리량에 도달하지 못하도록 막았으며 그래 핀으로 테스트를 시작하게했습니다.

그래 핀

그래 핀 (의해 개발 된 블록들의 전송을위한 신규하고 효율적인 프로토콜 A. 피나 Ozisik , 가빈 안드레 블룸 필터의 사용은 로컬에서의 블록 내에서 거래를 식별하는 것을 제안 등) mempool 위한 단기 ( 메모리 풀 이것은 검증을 기다리고 있으며 블록에 포함되는 네트워크의 모든 비트 코인 거래 세트입니다. 이는 노드 가 블록 헤더 및 원시 트랜잭션 데이터 세트로 블록 getdata 요청에 응답하는 대신 헤더 및 로컬 노드 mempool 에 적용 할 수있는 필터 세트로 응답하여 필요한 트랜잭션을 식별 함을 의미합니다. 해당 블록에 포함 시키십시오. * [그림. 2]

Press enter or click to view image in full size
그림 2 :그래 핀 블록 전파 프로토콜. GetData의 요청은 블록 헤더에 응답하여인가 할 블 필터 설정 mempool 따라서 이미 노드가 갖는 트랜잭션 다운로드에 노력의 중복을 피하고. Ozisik et al. 의 2017 그래 핀 프로토콜 발표에서 발췌 . 제목 : “Graphene : 집합 조정을 사용하는 블록 전파를위한 새로운 프로토콜”

이 방법은 동일한 1MB 비트 코인 블록에 비해 그래 핀 블록에 대해 블록 공고의 크기를 2kB로, 10MB 블록에 대해 20kB로 엄청나게 줄여 블록 전체를 단일 IP 패킷에 맞 춥니 다. [무화과. 삼]

Press enter or click to view image in full size
그림 3: 기존 및 새로운 전송 방법과 그래 핀 블록 크기의 성장 비교. Ozisik et al. 의 2017 그래 핀 프로토콜 발표에서 발췌 . 제목 : “Graphene : 집합 조정을 사용하는 블록 전파를위한 새로운 프로토콜”

이는 더 높은 트랜잭션 속도를 위해 대역폭을 개방하고 고아 블록 생성을 줄이며 더 빠른 블록 시간을 가능하게합니다.

예비 결과

앞서 언급 한 바와 같이하여, 스트레스 테스트의 첫 번째 라운드에서, INT 주쇄 초당 100 개 미만의 트랜잭션 만 가능했다 그건 10초 시간 블록. 그래 핀의 구현은 이것을 초당 600 개 이상의 트랜잭션으로 증가 시켰고 INT는 차단 시간을 5 초로 줄일 수있었습니다. 이것을 높이기 위해 노드 프로토콜에 대한 몇 가지 다른 변경 사항으로 다음과 같은 추가 테스트가 수행됩니다.

  • 블록 체인 과 mempool 을 메모리에 유지
  • 암호화 및 합의 작업을 분리하여 CPU 스레드 분리
  • 상태 의존적 검사와 상태 독립적 점검 사이의 검증 나누기

INT는이 처리량을 10 배 이상 늘릴 수 있습니다.

Get INT Chain Korea’s stories in your inbox

Join Medium for free to get updates from this writer.

여기서 INT IoT 거래 속도와 간단한 자산 거래 속도 를 비교하는 것이 정확하지 않을 수 있습니다 . 일부 INT 트랜잭션은 단순한 자산 교환이 될 수 있지만 그 중 일부는 IoT 에서 데이터를 전송하는 것 입니다. 이것들은 거래 세부 사항뿐만 아니라 데이터로 계량되어 네트워크에서 처리 할 수있는 총 트랜잭션 수를 줄입니다.

최종성에 대한 영향

Finality 기사 를 리콜하면 finality는 트랜잭션이 되돌려지지 않을 확률로 정의됩니다. A의 포로 네트워크,이 시간이 지남에 따라 증가하지만, 결코 100 %에 도달하지 않습니다. 그러나 BFT PoS 네트워크에서 블록 유효성 검사기 노드의 2/3가 블록에 서명 한 후 최종성이 100 %에 도달합니다. 따라서 최종성은 다음과 같이 유효성 검증기 노드 수 n 및 블록 시간 B 와 관련됩니다:

Press enter or click to view image in full size

오버 헤드 ω는 다음과 같습니다:

Press enter or click to view image in full size

BFT 프로토콜. 이것은 최종도 f 를 1 / B로 줄입니다.

이전에 INT의 최종성을 10 초의 차단 시간으로 5 초로 언급했지만 위의 차단 시간 변경은 최종 시간을 2.5 초로 줄입니다. 즉, 자산이나 데이터 등 거래를 보낸 후 2.5 초가 지나면 해당 거래는 절대 되돌릴 수 없습니다.

노트

*이 필터가 멤풀 의 크기에 따라 커지지 않는다고 생각할 수 있습니다 . 그렇습니다 , 그러나 그것은 매우 느린 성장입니다.

http://www.gsd.inesc-id.pt/~ler/docencia/rcs1314/papers/P2P2013_041.pdf

http://cryptoeconomics.cs.umass.edu/graphene/#expl

http://cryptoeconomics.cs.umass.edu/graphene/graphene-short.pdf

--

--