Arweave 최신 2.7.2 버전은 무엇을 업그레이드했나요?

PermaDAO
2024-04-18 17:12:10
수집
최근 Arweave 하드포크가 합의 메커니즘을 업그레이드했습니다. 어떤 주요 사항이 있는지, 한 문장에서 최신 변화를 해석합니다.

최근, #Arweave는 블록 높이 1391330에서 하드 포크를 진행하여 합의 메커니즘을 2.7.2 버전으로 업그레이드했습니다. 이 버전에는 어떤 업데이트가 있을까요? 이 글에서 자세히 설명하겠습니다.

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

1. 협력 채굴 (Coordinated Mining)

협력 채굴은 여러 노드가 동일한 채굴 주소를 사용하여 채굴할 수 있게 해주는 채굴 방식으로, 블록 보상을 잃거나 블랙리스트에 올라갈 걱정이 없습니다. 채굴자가 이 방식을 사용하지 않을 경우, 두 개의 노드가 동일한 높이에서 동일한 채굴 주소로 블록을 발표하면 위반으로 간주됩니다. 이는 채굴자가 채굴 수익을 잃게 할 뿐만 아니라 해당 채굴 주소가 블랙리스트에 올라가게 만듭니다. 따라서 Weave의 서로 다른 하위 집합을 저장한 여러 노드가 더 많은 두 데이터 블록 해결(두 청크 솔루션) 방식의 계산 능력 이점을 얻을 수 있습니다.

여기서 언급된 두 데이터 블록 해결 방식(두 청크 솔루션)에 대해 궁금할 수 있습니다. 이것은 무엇일까요?

이전에 필자가 백서 시리즈 해설 기사에서 설명한 바와 같이, 각 VDF(초당 처리량)마다, 채굴자는 초당 각 분할에 대해 최대 2번의 성공적인 채굴 해결책을 찾을 기회를 가집니다. 여기서 각 시도를 Attempt라고 부르겠습니다. 첫 번째 Attempt는 채굴자가 저장한 분할에서 무작위로 데이터 블록을 찾아 해시를 생성하는 것입니다. 채굴자가 이 첫 번째 Attempt의 해시를 얻은 후, 이를 사용하여 모든 Weave 분할에서 두 번째 무작위 데이터 블록을 찾아 해시를 생성하여 두 번째 Attempt를 완료합니다. 채굴자가 두 번째 Attempt에서 해결책을 찾으면, 이는 그들이 두 개의 데이터 블록(청크)을 통해 채굴을 완료했음을 의미하므로 두 청크 솔루션이라고 합니다.

2.7.2 버전에서는 첫 번째 Attempt의 난이도가 크게 증가하여 채굴자가 one-chunk solution을 찾는 것이 매우 어려워졌습니다. 따라서 채굴자는 두 번째 Attempt를 수행해야 하며, 대략 100개의 두 청크 솔루션에 대해 한 번의 one-chunk solution 기회를 가질 수 있습니다. 이러한 방식은 채굴자가 가능한 한 많은 Weave 분할을 저장하도록 유도하는 목적을 가지고 있습니다. 새롭게 업데이트된 협력 채굴 방식에서는 채굴자가 모든 Weave를 저장하지 않고도 다른 채굴자와 협력하여 최대한의 채굴 효율을 달성할 수 있도록 허용합니다.

기본 시스템

협력 채굴 방식에는 두 가지 역할이 있습니다:

  1. 출구 노드
  2. 채굴자

클러스터의 모든 노드는 동일한 채굴 주소를 공유합니다. 각 채굴자는 그들이 저장한 분할에 대해 H1 해시를 생성합니다. 때때로 그들이 필요한 H2 해시는 그들이 저장하지 않은 분할에 위치할 수 있습니다. 이 경우, 그들은 협력 채굴 클러스터에서 해당 분할을 저장한 채굴자를 찾아 H1을 전송하여 H2를 계산하도록 할 수 있습니다. 유효한 해결책이 발견되면(한 청크 또는 두 청크), 이 해결책은 출구 노드(Exit node)로 전송됩니다. 출구 노드는 협력 채굴 클러스터에서 유일하게 슬래시 위험이 없고 블록을 발표할 수 있는 노드입니다. 출구 노드는 또한 이 채굴 주소의 개인 키를 저장한 유일한 노드입니다(따라서 오직 출구 노드만 블록에 서명할 수 있습니다).

협력 채굴 클러스터의 각 노드는 평소처럼 네트워크의 다른 노드와 피어 연결을 할 수 있습니다.

단일 채굴자 One-Chunk 프로세스

https://pbs.twimg.com/media/GLQiwonXoAANcx9?format=jpg\&name=medium

Note: Miner1은 충분히 많은 분할을 저장하여 H1과 H2를 동시에 얻을 수 있습니다.

협력 Two-Chunk 프로세스

https://pbs.twimg.com/media/GLQi6aDWgAEnnGD?format=jpg\&name=medium

