난이도가 100,000블럭당 변화하는데 블럭타임이 길어질수록 1사이클당 시간이 15일에서 점점 길어져서 처음 자료는 오류가 있었습니다.
수정본 다시 올려드려요.
코드상으로 보면 대략 14,700,000블럭을 넘어서면서 0.06초 늘어나기 시작하는데 해당 수치는 아주 미미해서 5월 중순경 지나면 0.1초 딜레이 되면서 영향을 미치기 시작할것으로 예상합니다.
3월16일 12시40분 현재 최신블럭은 14395233 이고 타겟블럭인 1470000까지는 304,767 블럭 남았습니다.
여기에 블럭타임 13.3을 곱하면 4053401.1초 남았고. 이는 약 47일로 계산됩니다.
지금부터 47일후 14,700,000블럭도달로 예상되어 시작시점을 5월2일로 잡았습니다. 이후 5월17일경 0.1초 딜레이 , 6월초 0.5초 딜레이 이런식으로 올라갑니다.
--------------------------------------------------------------------------------------------------------------------------------------------------
난이도 폭탄 발동 후 POW ETH1(= Execution layer = EL)의 채굴량 변화
다들 궁금해 하시는
난이도 폭탄 발동 후 현 POW로 채굴 되고 있는 ETH1(이후 Execution layer = EL)의 채굴량 변화에 대해 알아보았습니다.
** 난이도 폭탄은 ETH2( Consensus layer = CL)와의 통합이 모두 준비된 후에 진행되며 현재는 2022년 6월경으로 미루어져있지만 준비상황에 따라 연기될수도 있습니다.
본 글은 정확히 언제 시작될지는 모르지만 난이도 폭탄이 실행된 이후 진행되는 수개월 동안의 채굴량 변화에 대해 알아보고자 합니다.
들어가기전
블럭타임 : POW 코인들은 보통 최초 설계시 블럭타임 이라는 평균 블럭생성시간이 정해져 있습니다.
이더리움은 대략 13초 내외인데. 채굴하는 사람이 늘어나서 연산능력이 좋아지면 난이도가 일정한 경우 블럭타임이 줄어들게 됩니다.
그래서 총 해시에 따라 POW 연산 난이도를 조정할 필요가 있습니다.
*예를 들어 한사람이 1시간동안 풀도록 해당 난이도의 수학문제를 냈는데. 10명이 달라들어 풀면 1/10인 6분 정도면 풀어버리겠죠.
이렇게 10명이 달라들어 문제를 푸는 상황이 되면 10배 어려운 난이도의 수학문제로 바꾸어. 한시간이 걸리도록 합니다.
**비트코인은 난이도가 14일 마다 조정되며, 이더리움은 바로바로 난이도가 조정됩니다.
자동으로 평균 블럭타임을 맞추어 가는 이더리움의 기본 코드와 더불어 애초부터 추가로 코드를 넣어 두었는데 이더리움의 블럭이 어느 시점을 넘으면 총해시와 관계없이 이 난이도를 강제로 높게 조정해서 블럭타임을 길게 만들어 버려 채굴이 불가능하게 만드는 목표를 가진게 난이도 폭탄이며 POW를 POS로 자연스럽게 전환하기 위해 처음부터 설계되어 있었습니다.
그동안 여러번의 난이도 폭탄 연기가 있었는데 EIP-4345는 작년 10월에 제안된 최신의 난이도 폭탄 연기 제안입니다.
아래링크에서 확인 가능하시고 작년 12월에 예정되어 있던 난이도 폭탄을 올해 6월경으로 연기하였습니다.
https://eips.ethereum.org/EIPS/eip-4345
대략 코드는 아래와 같습니다.
def predict_diff_bomb_effect(current_blknum, current_difficulty, block_adjustment, months):
'''
Predicts the effect on block time (as a ratio) in a specified amount of months in the future.
Vars used for predictions:
current_blknum = 13423376 # Oct 15, 2021
current_difficulty = 9545154427582720
block adjustment = 10700000
months = 7.5 # June 2022
months = 8.5 # July 2022
'''
blocks_per_month = (86400 * 30) // 13.3
future_blknum = current_blknum + blocks_per_month * months
diff_adjustment = 2 ** ((future_blknum - block_adjustment) // 100000 - 2)
diff_adjust_coeff = diff_adjustment / current_difficulty * 2048
return diff_adjust_coeff
diff_adjust_coeff = predict_diff_bomb_effect(13423376,9545154427582720,10700000,7.5)
diff_adjust_coeff = predict_diff_bomb_effect(13423376,9545154427582720,10700000,8.5)
10만 블럭(초기엔 15일정도)마다 난이도를 조정하는데 계단식으로 올라가면서 지수승으로 값을 늘립니다.
개발자 의견을 보면 아래와 같은데 초기 시작 딜레이 수치는 일치합니다.
The following script predicts a ~0.1 second delay to block time by June 2022 and a ~0.5 second delay by July 2022
이전 난이도 폭탄 개발자 쓰레드에서 한 개발자가 이야기 한 그래프와 유사합니다.
https://ethereum-magicians.org/t/eip-3554-ice-age-delay-targeting-december-2021/6188/8
일일 총 블럭보상은 하루 3600초*24시간 / 평균 블럭타임 13.3 을 하면 하루 총블럭이 나오고 블럭당 2이더를 보상받으니 여기에 2를 곱해서 구합니다. 여기에 전송수수료 보상은 계속 변하는데 대략 하루 평균값이 500이더를 더하면 하루 총 채굴보상값이 나옵니다.
1기가당 일 채굴량은 위의 총 보상값에 (1기가 / 총 해시) 를 곱하면 구해집니다.
현재 대략 하루에 0.0135로 계산되는데 대략 비슷합니다.
** 이 글은 6월에 난이도 폭탄이 발동 한다고 말씀 드리는 글이 아니고.. 혹시 발동되면 미리 넣어둔 코드에 의해 이렇게 진행될거 같다고 이야해 드리는것이고. 이후 연기되어 다시 실행되어도 실행후 진행상황은 대략 비슷하게 진행되니 참고하시면 될것 같습니다.
총해시 변동없을때 채굴량 반토막 나는 시점이 대략 10월말까지로 예상되네요..
난이도 폭탄이 발생하면 해시 이탈은 필연적인데 얼마나 빠질지는 예상이 안되네요.
5월경부터 매일 1T정도씩 감소하다 9월초부터 매일 3T씩 감소한다고 가정하면 12월 말에 총해시는 거의 절반정도입니다.
이렇 경우를 가정해서 예상 그래프를 하나만 더 보시겠습니다.