top of page

SV 6블록 리오그를 일으킨 스트레스 테스트

최종 수정일: 2019년 10월 10일



며칠전 128메가를 꽉채운 연속된 블록생성으로

6블록이 리오그까지 되었던 스트레스테스트로 보여지는 사건이 있었습니다.

https://twitter.com/nikzh/status/1118915514519236610

이 스트레스 테스트는 중국의 SV커뮤니티에서 실시되었다고 합니다.

그리고, 엔체인과 사전 조율도 없었다고 합니다.

최근에 코인판의 포럼들을 조금 살피면서 갑갑하던 차에...

머리가 띵할정도입니다.


==================================================================


Bitcoin SV 주요 네트워크 스트레스 테스트 보고서

출처 ; https://aaron67.cc/2019/04/20/bsv-mainnet-stress-test-report/

(중문번역이므로 매끄럽지 않은점 참고 부탁드립니다)


4 월 18 일, Bitcoin SV 중국 커뮤니티의 지지아래 BSV Mainnet의 초당 거래 (TPS)에 대한 세 번째 스트레스 테스트를 실시했습니다.

이전 네트워크가 200TPS 및 400TPS 피크에서 아무런 문제가 없다는 사실을 고려하여이 테스트는 1000TPS에서 목표를 설정합니다. 테스트보세요, 모든 트랜잭션 블록 재구성 등장을 두 번 꽃이 나타 손실없이 하나의 거래는 없다, 포장, 아직 병렬 BSV 확인 코드의 경우에는 배치되지 않습니다, 우리는 1000TPS에 도달 할 수 없습니다. 테스트 도구와 이 기사는 Monkeylord 와 저에 의해 수행되었습니다 .


배경

이 테스트는 사전에 관련 개발 팀과 nChain에 알리지 않았으며 준비없이 문제를 발견하는 놀라운 압력 테스트였습니다.

우리는 1000TPS에서 일어난 일을 예상하지 않았고 관련 서비스 중단으로 인한 불편을 사과했습니다.


첫 번째 압력 테스트

압력 테스트 도구 디버깅 테스트의 첫 번째 버전. 20TPS를 계속해서 문제가없는 것으로 판명되었습니다.


2 차 스트레스 테스트

개선 된 압력 측정 도구, 전체 상태의 다중 인스턴스 테스트 계속 200TPS, 아무런 문제가 발견되지 않았으며 블록 메모리 풀이 비울 때마다.

그런 다음 400TPS로 안정화하려고 시도했지만 테스트에 사용 된 BSV가 고갈 되었기 때문에 수십 초만 지속되어 아무런 문제가 없었습니다.


기타

- 서버 : 싱가포르에 위치한 32 코어 64G VPS

- 스트레스 테스트 도구 단일 인스턴스 벤치 마크 : 6 ~ 10TPS


프로세스 세부 정보


시험 압력

방송 속도 : 1000 TPS총 거래량 : 약 110 만


포장 상태 포장

참조 "비트 코인의 SV 블록 전체 사건을 구조 조정."


관련 서비스 상황


브라우저 차단

- Blockchair 는 TPS가 440에 도달 한 후 업데이트를 중단하고 잠시 동안 계속되면 TPS 데이터는 0입니다.

- WhatsOnChain , 항상 빠른 블록 업데이트 속도를 유지합니다. 두 블록이 모두 표시되지만 새로 고침 속도가 느립니다.

- Bsv.btc.com , 완전 다운은 아니지만 느린 응답 및 업데이트큰

- 블록 재구성 중에 Bitdb , 서비스가 중단됩니다.


모든 차단 브라우저는 22:00 이후에 정상 모드로 재개됩니다.


교환

소방용 동전은 블록 개편 직후 BSV 보충 중단을 발표했다.


기타

Mempool 풀의 피드백 에 따르면 인트라넷 노드는 메모리 풀 (트랜잭션)을 동기화하는 데 더 높은 지연을 경험했습니다.


결과 분석


블록 재 조립 및 검증 지터

ECDSA 서명에 대한 테스트 결과 PC의 단일 코어 서명 속도는 약 300 ~ 400 TPS입니다. 노드에서 사용하는 서버는 단일 코어 속도가이 수준을 초과하지 않아야 함을 확인해야합니다.

노드가 블록을 수신하면 블록 적법성 검증을 수행합니다. 테스트 중에 나타나는 큰 덩어리에는 400,000 건의 트랜잭션이 포함되어 노드의 확인 기능에 큰 어려움을 겪었습니다. 단일 코어가 확인되면 몇 분이 걸리며, 이는 블록 분기점의 시간 창을 구성합니다.

578640의 높이에서, 2 개의 광산 웅덩이는 각각 35M와 52M 블록으로 채워졌고, 각각은 따라갈 힘이 있었고 두 개의 블록 재구성이 일어났습니다. 네트워크의 노드에서 각 재구성은 수십만 개의 트랜잭션을 다시 확인해야한다는 것을 의미합니다. 다음 그림은 블록 재구성이 발생할 때의 메모리 풀을 보여줍니다.


