Graphene + INT
처리량 증가를위한 GraPhene 블록 전파 프로토콜
INT는 현재 주요 지갑을 테스트하고 있으며 적절한 월렛 기능 및 트랜잭션 브로드 캐스트에서 블록 생산 및 블록 전파에 이르기까지 많은 것들을 입증하고 있습니다. 그러나 특히이 규모 의 IoT 네트워크 에서 더 중요한 특성 중 하나는 네트워크의 처리량입니다.
몇 주 전에 INT는 네트워크를 스트레스 테스트했으며 TPS 기대치에 미치지 못했다는 업데이트를 발표했습니다.
DBFT 및 DPoS 시리즈 의 Part 2에서 알 수 있듯이 1MB 블록 (INT의 메인 체인이 구축되는 것)이 있는 Bitcoin 유형 블록 체인은 10 초 블록으로 블록 당 2,000 건의 트랜잭션 또는 초당 ~ 200 건의 트랜잭션을 허용합니다 (간단한 거래를 가정). 이 속도에서 트랜잭션 및 블록 전파가 문제가되고 네트워크 속도가 느려질 수 있습니다. 테스트에서 이것은 정확히 그들이 본 것입니다. 10 초 블록에서 처리량은 100 TPS를 초과하지 않았습니다.
그것은 IoT 생태계를 위해 그것을 자르지 않을 것 입니다.
INT가 결정한 것은 트랜잭션 처리량을 방해하는 노드 대 노드 대역폭 문제를 줄이는 것입니다. 일반적인 블록 체인 네트워크에서 노드는 새로운 트랜잭션 및 새 블록의 해시 세트를 네트워크의 다른 노드에 지속적으로 브로드 캐스트합니다. 이러한 메시지 ( inv 메시지)를 통해 노드는 필요한 데이터의 해시와 함께 getdata 요청으로 응답함으로써 최신 트랜잭션을 처리하고 차단할 수 있습니다 . 그런 다음 getdata 메시지를 수신 한 노드는 노드가 요청한 블록 또는 트랜잭션을 보냅니다. [무화과. 1] 각 블록 또는 트랜잭션은 노드에서 네트워크에 도입되는 그것의 원점과, 상기 브로드 캐스트 메커니즘을 사용하여 네트워크를 통해 전파된다.
새 블록이 작성되고 노드가 블록을 요청하면 연결된 노드에서 헤더 및 트랜잭션 원시 데이터가 다운로드됩니다. 이러한 메시지는 상당히 커질 수 있으며 (블록 크기와 같음) 네트워크를 방해하며 트랜잭션 전파를 방해 할 수 있습니다. 대부분의 경우 노드는 이미 최신 블록에 포함 된 대부분의 트랜잭션을 수신 했으므로 블록 트랜잭션에서 다운로드 한 원시 트랜잭션 데이터는 중복 된 노력과 대역폭 낭비입니다. 이것은 네트워크 처리량으로 가능한 것의 경계를 넓히기 시작할 때까지 문제를 일으키지 않습니다.
사실 이것은 INT가 예상했던 트랜잭션 처리량에 도달하지 못하도록 막았으며 그래 핀으로 테스트를 시작하게했습니다.
그래 핀
그래 핀 (의해 개발 된 블록들의 전송을위한 신규하고 효율적인 프로토콜 A. 피나 Ozisik , 가빈 안드레 블룸 필터의 사용은 로컬에서의 블록 내에서 거래를 식별하는 것을 제안 등) mempool 위한 단기 ( 메모리 풀 이것은 검증을 기다리고 있으며 블록에 포함되는 네트워크의 모든 비트 코인 거래 세트입니다. 이는 노드 가 블록 헤더 및 원시 트랜잭션 데이터 세트로 블록 getdata 요청에 응답하는 대신 헤더 및 로컬 노드 mempool 에 적용 할 수있는 필터 세트로 응답하여 필요한 트랜잭션을 식별 함을 의미합니다. 해당 블록에 포함 시키십시오. * [그림. 2]
이 방법은 동일한 1MB 비트 코인 블록에 비해 그래 핀 블록에 대해 블록 공고의 크기를 2kB로, 10MB 블록에 대해 20kB로 엄청나게 줄여 블록 전체를 단일 IP 패킷에 맞 춥니 다. [무화과. 삼]
이는 더 높은 트랜잭션 속도를 위해 대역폭을 개방하고 고아 블록 생성을 줄이며 더 빠른 블록 시간을 가능하게합니다.
예비 결과
앞서 언급 한 바와 같이하여, 스트레스 테스트의 첫 번째 라운드에서, 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 와 관련됩니다:
오버 헤드 ω는 다음과 같습니다:
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