구성

  1. 협력 채굴 클러스터의 모든 노드는 coordinated_mining 매개변수를 구성해야 합니다.
  2. 협력 채굴 클러스터의 모든 노드는 cmapisecret를 통해 동일한 비밀 매개변수를 구성해야 합니다. 이는 임의 길이의 문자열일 수 있습니다.
  3. 협력 채굴 클러스터의 모든 채굴자는 cmpeer 매개변수를 사용하여 클러스터 내의 다른 채굴자를 식별해야 합니다. Note: 출구 노드도 선택적으로 채굴을 수행할 수 있으며, 이 경우에도 채굴자로 간주되며 cmpeer 매개변수로 식별되어야 합니다.
  4. 모든 채굴자(출구 노드를 제외하고)는 cmexitpeer 매개변수를 사용하여 출구 노드를 식별해야 합니다.
  5. 협력 채굴 클러스터의 모든 노드는 정상적으로 구성할 수 있지만, 모두 동일한 채굴 주소 mining_addr를 지정해야 합니다.

성능 조정을 위해 두 개의 추가 매개변수를 사용할 수 있습니다:

  • cmoutbatch_timeout: 밀리초 단위로 협력 채굴 설정에서 다른 노드의 H1 값 배치를 전송하는 빈도. 높은 값은 네트워크 트래픽을 줄이고, 낮은 값은 해시 지연을 줄입니다. 기본값은 20입니다.
  • cminbatch_timeout: 밀리초 단위로 피어 노드에서 수신한 H1 배치를 처리하는 빈도. 높은 값은 중복 디스크 읽기를 줄이고, 낮은 값은 해시 지연을 줄입니다. 기본값은 20입니다.

초기 테스트에서 200에서 300은 많은 채굴 설정에서 좋은 절충안이 될 수 있습니다. 그러나 특정 채굴 클러스터 구성 및 하드웨어에 따라 최적의 값은 크게 달라질 수 있습니다.

2. 채굴 풀의 로컬 지원

현재 Arweave 노드는 채굴 풀 채굴에 대한 내장 지원을 제공합니다.

새로운 채굴 풀 채굴 관련 매개변수:

  • ispoolserver
  • ispoolclient
  • poolapikey
  • poolserveraddress

3. 채굴 성능 최적화

새로운 버전은 더 많은 채굴자가 최대 해시율을 달성할 수 있도록 몇 가지 최적화 및 버그 수정을 구현했습니다.

업데이트 요약:

  • 채굴 과정에서 사용되는 수평 분포 정도를 증가시켜 더 높은 분할 수에서의 성능 병목 현상을 제거합니다.
  • Erlang 가상 머신의 메모리 할당, 관리 및 가비지 수집을 최적화합니다.
  • 더 높은 분할 수에서 발생할 수 있는 몇 가지 메모리 부족 오류를 수정합니다.
  • 해시를 수행하기 전에 유효한 데이터 블록이 버려질 수 있는 오류를 수정합니다.

업데이트된 채굴 성능 보고서:

https://pbs.twimg.com/media/GLQjeH4WwAAD6lV?format=png\&name=medium

여기서:

  • H1 Solutions / H2 Solutions는 채굴 해결책이 발견된 유형의 수를 나타내며, H1 해시에서 발견된 것인지 H2 해시에서 발견된 것인지의 수를 보여줍니다.
  • Confirmed Blocks는 이 노드가 채굴한 블록의 수를 나타냅니다.
  • Cur 값은 최근 값(예: 지난 10초의 평균값)을 나타냅니다.
  • Avg 값은 전체 평균값을 나타냅니다.
  • Ideal은 주어진 VDF 속도와 현재 패키징된 데이터 양에 따른 최적 속도를 나타냅니다.
  • % of Max는 주어진 분할(또는 전체 Weave)이 얼마나 패키징되었는지를 나타냅니다.

4. 프로토콜 변경

2.7.2 하드 포크는 블록 1391330에서 진행되었으며, 다음과 같은 프로토콜 변경을 활성화했습니다:

  • one-chunk solution의 난이도를 100배 증가시켜 완전한 Weave 복사본 저장을 더 잘 유도합니다.
  • 추가 가격 전환 단계가 2024년 11월에 시작될 예정입니다.
  • GB/분당 340 Winston의 가격 상한을 시행하여 11월의 가격 전환까지 유지합니다.
  • 체크포인트 깊이를 50 블록에서 18 블록으로 줄입니다.
  • 저영향 스팸 공격을 방지하기 위해 불필요한 poa2 블록을 사전 거부합니다. 최악의 경우에도 이 공격은 블록체인에 미치는 영향이 미미하므로 실제 취약점이 아닙니다. 이 벡터를 차단하는 것은 좋은 위생 관행으로 간주됩니다.

자세한 내용은 관련 문서를 참조하십시오: https://github.com/ArweaveTeam/arweave/releases/tag/N.2.7.2

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축