그저께 일부 외부 개발자와 테스트했던 사항을
ESN개발자 분들과 @쌍둥아빠 님께서 추가 작업하셔서 테스트넷을 구성하게 되었습니다~
https://github.com/magnalucus/go-esn/commits/testnet (@쌍둥아빠 님의 커밋. 조만간 반영될 듯.)
이미 말씀드린것처럼, 이 테스트넷을 통해서는 가짜 "ESN"을 이용해서 컨트랙트 프로그래밍을 좀더 싸고, 쉽게 접근할 수 있습니다.
이더리움재단의 여러개의 테스트넷만큼의 규모는 아니고 작은 규모지만 테스트넷을 통해서 앞으로 다양한 테스트를 수행하게 됩니다~
==========
그리고, 60만 블럭에서 있을 보상 변경 (9ESN => 5ESN)에 대한 하드포크 테스트 수행을 마쳤다고 알려주셨습니다~
덤으로 지난번 @TopMining 님과 @컴빠 님과 테스트 및 종이 페이퍼 시뮬레이션(?)에 의하면
60만블럭 보상 변경 하드포크 이후에는 난이도의 변동이 덜하게 됩니다.
즉, 블록 번호 증가에 따르는 "블록번호 난이도 가중치" 값이 원래는 블록 번호 증가에 따라서 값이 커졌으나,
이제는 블록 번호가 증가해도 블록 번호에 대한 가중치가 0입니다.
(3백만 블록까지 이 블록번호 난이도 가중치 0으로 설정되어있음. 정확히는 2^-2 = 1/4 = 0.25)
다음 블럭 난이도 =
이전블럭 난이도 +
(이전 블럭 난이도)/2048 * Max((엉클보상있음 ? 2:1) - 블럭생성에걸린초/9 , -99) + 2^(블럭높이/100000 - 2)
마지막 빨간 항의 값이 기존에는 계속 증가하는 값이었으나, 60만 블럭 이후부터는 0이 됩니다
(현재 300만 블럭이전까지 이 값이 0으로 되어있음. 향후 하드포크 되면 변경 가능)
----------
따라서, 보상이 5가 되는 60만 블럭 이후에 해시의 상당한 감소가 예상이 되나, 블록번호 난이도 가중치가 0이 됨에 따라서
예상보다 보상 감소가 심하지 않을 수도 있을 것으로 추정됩니다.
위 난이도 식에 따라서,
- 블럭 생성이 9초, 엉클블록이 있는 경우 => Max(2 - 9/9, -99) = 1 => 난이도 증가
- 블럭 생성이 9초, 엉클블록이 없는 경우 => Max(1 - 9/9, -99) = 0 => 난이도 그대로.
- 블럭 생성이 18초, 엉클블록이 있는 경우 => Max(2 - 18/9, -99) = 0 => 난이도 그대로.
- 블럭생성이 18초, 엉클블록 없는 경우 => Max(1- 18/9, -99) = -1 => 난이도 감소
대충 이런 식이며, 이에 따라서 평균 블럭타임 기존보다 조금 줄어들 것으로 보입니다.
다만 난이도 증가율이 감소한 것이 실제로 보상에 어떤 영향을 미칠 것인지 정확히 가늠하기는 어렵습니다.
요약
0) 테스트넷 구성이 완료되었습니다~ 수고하신 ESN팀과 @쌍둥아빠님께 박수 짝짝짝!!
1) 보상이 감소되어 해시의 감소 => 난이도 감소의 원인
2) 블럭번호 가중치 난이도가 당분간 0임 => 역시 난이도 감소의 원인 => 평균 블록생성타임 감소의 원인
1) 2)번 요인에 의해서 예상보다 채굴량 감소가 덜 심할 것이며. 다만 어느정도 덜 감소될지는 예상하기 어려움
괴부하상태에서 해주는것이 좋지 않을까요?
병목현상이 이슈될때ᆞ
좋은정책으로 해결되는것이 좋아보입니다ᆞ