재구성으로 인한 지터는 대규모 트랜잭션의 확인이 네트워크 노드의 주된 압박이 될 수 있습니다. 이것이 다양한 서비스 노드의 붕괴의 주된 이유라고 생각합니다.


트랜잭션의 이전 코드를 확인하십시오.

현재 검증의 배치에 평행하지 않은 네트워크 배치에 노드를 BSV, 그것은 대부분은 효율적이지 않다 BCH 거래 확인 코드에서 상속되며, 클러스터 모드 인증을 사용할 수 없습니다, 하드웨어 장치의 성능을 최대한 활용할 수 없습니다. BTC 있도록 구성 만 1M 처리 블록 보낸 BTC, BTC에서 인증 영향 있지만 큰 팽창 병목 현상이 아니다.

풀 노드의 거래 능력에 대한 검증이 부족하여이 스트레스 테스트의 병목이됩니다.

마이닝 풀과 통신 한 후 마이닝 노드 간의 연결이 양호하고 블록 데이터 자체가 빠르게 확산되어 아무런 문제가 없음을 알게되었습니다.


결론

테스트 대상인 1000TPS에서 BSV의 주요 병목은 트랜잭션 확인 속도가 부족하다는 것입니다. 두 개의 블록 재구성은이 문제를 크게 악화 시켰으며 다양한 서비스를 간략하게 분석했습니다.

우리는 또한 현재의 트랜잭션 (transaction)의 검증 기능에, BSV 블록보다 1 억 개 블록보다 지속적으로 플레이 할 수있는 메가 바이트의 수십, 재생할 수 있음을보고, 이전 테스트는 지속적인 피크 (200)와 TPS의 400을 지원 할 수 있었다 뛰어난 처리량과 잠재력을 지니고 있습니다.

BSV는 트랜잭션 검증에서 성능 병목 현상을 해결하고 조기에 1000TPS 이상의 네트워크 처리량을 달성하기 위해 병렬 검증 코드를 배포 할 것으로 예상됩니다.


기타

bitcoinsv.io 에 따르면 Bitcoin SV 클라이언트는 레거시 코드를 최적화하고 성능을 향상시키기 위해 가까운 미래에 업데이트를 릴리스 할 것입니다.




이 테스트의 보고서 중 일부는 다음과 같습니다.







감사 인사

시험에 대한 감사 비트 코인 SV 중국 지역 사회의 강력한 지원의 수 많은 내가 아이디어를 공유하고 기술 토론에 내가 포함, 모두 나열 할 수 없습니다 두려워하지만 제한되지는 오전 BSV를 기증 도움bitsv 코드베이스  유지 관리 해준 AustEcon에게 감사드립니다.데이터 쿼리 서비스  제공하는 bitdb 덕분에기본 서비스 인터페이스  제공 한 BitIndex에게 감사드립니다 .감사 Monkeylord 고성능 트랜잭션 방송 인터페이스 구현 ================================================ 그리고, 또한 베이징 시간 인 4 월 24 일 23시에 주 네트워크의 스트레스 테스트가 계획되었습니다.



==================================================================



Bitcoin SV 블록 재구성 이벤트

출처 ; https://aaron67.cc/2019/04/19/bsv-reorg-event-april-18-details/


BSV는 4 월 18 일 20:20 ~ 22:06에 블록 높이 578640에서 578645로

재구성되었으며 Firecoin Global Station은 즉시 BSV 보충 중단을 발표했습니다.




이 문제는 나와 관련이 있습니다. 설명 할 기사를 작성하십시오.

명확한 첫 번째 사항 은 천천히 안개 지역 사회의보고에서 블록 "롤백"을 사용하는 것이 정확하지 않으며 오해를 일으킬 수 있다는 것 입니다. 계속 (광업) 과정에서 블록의 재구성이 있습니다. 다음 그림은 Lao Liu에 대한 설명입니다 . 이 기사 에는 기술적 세부 사항이 더 있습니다.


구조 조정은 거래 상태와 상관없이 손실 된 거래와 이중 지출을 초래하지 않습니다.


1.패키지를 기다리는 노드 메모리 풀에 도착했습니다.

2.외로운 블록으로 포장 됨


BSV의 네트워크 기능을 테스트하기 위해 짧은 시간에 노드의 메모리 풀에 많은 수의 합법적 인 트랜잭션을 생성 할 수있는 도구를 작성했습니다. 어젯밤 도구의 한계와 안정성을 시험하기 위해 불이 약 1 시간 동안 완전히 켜졌습니다.

