ProgPow 합의알고리즘에 대해서 질문드립니다.
안녕하세요?
이더리움이 이번에 합의알고리즘 방식을 progpow로 전환하는 작업을 한다고 하는데요 이번 알고리즘으로 인해 비트메인의 Asic채굴기에 대한 내성이 생긴다고 알고 있습니다.
이더리움은 Pos로 전환한다고 알고 있는데 progpow로 전환을 하는 이유와 왜 Asic 채굴기에 내성을 가진 합의방식으로 전환하는지 궁금합니다.
답변 미리 감사드립니다.
ProgPoW란 'Programmatic Proof of Work'의 줄임말입니다. 이것은 ASIC 채굴기와 일반 GPU 채굴 사이의 갭을 줄여주는 확장 기능이 적용된 PoW 합의 알고리즘이자 채굴 방식이라고 할 수 있습니다.
보통 PoW 합의 알고리즘에서는 알고리즘에 맞게 채굴 하드웨어를 발전시키곤 했는데, 이 ProgPoW에서는 특이하게도 주어진 하드웨어에 맞게 알고리즘을 수정하는 방식으로 변화가 이루어진다고 할 수 있습니다.
이런 변화가 이루어지는 이유는 전문 ASIC 채굴 장비로 이더리움을 채굴하는 업자들에 비해 일반 GPU를 활용한 채굴자들의 경쟁력이 떨어지고 공정한 채굴이 이루어지지 않는다는 이유 때문입니다. 즉 ASIC 전문 채굴 장비를 활용할 때 Keccak 해시 함수에 대한 연산 속도가 더 빠르고 전력 소모가 적으며 채굴 효율성이 향상된다는 점에서 일반 GPU 채굴이 불리할 수 밖에 없는 것입니다.
따라서 ProgPoW 알고리즘은 일반 GPU 카드가 발휘할 수 있는 성능을 최대한 활용할 수 있도록 개발될 것이며 이를 통해 채굴의 집중화가 완화되지 않을까 생각합니다.
또한 POS로 완전하게 전환하기 이전부터 채굴 보상을 줄이고 난이도를 높이며 POW를 ProgPoW로 전환함으로써 채굴 업체들의 영향력을 점진적으로 줄여나가기 위한 이유도 있으리라 생각합니다. 난이도를 한 번에 높여 POW를 불가능하게 만드는 '난이도 폭탄'을 연기한 이유도 채굴 업체들에게 POS로의 변화를 준비할 시간을 주고 자연스럽고 점진적인 POS로의 전환을 목표로 하기 때문입니다.
끝으로 ProgPoW는 커뮤니티의 투표를 통과하여 실행이 될 것으로 보이며 이를 위한 자금 조달도 성공한 바가 있습니다.
답변이 도움이 되길 바랍니다.
현재 이더리움은 Ethash 알고리즘을 사용하고 있습니다. Ethash 알고리즘에 사용되는 데이터 중의 하나가 DAG 데이터 입니다. Ethash 에서는 이 DAG를 3만 블록 단위로 재 생산하고, DAG의 크기 또한 고정을 하였습니다. 따라서, ASIC 장비에 들어가는 메모리 크기 또한 이 고정된 크기에 비례해서 정해집니다.
Progpow에서는 이 DAG와 관련된 변수들을 가변변수로 설정해놓았습니다. 예를 들면, progpow에서는 DAG의 크기를 무작위로 변경합니다. 이러한 가변 변수로 인해, 문제가 발생합니다. 예를 들어, 6기가를 지원하는 메모리를 ASIC 장비에 집어넣었습니다. 그런데, 만일 10기가 짜리 DAG를 생성해야 한다면 해당 장비는 사용되기가 어렵습니다.
이와 같은 방식을 사용함으로써, 좀 더 낳은 ASIC 저항을 가질 수 있다고 Progpow의 개발자는 주장합니다. 좀 더 구체적으로 말씀을 드리면,
Ethash를 위한 ASIC 장비를 쓰면 효율이 2배 상승
Progpow를 위한 ASIC 장비를 쓰면 효율이 1.1~1.2배 상승
이라고 언급합니다. 현재 Progpow 코드를 검사하기 위한 자금을 모집하는 단계에 들어갔고, 얼마전에 약 5만달러 정도의 자금이 모였다는 기사를 본적이 있습니다.
마지막으로, PoS전환은 금방 이뤄지지 않습니다. 이번 년도 안에 이뤄진다는 보장도 없고, 다음 년도 안에 이뤄진다는 보장 또한 없습니다. 따라서, 별도의 ASIC 저항을 가지는 합의 알고리즘을 만들려고 하는 것입니다.
그