Arweave 업그레이드 해석: 에너지 소비를 줄이고 스토리지 인센티브를 개선하는 방법

avatar
MarsBit
02-20
이 기사는 기계로 번역되었습니다
원문 표시

참고: 이 기사는 @BlazingKevin_ Twitter에서 가져온 것이며 MarsBit에서 다음과 같이 편집했습니다.

1/ Arweave 버전 2.6이 출시되었으며 3월 6일 하드포크 업그레이드가 완료될 예정입니다. 주제는 에너지 소비를 줄이고 스토리지 인센티브를 높이는 방법에 중점을 둡니다.

Arweave의 마지막 중요한 업그레이드는 2021년 2월 버전 2.4로 거슬러 올라갑니다. 이 버전은 SPoA에서 SPoRA로의 업그레이드를 완료하고 채굴자들이 데이터에 대한 액세스 속도를 높이도록 장려했습니다.

Arweave는 또 다른 주요 업그레이드를 환영하므로 이 기사에서는 모든 사람이 더 잘 이해할 수 있도록 이전 업그레이드를 검토할 것입니다.

2/ Arweave 1.5 (2018년 10월 메인넷 출시)

온라인에 올라왔을 때 직조 크기는 177Mi에 불과했는데 이번 섹션에서는 Arweave 네트워크의 독특한 용어를 소개하겠습니다. 여기서 처음 접한 용어는 블록 직조입니다.

블록체인은 Arweave 네트워크의 블록 구조로, 일반 블록체인의 일대일 연결 방식과 다릅니다.

3/ Arweave의 데이터 구조는 엄격한 단일 연결 리스트가 아닌 보다 복잡한 그래프 구조로, 구조의 각 블록은 총 3개의 블록, 현재 블록의 이전 블록과 다음 블록, 그리고 임의의 지점과 관련되어 있습니다. 이 블록은 리콜 블록(recall block/recall Chunk)이라고 불리며, 이는 블록 회전을 구성합니다(Arweave Yellow Book에 따름).

4/ 리콜 블록은 이전 블록의 해시와 높이를 기반으로 결정되며 암호화 원칙은 선택 시 리콜 블록이 확실하고 예측 불가능하다는 것을 보장합니다.

이때 Arweave의 성능은 다음과 같습니다.

아르위브

5/ PoW 및 PoS의 채굴 메커니즘과 달리 Arweave의 채굴 메커니즘은 액세스 증명입니다. Arweave 초기에 접근 증명은 새로운 블록을 패키징할 권리를 얻기 위해 채굴자가 과거 블록의 데이터에 접근할 수 있다는 것을 증명해야 한다는 것을 의미했으며, 이는 채굴자가 과거 데이터를 저장해야 한다는 것을 의미했습니다.

6/ 실제 작업에서 새로운 블록이 생성될 때마다 PoA는 기록 블록을 메모리 블록으로 무작위로 선택하고 채굴자가 메모리 블록을 새 블록에 넣도록 요구합니다.

아르위브

7/ 따라서 Arweave 네트워크에는 풀 노드와 라이트 노드의 개념이 없으며, 새로운 채굴자가 네트워크에 합류한 후에는 모든 과거 블록을 저장하는 것이 아니라 새로운 블록과 컨퍼런스 블록을 저장하는 것부터 시작하면 됩니다. 저장된 복제본(리콜 블록)의 수도 채굴자마다 다릅니다.

8/ PoA 합의에서는 채굴자가 메모리 블록을 저장해야 하지만, 채굴자가 모든 기록 데이터를 저장할 필요는 없습니다. 이전 사진을 보면 Arweave의 블록 시간이 2분인 것을 알 수 있습니다. 이 2분 동안 PoW를 위한 치열한 경쟁이 계속되고 있었습니다.네, Arweave의 PoA 합의에는 작업 증명이 포함되었습니다.