WhatsOnChain을 제외하고 일정 시간 (약 30 분) 후에는 지속적으로 높은 트래픽 (TPS는 400 이상에서 안정적으로 최고치에 도달 할 수 있습니다.) 때문에 거의 모든 블록 브라우저를 정상적으로 업데이트 할 수 없습니다. 경쟁을 벌이는 동안 백만 건 이상의 거래가 블록 재구성을 촉발 시켰습니다. 전체 프로세스는 다음과 같습니다.



나는 그 시간에 블록을 뽑아 내고 블록 시간과 블록 크기를 표시하여 비교하기가 편리합니다.

1. SVpool (위의 체인)과 Coingeek (아래의 체인)이 블록 578640에 충돌했습니다.

2. 상. 하 체인 모두 확장되어 경쟁이 시작됩니다.





3. 578640 블록 (20:56) 후 30 분 후, 하위 체인이 먼저 블록 578643에 도달하고

첫 번째 블록 재구성이 발생하고 상위 체인의 세 블록이 분리됩니다.

4.그 다음 두 개의 블록이 연속적으로 있는데 하나는 127M이고 다른 하나는 107M입니다.


5. 그러나 사슬은 결코 포기하지 않았습니다. 동시에, 나는 21:18에 578645를 타격하는 43 분 후

같은 높이의 블록을 따라 잡는 22:01까지, 더 낮은 체인이 나오지 않는다는 것을 알아 차렸다.

6. 578645를 치고 5 분 후 다음 블록이 빠르게 재생되고 두 번째 블록 재구성이 발생하고

하위 체인의 6 개 블록이 격리됩니다.


7. 사슬을 포기하고 너 자신을 확장하십시오

8. 578646 (22:06)의 높이에서 대회가 끝나고 결국 체인이 이겼습니다.



전체 내용은 위와 같으며 다음 보고서는 기본적으로 정확합니다



발효의 밤 이후, 블록의 재조직은 많은 뉴스와 연설을 가져왔다.

우선, BSV 주 네트워크는 아무런 해를 끼치 지 않고도 정상 입니다. 이것은 계획된 공격이나 사고가 아니므로 걱정하지 마십시오. 블록 재구성은 정상적인 광부의 금은 게임과 같은 결과입니다. 거래소가 블록을 심하게 재조직 할 때, 안전하고 안전한 자금 선택에 대해 걱정하는 것은 무리입니다.




이 테스트를하기 전에 아무에게도 알리지 않았고, "습격"이었습니다. 그 결과는 다음과 같다.


- 광부 내의 경쟁은 완전히 주문됩니다.

- 이 질서있는 경쟁은 사용자에게 미치지 않으며 사용자의 체인 트랜잭션에도 영향을 미치지 않습니다.

- 전력 측정 노드는 큰 블록을 검증하고 브로드 캐스팅 할 때 단점이 있으며 개선해야합니다

(나중에 노드가 트랜잭션을 검증 할 때 성능이 좋지 않다는 견해에 동의 함)

- 기본 서비스의 성능 및 가용성을 개선해야합니다.

- 테스트가 모든 블록 브라우저를 파손 시켰는데,이 이벤트의 유일한 영향 일 수 있습니다 ...


다른 데이터 세부 정보는 GitHub 로 업데이트됩니다 . 비슷한 테스트가 여전히 주 네트워크에서 수행되지만 TPS를 제어합니다.

bitcoinsv.io 에 따르면 Bitcoin SV 클라이언트는 레거시 코드를 최적화하고 성능을 향상시키기 위해 가까운 미래에 업데이트를 릴리스 할 것입니다.






또한 베이징 시간 인 4 월 24 일 23시에 주 네트워크의 스트레스 테스트가 계획되었습니다.

Https://www.bitcoinfiles.org/96b881c872aa3cee11d5985d469bec4010f320603df48ed2b6b6f2645ff41108



흥미로운 텍스트를 보았습니다.



1. 네트워크가 정상이며 전송이 정상적인 것입니다. 그렇지 않으면 도구가 생성 한 트랜잭션이 메모리 풀 에 도달 할 수 없으며 "멈춤"의 의미가 무엇인지 모릅니다.

2. 예, 그룹이 중단 된 후 다시 시작됩니다. WhatsOnChain이 가장 잘 수행합니다.

3. 블록 재구성은 필연적으로 잘못된 팀의 광산에 보상을 가져올 것입니다.이 문장은 말도 안되며 계약은

이와 같이 설계되었습니다. BTC 및 BCH 블록 재구성으로 광부 손실 보상

4. 예, 현재 Firecoin Global Station 만 일시 중지되었습니다.


이 글을 쓰는 시점에서 슬로우 안개 공동체가 메시지를 추가했습니다. 감사합니다.


BitMEX에 메시지를 추가하면 재구성하고 이중 꽃으로 인도하는 데 어려움을 겪고있는 사람들도 안심할 수 있습니다.






조회수 20회댓글 0개

최근 게시물

전체 보기
bottom of page