Back to list
May 16 2017

개발 업데이트 #131

버그수정:

우리는 어젯밤에 버그를 하나 발견했고, 그것은 새로운 블록을 생성하려고 시도 할 때 노드가 무한 루프로 들어가고 네트워크 상의 트랜잭션이 멈추는 것이었습니다.

노드는 5 개의 트랜잭션을 하나의 블록으로 모으고 있었고, 두 개의 트랜잭션이 동일한 출력을 사용하려고했기 때문에 트랜젝션 처리가 실패했습니다. 이후 몇 초간 기다린 다음, 다시 시도했을 때도 동일한 결과가 발생했습니다.

이제 코드는 보류 중인 트랜잭션 목록을 가져온 다음 임의의 트랜잭션을 목록에서 한번에 한개씩 추가하여, 블록에 추가된 경우 블록을 현재 사용되지 않은 출력 집합에 대해 실행할 수 없도록 만듭니다.

이제 버그가 수정되었습니다.

우리는 랜덤기법을 추가하거나 플래그를 활성화하여 네트워크가 스톨되는 것을 방지 할 수 있습니다.; 그러나 우리는 이와 같은 오류 때문에 네트워크를 완전히 멈추고 엄격한 유효성 검사를하는 모드에서 네트워크를 실행하고 있습니다. 그래서 우리는 경계조건(edge case)를 탐지하여 적절한지 확인합니다. 그렇지 않으면 이러한 경계조건(edge case)이 적절하게 처리되지 않는다는 사실을 알 수 없습니다.