9/ 2분 채굴 과정은 두 부분으로 나눌 수 있는데, 우리가 이미 알고 있는 첫 번째 부분은 접근 증명입니다. 새로운 블록이 도착하면 2분 이내에 PoA 합의는 과거 블록을 무작위로 리콜 블록으로 선택합니다. 리콜 블록에 대한 접근 경로가 있는 채굴자만이 작업 증명 경쟁의 두 번째 부분에 참가할 수 있습니다. 광부는 메모리 블록이 저장되어 있지 않으므로 근처 광부에게 요청을 보낼 수 있습니다.

10/ 이 메모리 블록을 즉시 저장하고 역방향 속도로 작업 증명을 입력합니다. 여기에서 볼 수 있듯이 채굴자가 동기화하는 과거 블록이 많을수록, 동기화하는 희귀 블록이 많을수록 요구 사항의 첫 번째 부분을 전달할 가능성이 커집니다. Arweave는 과거 데이터 저장을 요구 사항에서 인센티브로 영리하게 변경합니다. 첫 번째 부분에서는 리콜 블록을 보유한 채굴자가 작업 증명에 들어갑니다.

11/ Arweave 버전 1.5에서 작업 증명은 리소스를 소비하고 하드웨어를 축적하는 순수한 해싱 파워 경쟁입니다. 2분의 결승선을 향해 광부들은 미친 듯이 계산을 하고, 2분의 시간이 만료되면 계산량이 가장 많은 광부가 승리하게 됩니다. 다음 블록을 위한 경쟁이 다시 시작됩니다.

12/ 이 PoA 설계에는 문제가 발생합니다. 첫 번째 부분에서는 채굴자가 근처 채굴자에게 메모리 블록을 다운로드할 수 있기 때문에 많은 채굴자가 과거 블록을 저장하지 않고 대신 병렬 컴퓨팅을 위해 대량의 GPU 하드웨어를 쌓는 것을 선택합니다. 이런 방식으로 두 번째 부분에서 약간 뒤처지더라도 여전히 많은 양의 컴퓨팅 성능에 의존하여 패배를 승리로 바꿀 수 있습니다.

13/ 이 전략은 점차 주류가 되었으며, 채굴자들은 과거 데이터의 저장과 복사본에 대한 빠른 접근을 포기하고 컴퓨팅 파워를 축적하는 것을 선택했습니다. 이 전략의 결과는 과거 데이터가 점차 중앙 집중화되고 전체 네트워크의 리소스 소비가 폭발적으로 증가한다는 것입니다.

원래 Arweave 네트워크 설계에는 GPU 스택에 제한이 없다는 결함이 있었습니다. 2019년 6월, Arweave는 버전 1.7을 출시했습니다.

14/ Arweave 1.7 (Random X 2019년 6월)

채굴자들의 엄청난 GPU 축적을 제한하기 위해 Arweave는 버전 1.7에서 Random X를 출시했습니다. Random X는 GPU나 Asics에서 실행하기 어려운 해시 방정식입니다. 채굴자가 채굴을 위해 GPU를 축적할 수 없으면 단일 CPU에만 의존하여 작업량 증명을 완료하여 에너지 소비를 줄일 수 있습니다.

15/ Arweave에는 풀노드라는 개념이 없기 때문에 채굴자들이 합의를 유지할 필요가 없는데, 사용자가 트랜잭션을 보내면 채굴자들이 서로 동기화를 공유하게 되나요? 대답은 '예'입니다. 제가 채굴자라고 상상해 보세요. 새 블록을 채굴할 때 최대의 이익을 얻기를 바라야 합니다. 사용자 트랜잭션을 받으면 네트워크의 다른 채굴자에게 트랜잭션을 전파하도록 선택합니다. 이 방식으로, 다른 채굴자들도 그들이 받은 거래를 동기화할 것입니다.

16/ 인센티브라고 볼 수 있는데, 채굴자들이 서로 거래를 공유하지 않으면 승리한 채굴자가 패키징한 블록의 거래 수가 줄어들게 되고 사용자 경험이 저하된 후 네트워크는 다음과 같은 상태에 빠지게 됩니다. 죽음의 나선. 수익을 창출하기 위해 채굴자는 거래를 적극적으로 동기화합니다.

17/ Arweave는 스토리지 네트워크로, 일반 블록체인과 달리 트랜잭션의 최대 크기는 5.8MB입니다. 채굴자는 모든 거래를 동기화하고 2분 이내에 작업 증명을 완료해야 하며, 이는 거래 전송 속도에 대한 요구 사항을 부과합니다.

18/ 동시에 Arweave 네트워크의 확장성도 제한됩니다. 채굴자는 메모리 블록의 액세스 또는 다운로드가 첫 번째 부분에서 완료되고 사용자의 새로운 트랜잭션이 동기화되도록 가능한 한 많이 보장해야 합니다. 작업량 증명의 두 번째 부분인 광부는 동일한 출발선에 있을 수 없습니다. Arweave의 네트워크 개발은 트랜잭션 전송 속도 병목 현상(전송 병목 현상)에 직면합니다.

19/ Arweave 1.8 (2019년 10월 최대 트랜잭션 크기가 10MB로 두 배 증가)

5.8MB의 크기는 일반적인 트랜잭션에는 충분하지만 스토리지 네트워크에는 여전히 너무 작으며 때로는 오디오 및 비디오는 물론 사진조차 수용할 수 없습니다. 2019년 10월 Arweave는 단일 트랜잭션의 최대 크기를 10MB로 늘렸습니다.

20/ 그러나 거래 전송의 병목 현상은 아직 해결되지 않았으며, Arweave의 궁극적인 목표는 인류 역사를 저장하고 현대적인 알렉산드리아 도서관이 되는 것입니다. 이를 위해 Arweave는 확장성 문제를 해결해야 합니다. Arweave는 전 세계 여러 지역에 채굴자가 흩어져 있는 분산 네트워크 아키텍처입니다. 객관적으로 말하자면, 채굴자들이 사용하는 하드웨어와 그들이 가지고 있는 네트워크 조건은 서로 다르며 통합될 수 없습니다.

21/ Arweave 네트워크의 성능은 실제로 모든 노드의 평균 전송 속도에 따라 달라집니다. 네트워크의 채굴자 수를 늘리면 단위 시간당 동기화된 데이터에 대한 전송 속도 요구 사항이 높아집니다. 무턱대고 채굴자를 추가하거나 트랜잭션 및 블록 크기를 늘리면 됩니다. 결과적으로 사용자 트랜잭션이 손실되므로 현 단계에서 Arweave는 확장성을 향상시킬 수 없으며 네트워크의 과거 데이터 증가율은 낮은 수준입니다.

22/ Arweave 2.0 (SPoA 2020년 3월)

전송 병목 현상을 해결하기 위해 Arweave는 버전 2.0에서 간결한 증명(간결한 증명)과 형식 2 트랜잭션(새로운 트랜잭션 형식)이라는 두 가지 개념을 도입했습니다.

간결한 증명은 일반적인 기술인 머클 트리(Merkle tree)를 사용합니다. 여기서 채굴자는 새 블록을 패키징할 때 리콜 블록에 대한 복사/액세스 권한이 있음을 증명하고 새 블록에 리콜 블록을 포함해야 합니다.

23/ 이는 메모리 블록을 저장하지 않은 채굴자들이 먼저 대역폭을 소비하여 근처 채굴자들로부터 전체 메모리 블록을 다운로드하도록 강제합니다. 단일 트랜잭션의 용량이 증가함에 따라 블록 크기도 증가하며, 메모리 블록을 전송하는 데 필요한 대역폭 요구 사항도 늘어납니다. 또한 증가하고 더욱 개선됩니다. 수익을 극대화하기 위해 채굴자는 다른 채굴자의 거래를 최대한 기다려야 하며, 메모리 블록을 저장하지 않은 채굴자는 메모리 블록을 동기화한 후에만 거래 공유를 시작합니다.

24/ 블록 크기의 증가로 인해 채굴자가 거래를 공유하는 시간이 단축되고, 일부 채굴자는 모든 거래를 동기화하지 않고 작업 증명을 시작해야 합니다. 이 문제를 해결하기 위해 간결한 증명은 채굴자가 메르켈 트리 정렬 방식에 따라 메모리 블록을 패키징할 수 있도록 하고, 최종적으로 간결한 증명이라고도 불리는 루트 증명을 생성하여 채굴자가 할 수 있음을 증명하는 데 사용됩니다. 기록 블록을 저장합니다.

25/ 간결한 증명은 리콜 블록을 대체하고 채굴자가 동기화하거나 새 블록에 넣을 수 있어 블록 공간과 블록 전송 비용을 절약할 수 있습니다.

Format 2 트랜잭션은 Arweave가 도입한 새로운 트랜잭션 형식으로, 블록이 상한선 없이 수용할 수 있는 트랜잭션 볼륨을 늘리는 데 도움이 됩니다. 이전 거래 데이터에는 헤더와 데이터가 포함되어 있으며 분리할 수 없습니다.

26/ 형식 2에서는 트랜잭션의 헤더와 데이터를 분할할 수 있는데 왜 트랜잭션을 분할하면 상한 없이 블록 트랜잭션 규모가 늘어날 수 있나요? 버전 2.0의 2분 블록 시간으로 돌아가 보겠습니다. 첫 번째 부분에서는 채굴자가 간결한 증명을 동기화하고 신속하게 블록 연결을 설정하고 호출합니다. 동시에 이전 버전의 거래 형식은 삭제되지 않았습니다.

27/ 첫 번째 부분에서는 형식 1 거래가 채굴자 간에 완전히 동기화되며 헤더와 데이터가 분할되지 않습니다. 차이점은 사용자가 발행한 형식 2 트랜잭션의 헤더만 새 블록에 들어가고, 헤더만 채굴자 간에 동기화된다는 점입니다.

아르위브

28/ 간결한 증명과 형식 2 트랜잭션의 도입으로 첫 번째 부분에서 채굴자 간에 동기화되는 데이터의 양이 크게 줄어들었고 Arweave의 확장성이 향상되었습니다. 새로운 블록이 생성되면 블록 구성은 회수된 블록의 간결한 증명, 형식 1 트랜잭션의 전체 데이터, 형식 2 트랜잭션의 헤더로 구성됩니다.

29/ 이때의 블록은 거대한 레고 모델이라고 상상하실 수 있는데, 가운데 많은 부분이 비어 있는데, 이 빈 부분이 포맷 2 트랜잭션의 데이터 부분입니다. 다음 블록이 두 번째 부분에 도달하면 데이터 데이터가 동기화되며, 워크로드 증명은 대역폭을 차지하지 않기 때문에 CPU가 해시 계산을 수행할 때 이전 블록의 미전송 데이터 데이터를 동기화하는 데 대역폭을 사용할 수 있습니다.

30/ 트랜잭션 헤더만으로 새로운 블록이 생성되면 헤더를 통해서도 검증이 가능하기 때문에 문제가 없지만, 현재 블록은 언젠가는 메모리 블록으로 사용되기 때문에 추후에 데이터를 보완해야 합니다. 미래에는 메모리 블록이 간결하게 Proof로 살아남을 수 있지만 데이터가 완전해야 합니다.

31/ 이 시점에서 Arweave의 확장성이 출시되었지만 새로운 문제가 발생했습니다. 위에서 언급한 GPU를 적층하는 전략과 달리 SPoA의 도입으로 인해 채굴자들은 또 다른 잘못된 길을 택하게 되었습니다. 우리는 간결한 증명의 도입으로 채굴자가 블록 정보를 동기식으로 신속하게 기억할 수 있다는 것을 알고 있습니다. 채굴자는 더 이상 과거 블록을 저장하지 않고 다른 채굴자가 동기화한 간결한 증명을 기다리고 채굴 하드웨어에 대한 비용을 상쇄합니다.

32/ Arweave 2.4(SPoRA 2021년 2월)

PoA는 액세스 속도가 아닌 영구 저장만 보장할 수 있습니다. 데이터 검색에서 경쟁 우위가 없으면 채굴자는 별도의 분산 노드를 유지하는 대신 원격 스토리지 풀을 사용하는 이점을 누릴 수 있습니다. 채굴자가 더 이상 기록 복사본을 저장하지 않는 문제를 해결하기 위해 Arweave는 SPoA를 SPoRA(간결한 무작위 액세스 증명)로 업그레이드했습니다.

33/ 다시 블록타임 2분으로 돌아가 보겠습니다. 첫 번째 부분에는 변화가 없습니다. 채굴자는 간결한 증명을 동기화하여 두 번째 부분에 참여할 수 있습니다. 대부분의 채굴자는 원격 스토리지 풀을 사용하기로 선택합니다. 대역폭 속도가 증가합니다. , 빠른 동기화 및 원격 메모리 액세스가 가능하므로 자체 스토리지 풀을 구축할 필요가 없습니다.

34/ SPoRA의 도입으로 두 번째 부분이 달라집니다. SPoRA가 제안하는 해시 계산에서는 채굴자가 리콜 블록의 특정 거래에 대한 해시 값을 계산하고 가볍고 간결한 증명을 생성해야 하며, 두 번째 부분으로 진행할 때, 채굴자 간에 간결한 증명을 전달할 수 없습니다.

35/ 자체 스토리지 풀을 구축하지 않은 채굴자의 경우 강제로 첫 번째 부분으로 돌아가서 원격 스토리지 풀에서 해시 값을 찾은 다음 작업량 계산의 두 번째 부분을 입력해야 한다고 상상할 수 있습니다. 그러나 SPoRA의 메모리 블록 해시 계산은 무작위적이고 중단되지 않으며 개인 스토리지 풀이 없는 채굴자는 계속해서 첫 번째 부분으로 반환됩니다.

36/ 이러한 설계에서는 채굴자가 자신의 개인 스토리지 풀을 유지해야 하며, SPoRA는 이전 채굴자의 블록 생성 확률에 대한 가중치를 줄이고 데이터 액세스 속도를 고려합니다.

37/ SPoRA는 CPU 간의 리소스 풀링을 억제하여 보다 분산되고 효율적인 블록 위빙을 생성하여 채굴자가 로컬 하드웨어 및 노드를 유지하는 데 집중할 수 있도록 하고 지리적 다각화 및 분산화를 달성하여 채굴자에게 인센티브를 제공합니다. 데이터를 보다 효율적이고 빠르게 복제합니다. (Arweave Yellow Book에서 발췌)

38/ 새로운 디자인은 새로운 문제를 가져옵니다. 이제 우리는 채굴자가 개인 하드 드라이브에 가능한 한 많은 기록 사본을 저장할 수 있도록 보장할 수 있습니다. 그러나 위에서 언급한 것처럼 SPoRA는 데이터 접근 속도를 고려하므로, 채굴자가 SPoRA가 요구하는 거래 데이터를 하드 디스크에서 빠르게 찾지 못하고, 가볍고 간결한 증명을 제때 생성하지 못하면 채굴 보상을 받을 수 없습니다.

39/ SPoRA를 통해 채굴자는 하드 디스크 읽기 속도를 추구하고, 데이터를 더 빠르게 검색할 수 있으며, 해시 값을 더 빠르게 계산할 수 있어 더 높은 보상을 얻을 수 있습니다. 또한 하드디스크 가격은 기본적으로 읽기 속도에 비례하는데, 70달러짜리 기계식 하드디스크의 읽기 속도는 750MB/s, 700달러짜리 솔리드스테이트 하드디스크의 읽기 속도는 7300MB/s이다.

40/ 채굴자가 더 높은 수익을 원한다면 더 높은 비용을 지불해야 합니다. 이는 합리적인 메커니즘이지만 더 나은 솔루션이 있습니다. SPoRA는 Arweave 채굴자의 진입 임계값을 고려하지 않으며, 이로 인해 Arweave의 확장성이 제한됩니다.

위의 내용은 @ArweaveEco 에 대한 것입니다. @ArweaveNewsCN 의 이전 업그레이드 리뷰 입니다. 글이 좀 길었습니다. 읽어주신 모든 분들께 감사드립니다. 다음

Arweave2.6을 제 입장에서 이해하겠습니다. 감사합니다

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트