
[Abstract] 지난 10년 동안 비트코인 채굴은 컴퓨팅 파워의 군비 경쟁이었습니다: 역방향 SHA256 해시 함수 문제를 해결하는 것은 최적화하기 쉬운 목표이며, 게임은 CPU에서 실행되는 것에서 GPU에서 실행되는 것으로 빠르게 발전합니다. 특수 설계된 ASIC에서 실행되며 마이닝 풀 기술도 채택합니다. 채굴은 많은 전기를 소비하기 때문에 채굴자들은 채굴 작업을 수행하기 위해 전기가 저렴한 곳을 찾고 있습니다. 이것들은 분명히 Satoshi의 기본 원칙인 "하나의 CPU, 하나의 표"에 도전하는 것입니다. 즉, 특수 하드웨어와 저렴한 전기를 사용하기 위한 군비 경쟁은 결국 채굴의 평등주의 원칙을 뒤집고 비트코인 채굴을 중앙 집중화로 선호했습니다.
연사: Zhu Jiang 박사
진행자: 클레어 우
클레어: 안녕하세요 여러분! 저는 오늘 밤 호스트인 Claire이고 오늘 밤의 게스트 연사인 Dr. Zhu Jiang은 공정한 채굴 중 하나인 컴퓨팅과 스토리지 사이의 전투라는 매우 핵심적인 주제를 여러분과 공유할 것입니다.
공정한 채굴에 대해 [Magic Piper 기술 개발 커뮤니티]에서 열띤 토론이 시작되었습니다. 연사가 참고할 수 있도록 여기에 모든 사람의 견해를 요약하겠습니다.
Martian Fox: 먼저 설명하겠습니다. 분배는 어떻게 공정합니까?
Evan Liu : 먼저 "공정성"을 정의해야 합니다. "공정성"은 주관적인 가치 판단이며 주관적인 가치 판단은 사람마다 다릅니다. 따라서 보편적 가치라는 의미에서 일관된 정의가 없습니다. 따라서 저는 개인적으로 글로벌 "공정한" 마이닝을 달성하는 것은 불가능하며 소위 "공정한 마이닝"은 "1984"의 은유를 빌릴 수 있어야 한다고 생각합니다. 모든 동물은 평등하지만 일부 동물은 다른 사람보다 더 평등합니다.
Yunhai: 규칙은 공정성을 보장합니다. 채굴기에는 우선 순위가 없습니다. 그들은 모두 동등합니다. 총 컴퓨팅 파워와 난이도가 극도로 높기 때문에 공정성을 보장하는 소위 슈퍼 채굴기가 없습니다.
SHAN: Evan Liu에 동의합니다. 평생 채굴기를 살 수 없는 서부의 농부들에게 POW가 공정한지 아닌지는 중요하지 않습니다.
오이타: 공정성, 규칙은 모든 참가자에게 동일합니다. 드물게 정의입니다.
Gadfly: 채굴 같은 건 공정하기 어려워야 한다고 생각합니다. POW든 POS든 우선 하드파워가 있어야 한다. 어느 정도 기본 실력을 갖춘 채굴자에게만 공정하다고 할 수 있다.
Justin: 마이닝은 원래 개인이 계정을 유지할 수 있는 것이었지만 지금은 모두 대규모 마이닝 팜과 마이닝 풀이 되어 중앙 집중화되었으며 일부 과점은 Satoshi Nakamoto의 원래 분산화 의도에서 벗어났습니다. . 또한 클라우드 마이닝과 마이닝 머신 호스팅이 있지만 여전히 광산과 풀이 피부를 선택하도록 해야 하며 관리 수수료를 설정하고 컴퓨팅 파워 판매 가격도 설정하며 채굴 수입은 명확하게 계산 . . . 하하하 예전에 마이닝에 대해 좀 배웠는데 과도한 중앙 집중화에 대한 개선 모드가 있는지 모르겠습니다. 사실 채굴은 현재까지 발전했고, 더 이상 누구나 원래 상상했던 것처럼 채굴을 할 수 있는 것은 아니다. 애초에 이런 결과를 생각했는지 모르겠다. 게다가 BTC는 POW지만 블록을 터뜨리는 마이닝풀은 항상 12개 이상이지만 EOS와 같은 DPOS다.
PiNetwork의 초기 탐험가: 모두가 프로젝트 파티에서 프로젝트를 얻기 위해 동전을 파야 하며 에어드롭은 없습니다! 대수도 없고 계층도 없습니다! 그리고 그들은 모두 서로에게 가치를 제공합니다.
Wang Chengwei: 에어드롭 코인이 없습니다. 일부 사람들이 보상 없이 그러한 프로젝트를 할 의향이 있다고 생각하십니까?
개드플라이: 모든 사람이 평등하다는 것은 불가능합니다. 사람마다 능력과 강점이 다릅니다. 프로젝트에 대한 투자 수준도 다릅니다.
PiNetwork의 초기 탐험가: 에어드롭은 없습니다. 즉, 초대와 초대 사이의 관계, 가치의 상호 기여입니다! 한 파티가 서로 채굴하지 않는 한 서로의 채굴량이 줄어듭니다!
Guanmuhu: 채굴의 공정성이 더 포괄적이고, 더 많은 사람들이 참여하고, 네트워크의 가치가 더 가치 있고 안전해질 것이라고 생각합니다.
Xiaomi Pigeon: 호스팅 센터에서 마이닝 머신을 도난당한 경우 어떻게 해야 합니까?
Wei Honggui: 공정성과 관련하여 이 만화는 여러 분야에서 인용되었으며 논란이 되기도 했습니다.
Claire: 토론에 참여하고 질문을 해준 Pied Pipers에게 많은 감사를 드립니다. 이제 오늘 밤의 초청 연사인 Dr. Zhu Jiang을 소개하겠습니다.
Zhu Jiang 박사의 프로필에서 나는 그에게 빛나는 후광을 희미하게 느낄 수 있습니다.국내에서 그는 오랜 역사를 가진 유명한 학교에서 공부했으며 이전에 종사했던 산업도 현재 가장 인기가 있습니다. . 나는 Zhu 박사의 이전 기사를 읽었으며 사람들과 매우 가까운 간단한 방식으로 작성되었으며 Xiaobai는 그가 설명하고 싶은 것을 대략적으로 이해하고 생각을 불러 일으키고 질문을 할 수 있습니다.
오늘의 주제로 돌아가서 평등 채굴. Bitcoin 마이닝이 큰 성공을 거두었고 Bitcoin 네트워크의 보안을 보장한다는 데는 의심의 여지가 없습니다. 최신 Hurun 보고서에는 광산 업계에서 5명의 신규 진입자가 있습니다. 그러나 오늘날 평범한 사람들은 이 까다롭지만 수익성 있는 산업에 더 이상 비집고 들어갈 수 없습니다. 평범한 사람들이 더 많은 기회를 얻기 위해 어떻게 이 경주에 참가할 수 있습니까? 오늘 밤 Pied Piper 그룹 구성원이 제기한 모든 질문과 함께 Zhu Jiang 박사를 초대하여 우리 모두가 매우 우려하는 질문을 설명합니다.
"Equal Mining One: 컴퓨팅 및 스토리지 경쟁"
Zhu Jiang 박사님 제발...
Zhu Jiang: 호스트 Claire에게 초대와 소개에 감사드립니다.
안녕하세요 소테리아 창업주 주자장입니다. 오늘 온라인 공유에 와주셔서 감사합니다. 오늘은 채굴에 대해 말씀드리겠습니다. 나는 기술적인 괴짜이지만 이해하기 쉬운 언어와 예를 사용하여 귀하와 논의하려고 노력할 것입니다. 수학 공식을 사용하지 않을 것을 약속합니다.나타나더라도 중학생 입시 요강의 범위 내입니다. 안심하셔도 됩니다.
마이닝의 원리부터 시작하여 공정성을 달성하는 방법에 대해 논의하고 마지막으로 시간이 허락하는 경우 SoteriaDAG의 포괄적 기능을 결합하여 평등 마이닝 문제를 해결하는 방법을 소개합니다. 물론 시간은 항상 빠르게 흐르고 있으니 늦으셨다면 추후에 같은 주제로 올릴 글을 기대하시거나 저희https://github.com/soteria-dag/soterd
블록체인 시스템에서 PoW 마이닝의 메커니즘을 간략하게 살펴보겠습니다. PoW 마이닝의 본질은 실제로 다음 네 가지 중요한 기능을 가진 계산적으로 어려운 게임입니다.
1. 솔루션 프로세스가 매우 어렵습니다.
2. 인증 절차가 매우 간단합니다.
3. 주제 자체가 일부 문자 메시지에 연결되어야 합니다.
4. 질문은 무작위로 생성되며 필요에 따라 난이도를 조정할 수 있습니다.
비트코인 네트워크에서 이 디지털 문제는 "역 SHA256 해시 함수를 해결"하도록 설계되었습니다. 채굴 과정에서 채굴자는 비트코인의 80바이트 블록 헤더 데이터에 대해 두 가지 SHA256 작업을 수행하고 작업 결과는 A 문자열입니다. 길이는 256비트(32바이트)입니다. 현재 난이도 값과 비교하여 현재 블록이 적법한지 판단합니다. 즉, 다음 조건이 충족됩니다.
SHA256(SHA256(block_header))< difficulty
공식을 보세요, 아주 간단합니다. [Yeah!] 오늘의 공식은 이것뿐~
위의 조건이 충족되지 않으면 블록 헤더의 임의 값을 변경해야 블록 헤더의 데이터가 변경되어 조건을 충족하는 블록을 찾을 수 있습니다. 이것이 PoW 메커니즘의 핵심입니다. 단방향 기능을 사용하고 보상 메커니즘의 도움을 받아 채굴자는 지속적으로 임의의 숫자를 시도하여 적격한 블록을 찾고 일정량의 계산을 완료하여 지속적으로 보장하도록 권장됩니다. 시스템의 보안 및 안정성.
다음으로 합의 및 네트워크 전송 문제에 대해 논의해 보겠습니다. 위에서 언급한 PoW 채굴 방법에 따라 조건을 만족하는 솔루션을 찾았다고 가정할 때 발굴한 블록이 유효한지 어떻게 확신할 수 있습니까? 이것이 블록체인의 또 다른 기본 포인트인 비동기식 합의입니다. 모든 사람이 특정 계약을 주의 깊게 연구했으므로 여기서는 반복하지 않겠습니다. 그러나 나는 여러분에게 우리가 나중에 논의할 내용을 이해하는 데 도움이 될 매우 지각적인 이해를 줄 수 있습니다.
세부 사항은 다음과 같습니다. POW의 보안은 개인 컴퓨팅 파워가 전체 네트워크 컴퓨팅 파워의 50%를 초과하지 않는다는 사실을 기반으로 합니다. 근본적인 필요 조건은 모든 노드가 네트워크의 다른 노드와 공정하게 경쟁해야 한다는 것입니다. 모두가 함께 출발해야 하는 경주와 같습니다. 블록체인 시스템은 비동기식 시스템이며 POW의 보안은 시스템 상태가 거의 동기화된 경우에만 보장될 수 있습니다.
실제로 POW 채굴 보상의 중요한 원칙은 채굴자들이 채굴한 블록을 가능한 한 빨리 방송하고 네트워크에서 수신하도록 보상하는 것과 동시에 네트워크에서 전송되는 다른 블록을 능동적으로 수신하는 것입니다. 기후 처리가 불가능한 체인(가장 긴 체인 원칙)에 컴퓨팅 성능 낭비. 이 입출력(TX/RX)의 본질은 네트워크의 동기화를 보장하기 위해 시스템 프레임워크에서 채굴자의 자연스러운 동작을 사용하는 것입니다.
당신이 어렸을 때 학교에 갔을 때, 당신은 자주 시험을 봤습니다. 그 때 선생님은 앞줄에 있는 아이들의 신발에 종이를 주고 앞에서 뒤로 하나씩 넘겼습니다. 맨 마지막 줄에 앉은 아이들의 신발은 항상 서류를 아주 늦게 받습니다. 글쎄요, 시험지를 받았을 때 아이들의 신발을 만들기 시작했다면, 마지막 줄에 있는 학생들이 시험지를 받았을 때, 첫 번째 줄에 있는 학생들은 이미 오랫동안 그것을 하기 시작했고, 그들은 아마도 그것을 끝내십시오. 그것은 불공평합니다.
그래서 교사는 각 학생에게 종이를 받으면 책상에 버클을 채우라고 지시하고 모두가 종이를 받은 후 교사는 "지금 시간 기록 시작"이라고 말한 다음 모두 시작할 수 있습니다. 이것은 공정한 경쟁이 가져오는 동시성입니다. 자, 시험실이 어떻게 생겼는지 살펴봅시다.
여기에는 두 가지 변수가 있습니다. 첫 번째는 서류를 통과하는 시간이고 두 번째는 질문을 하는 시간입니다. 두루마리는 한 장의 종이일 수도 있고 두꺼운 더미일 수도 있습니다. 교사가 종이를 인쇄할 때 각 페이지에 전체 학급의 양을 인쇄하기 때문에 종이를 하나씩 전달해야 한다고 가정합니다. 따라서 시험지는 30분 만에 합격할 수도 있고, 모두 발송하지 않고 10분 만에 합격할 수도 있습니다. 마찬가지로 주제도 어렵고 쉬운데 똑똑한 아이는 계산기로 10분 안에 끝낼 수 있고, 엄격한 아이는 입으로 완전히 할 수 있으며 마치는 데 2시간이 걸릴 수도 있습니다.
이제 내가 시험지가 발행될 것이라고 말한 이유를 이해하셨을 것입니다. 시험지는 블록 크기에 해당하고 문제의 난이도는 블록 생성 시간에 해당합니다. 또는 해싱의 어려움. 작은 차이점은 블록 시스템에서는 모든 사람에게 "지금부터 시간 계산을 시작하십시오"라고 말하는 교사가 없으며 대신 아동용 신발이 시험지를 받자마자 시작한다는 것입니다.
특히, 새로 생성된 각 블록에 대해 네트워크 전파 시간이 30분(네트워크 브로드캐스트 반경)이라는 리듬이 있습니다. 각 광부는 새 블록을 수신하고 그것이 올바른지 확인한 후 채굴을 시작합니다. 새로운 블록은 새로운 시험지와 같으며 네트워크 전파는 시험지의 발행입니다. 그리고 이 종이가 모든 학생들에게 배포되는 데 최소 30분은 걸리지만 매 라운드마다 누군가는 항상 다른 사람보다 30분 먼저 종이를 받을 것입니다. 하지만 광부들은 상관없다고 생각합니다. 우선 문제가 상당히 어렵습니다. 시험 시간은 10분이고, 시험지를 30분 늦게 받아도 큰 영향이 없습니다. 둘째, 교실에서 하는 시험과 달리 , 모든 사람의 자리는 무작위이며 종종 교환에서 시험지를 먼저 받는 사람이 매번 다르기 때문에 문제가 없습니다.
일부 불운한 채굴자들은 TA가 새 블록을 발굴하는 30분 동안 네트워크 반대편에서 새 블록을 생성했으며 새 블록은 아직 그에게 전파되지 않았습니다. 그래서 그의 새로운 블록은 무자비하게 떨어졌습니다. 즉, 고아 블록이 되었습니다. TA의 작업은 무자비하게 낭비되었습니다. 하지만 이 문제를 피할 방법은 없습니다. 디자인은 승자독식이지만 TA는 실제로 객관적으로 전체 네트워크의 보안에 기여했습니다(500단어의 게임 이론 분석은 여기에서 생략됨).
원래 여기에서 말하면 일반적으로 용량 확장 문제로 계속 확장되지만 오늘날의 관점에서 우리는 여전히 채굴 문제에 집중하고 있습니다. 용량 확장 및 SoteriaDAG의 확장 계획에 대해서는 이전에 작성한 몇 가지 기술 문서를 참조할 수 있습니다.
『 Soteria | 블록 그래프는 사토시 나카모토 합의가 개발 병목 현상을 돌파하는 핵심 기술입니다(1) 』
『Jiang Zhu | 블록 그래프는 Satoshi Nakamoto 합의가 개발 병목 현상을 돌파하는 핵심 기술입니다(2)』
자, 채굴 작업을 계속 공부해 봅시다. 지금 나는 시험실에서 각 어린이의 신발이 다른 속도로 이루어 졌다고 간단히 언급했습니다. 일부 어린이 신발은 입으로 완전히 계산되고 일부 어린이 신발은 경기장에 계산기를 가져오고 더 과장된 학생은 휴대 전화를 가져와 부모와 통화합니다. 고사장 밖에서 실시간 소통, 부모가 식구 1인당 계산기를 가져와 동시에 N계산 문제 풀기 가족들조차 계산기는 손에 안 들고 양자컴퓨터 연결 클라우드 컴퓨팅으로.
그래서 여기에 문제가 옵니다. 계산기가 있는 어린이 신발은 구두 계산이 있는 어린이 신발보다 빨라야 합니다(반드시 그런 것은 아닙니다. 예를 들어 내 구두 계산이 계산기보다 빠릅니다. 이것은 또 다른 주제입니다). 컴퓨터가 병렬 계산을 수행할 수 있는 아동용 신발은 단순히 하늘을 배경으로 합니다.
위의 분석에 따르면 그 당시 교실에 닭 깃털이 많을 것입니다. 막대한 에너지 낭비, 낭비로 인한 전체 네트워크 보안의 급격한 저하. 보안 공격이 없더라도 모든 거래 수수료와 채굴 급여는 "승자 독식" 게임 규칙 때문에 이 "반항" 학생들에게 모두 빼앗깁니다.
물론 그것은 공평하지 않고 매우 불공평합니다. 사실 비트코인과 다른 PoW 블록체인 프로젝트는 이러한 불공평한 문제에 직면해 있습니다. 지난 10년 동안 비트코인 채굴은 컴퓨팅 파워 경쟁이었습니다: 역 SHA256 해시 함수 퍼즐을 푸는 것은 쉬운 최적화 목표이며, 게임은 CPU에서 실행하는 것에서 GPU 작업으로 실행하는 것으로 빠르게 진행된 다음 실행으로 전환됩니다. 특별히 설계된 ASIC에서 마이닝 풀의 기술까지 채택합니다.
채굴 작업은 또한 많은 전기를 소비하므로 채굴자들은 수력 발전소 근처와 같이 채굴 작업을 수행하기 위해 전기가 저렴한 장소를 찾게 되었습니다. 이것들은 분명히 Satoshi의 기본 원칙인 "하나의 CPU, 하나의 표"에 도전하는 것입니다. 즉, 특수 하드웨어와 저렴한 전기를 사용하기 위한 군비 경쟁은 결국 채굴의 평등주의 원칙을 뒤집고 비트코인 채굴을 중앙 집중화로 선호했습니다.
집중의 직접적인 결과는 독점이며 전체 시스템의 보안을 심각하게 손상시킬 수 있습니다. 먼저 워밍업을 위해 GPU 이미지를 보냅니다.
그런 다음 처음에 이야기했던 PoW 채굴의 기본으로 돌아갑니다.
PoW 마이닝의 역 SHA256 해시 함수의 문제는 실제로 계산 집약적인 알고리즘입니다. 먼저 CPU와 GPU 환경에서 이 알고리즘의 상황을 살펴보자. 이 알고리즘은 특히 많은 양의 메모리를 필요로 하지 않습니다. 따라서 CPU의 경우 4개의 코어가 있고 모든 데이터는 캐시 또는 SRAM에 배치되며 공간은 무시할 수 있지만 4개의 코어만 있기 때문에 4개의 프로세스만 시작할 수 있다고 가정합니다. GPU의 경우 일반적으로 1000~3000개의 컴퓨팅 유닛이 있으므로 수천 개의 프로세스를 시작할 수 있습니다. 물론 각 프로세스의 효율성은 CPU만큼 좋지 않을 수 있지만 전체 효율성이 수백에서 수천 배 증가한다면 전혀 문제가 없습니다.
물론, 그러나 그러나. . . ASIC의 경우 하나의 코어에 수천 개의 게이트 회로가 있어 CPU와 GPU가 하나의 클록 사이클에서 수천 개의 클록 사이클로 완료해야 하는 작업을 완료할 수 있습니다. 채굴기의 거의 핵심은 그래픽 카드 위에 있습니다. 따라서 ASIC의 마이닝 효율은 CPU나 GPU의 100만배에 달하며 기본적으로 ASIC이 없으면 승리할 가능성이 없습니다.
잠시 여기서 멈추고 이러한 수치를 소화하고 이러한 시나리오의 비교가 얼마나 무력한지 봅시다. 평생 채굴기 살 여유가 없는 서양 농부들에게 제가 얼마나 말문이 막힐까요~ 뭐 그래도 우리는 아직 감정이 있고 이런 불의에 만족할 수 없겠죠? 그렇다면 전체 계산 과정에서 1G 메모리를 사용해야 하는 마법의 알고리즘이 있다면 어떻게 될까요?
코어가 4개인 CPU의 경우 보수적으로 4G 메모리를 장착하면 계산을 위해 동시에 최대 4개의 프로세스를 실행할 수 있다. 여기서는 가상 메모리를 고려하지 않습니다. 너무 느리고 스케줄링 및 스와핑 프로세스가 토스하기에 충분하지 않기 때문입니다. GPU에 관한 한, 그래픽 카드가 아무리 고급이라도 메모리는 몇 기가바이트에 불과합니다.4G를 가정하면 동시에 계산하기 위해 4개의 프로세스를 실행합니다. 모든 컴퓨팅 장치를 사용하려면 4TB에서 12TB의 SRAM을 설치해야 하는데 이는 이미 다소 비현실적입니다. ASIC의 상황은 더욱 끔찍합니다. 메모리 요구 사항은 수천 배 또는 수만 배입니다. 나는 다시 멈추고 모두가이 숫자 배치를 다시 소화합니다. 서부의 농부로서 적이 광산을 파는 데 많은 돈을 쓰는 것을 보면 조금은 나아지지 않습니까?
이러한 분석을 바탕으로 프로세서 기술과 메모리 기술의 발전 추세를 살펴보자 주요 목적은 이러한 유형의 마이닝 머신이 가까운 미래에 우리를 말문이 막힌 표준으로 돌아갈 수 있는지 확인하는 것입니다.
이 그래프는 매우 분명합니다. 1980년대 이후 컴퓨팅 기술의 혁신은 완전히 무어의 법칙을 따랐고 연간 성능 향상은 기본적으로 약 60%에서 안정화되었습니다. 그러나 스토리지 기술이 연간 7%의 느린 속도로만 크롤링되고 있다는 것을 보셨습니까? 게다가 이것은 DRAM의 개선율일 뿐이다. 따라서 계산 집약적인 알고리즘은 몇 년 안에 휴대폰에서 빠르게 실행되고 저렴해질 것입니다. 메모리 집약적인 것은 당연히 부족하며, 이것이 DRAM의 추세라고 합니다. DRAM의 재생 문제로 인해 DRAM의 지연 및 대역폭은 강력한 컴퓨팅 성능을 가진 응용 프로그램에 적합하지 않습니다. 이 문제는 컴퓨터 구성 및 구조 과정에서 다루어야 합니다.관심 있는 어린이 신발은 이 교과서를 읽을 수 있습니다.
컴퓨터 아키텍처를 이해하지 못하면 채굴이 안됩니다. 하지만 스탠포드에서 이 수업을 들었을 때 거의 낙제할 뻔했습니다. 하지만 내가 멍청해서가 아니라 영어를 잘 못해서 아뇨, 그리스어를 잘 못해서 Da Niu Christos 선생님이 수업 시간에 그리스어 억양을 가지고 있는데 기본적으로 이해가 안 돼요. 채굴의 메모리 문제로 돌아가서 스토리지 액세스 대역폭과 대기 시간을 보장하기 위해 SRAM만 사용할 수 있습니다. 그러나 SRAM 성능과 가격의 발전은 훨씬 더 제한적입니다. 이것은 최고의 게임 콘솔의 가격이 많이 떨어지지 않기 때문에 게임 애호가에게는 좋은 일이 아닐 수 있습니다. 그런데 이런 상황이 공정한 채굴의 기회가 될까요?
추론해 봅시다: SRAM의 성능 가격 비율이 너무 터무니없기 때문에 마이닝 알고리즘이 있습니까? TA는 계산을 위해 정말 큰 메모리를 사용해야 합니까? 즉, 새로운 마이닝 알고리즘은 더 이상 CPU, GPU 또는 ASIC 이상이 아니라 메모리의 크기와 대역폭입니다. 앞서 언급한 메모리 기술의 발전 속도 때문에 채굴 군비경쟁 과정에서 대규모 자원을 동원할 수 있어도 수만배, 수십만배의 우위로 채굴을 지배하는 것은 불가능하다. . 글쎄, 당신이 아무리 부자라도 디아오시 채굴기를 완전히 차단할 수는 없습니다. 절대적으로 공정할 수는 없지만 객관적으로 마이닝의 공정성을 향상시킵니다. 이것이 바로 우리 채굴 및 비동기 합의의 원래 의도입니다.
그래서 이런 유형의 알고리즘을 연구해 봅시다. 앞에서 언급한 네 가지 필수 특성 외에도 이 유형의 알고리즘은 다음과 같은 추가 조건도 충족해야 합니다.
1. 알고리즘에는 엄청난 메모리 공간이 필요합니다. 너무 작으면 GPU 또는 ASIC에서 직접 수행되며 최종적으로 결합된 계산이 되므로 불공평합니다.
2. 메모리에 대한 예측 불가능한 액세스: 전체 알고리즘이 대용량 메모리를 요구하더라도 메모리 액세스가 예측 가능하다면 다중 레벨 캐싱 기술은 고성능 및 고대역폭 메모리를 위한 시스템의 용량 요구 사항을 크게 줄일 수 있습니다.
3. 알고리즘은 시간복잡도와 공간복잡도 사이의 변환을 가질 수 없다: 고성능 컴퓨팅을 사용하여 대용량 메모리로 교환할 수 있다면, 즉 고성능 및 고대역폭 메모리 용량에 대한 요구 사항을 줄인 다음 GPU로 돌아가는 것이다. ASIC과의 군비 경쟁.
위의 조건을 만족하는 알고리즘을 호출한다."Memory-Hard/memory-intensive algorithm" 입니다. Cuckoo Hash 기반의 Cuckoo Cycle PoW 알고리즘은 좋은 Memory-Hard 알고리즘입니다. 이 알고리즘은 Grin 프로젝트에 성공적으로 채택되었으며, Soteria의 동등 채굴 기술도 이 알고리즘을 기반으로 합니다.
이 알고리즘의 작동 원리를 간단히 소개하겠습니다.아직 시간이 있다면 SoteriaDAG 프로젝트에서 공정한 채굴의 설계 및 구현에 대한 미리보기를 제공하겠습니다.
Cuckoo Cycle Pow의 필수 과정을 살펴보겠습니다.오늘은 Hash Table과 Cuckoo Hash의 데이터 구조에 대해 이야기하겠습니다. 누구나 해시 테이블에 익숙해야 합니다.해시 함수가 있습니다.해시, TA는 키를 선형 테이블의 특정 위치에 매핑할 수 있으므로 넣기 작업을 통해 그림과 같이 키 값 쌍을 테이블에 저장할 수 있습니다. :
충돌이 발생하면 어떻게 해야 합니까? 즉, 두 키가 모두 동일한 위치에 매핑됩니다. 그것은 중요하지 않습니다. 새로 온 사람은 다음 위치가 비어 있는지 확인하고 비어 있으면 해당 위치가 있을 것입니다. 그림과 같이:
그리고 이것
질의할 때 해쉬함수를 이용하여 해당 위치를 찾는데, Key가 우리가 질의하고자 하는 키라면 반환값이 있으면 OK입니다. 키가 다르면 다음 위치를 살펴봐야 하고, 키가 같으면 찾은 것입니다. 일치하지 않으면 빈 위치를 만나거나 모든 위치를 횡단할 때까지 계속합니다. 즉, 경계 조건을 만날 때까지입니다.
이것이 해시 테이블이라고도 하는 해시 테이블의 원리입니다. Cuckoo 해시는 해시 테이블을 기반으로 한 도약입니다. 차이점은 TA가 두 세트의 해시 함수와 두 개의 선형 테이블을 도입한다는 것입니다. 각 함수는 선형 테이블에 해당합니다. 동일한 키가 두 테이블 각각의 위치에 해당할 수 있습니다. 그림과 같이:
두 개의 함수는 두 개의 선형 테이블에 해당합니다.
더하기 작업은 해시 테이블과 유사하며 키를 선형 테이블의 위치에 매핑합니다. 두 개의 테이블이 있기 때문에 테이블을 선택할 수 있습니다. 예를 들어 첫 번째 해시 함수를 사용하여 첫 번째 테이블에 매핑합니다. 그림과 같이 위치:
이런 식으로 선형 테이블에 많은 레코드를 로드할 수 있습니다.테이블 중 하나의 매핑 위치에 누군가가 있으면 다른 해시 함수 집합을 사용하여 다른 테이블에 매핑한 다음 해당 위치에 로드합니다. 두 번째 테이블. 하지만 다음에 로드할 레코드가 매우 안타깝다고 가정하면 두 개의 해시 함수로 매핑된 두 테이블의 위치가 이미 점유되어 있는 경우가 발생합니다. 이때 어떻게 해야 할까요?
이때 우리의 새로운 기록은 기존의 사람을 다른 테이블의 해당 위치로 걷어차게 하고 그 위치는 해당 테이블의 해시 함수에 의해 결정됩니다. 그림과 같이:
불행하게도 당신이 차인 자리에 다른 사람이 있다면, 그 자리에 있던 사람을 다른 테이블 위치로 계속 차십시오. 비유하자면, 킥한 레코드가 정리되거나, 누군가 킥한 레코드를 이전에 만날 때까지 루프가 형성됩니다. 그림과 같이:
이제 모두가 이 알고리즘이 Cuckoo Hash라고 불리는 이유를 알고 있습니다. 뻐꾸기는 실제로 뻐꾸기입니다. 그들은 다른 사람의 둥지에 알을 낳고 다른 사람의 알을 발로 차는 것을 좋아합니다. 방금 설명한 cuckoo 해시 로딩 알고리즘과 정말 유사합니다. 이 고전적인 다이어그램을 살펴보십시오.
나는 세 번째로 일시 중지하고 모두가 매우 중요한 알고리즘 인이 알고리즘의 프로세스를 소화합니다. 나중에 조금 머리를 쓰게 되지만 절대 공식은 없습니다.로드 및 킥 경로를 그래프에 표현하고 아래에서 방향성 이분 그래프를 볼 수 있습니다.
이것은 뻐꾸기가 다른 사람의 알을 쫓아내는 로드맵입니다. 이 이분 그래프에는 실제로 하위 그래프가 있을 수 있으며, 이 하위 그래프는 우연히 고리가 됩니다.. 앞서 말했듯이 발차기와 발차기는 실제로 내가 머물렀던 자리를 찼습니다. 아래 그림과 같이:
앞에서 언급한 알고리즘은 실제로 임의로 생성된 이분 그래프에서 특정 길이의 링 구조를 찾는 것입니다. 실제로 이 프로세스는 기본적으로 메모리에 대한 액세스 및 액세스이며 앞에서 언급한 필수 특성을 완전히 충족합니다.
1. 알고리즘은 거대한 메모리 공간을 필요로 합니다. 이 이분 그래프는 매우 큽니다.
2. 예측할 수 없는 메모리 액세스: 그래프 자체가 무작위로 생성됩니다.
3. 알고리즘은 시간 복잡도와 공간 복잡도 사이의 변환을 가질 수 없습니다. 루프를 찾는 문제는 실제로 변경할 수 없습니다.
이 알고리즘을 통해 "공정한 채굴"이라는 목표에 한 걸음 더 다가갈 수 있습니다. 다음 공유에서 자세히 논의할 많은 디자인 및 구현 세부 정보가 있습니다.
내가 살고 있는 북부 캘리포니아 도시는 지난 이틀 동안 악천후로 인해 광범위한 정전을 일으켰습니다. 정전 지도를 보여드리겠습니다.
다음 공유에서 이 PoW 알고리즘의 작동 원리에 초점을 맞추고 SoteriaDAG 프로젝트에서 공정한 마이닝의 설계 및 구현에 대한 미리 보기를 제공합니다. 오늘의 나눔은 여기까지만 하겠습니다, 제 쪽은 매분 어두워질 텐데, 온라인에서 모든 분들의 질문에 답할 시간이 부족해서 죄송합니다. 하지만 상관 없습니다. 귀하의 모든 질문이 요약되고 전화를 걸면 기사 형식으로 별도로 답변 해 드리겠습니다. 또한 추후에 더 많은 텍스트 공유가 있을 예정입니다. 우리는 곧 돌아올 것입니다.https://github.com/soteria-dag/soterd에 마이닝 업데이트를 게시합니다. 계속 지켜봐 주세요, 모두 감사합니다!
Claire: 이렇게 풍부한 정보를 제공해 주신 Dr. Zhu에게 감사드립니다. 시간이 흘러 오늘의 테마 공유를 마칩니다. 아직 질문이나 의견이 많다고 생각합니다. 계속해서 커뮤니티에 메시지와 토론을 남겨주셔도 좋습니다. Dr. Zhu와 Soteria 팀을 위해 수집하고 적절한 시기에 논의할 것입니다. . 바쁜 일정에도 불구하고 우리를 위해 이렇게 풍부한 핵심 정보를 준비해 주신 Zhu Jiang 박사에게 다시 한 번 감사드립니다! 다음에 보자.
Zhu Jiang: 모두 감사합니다!호스트 클레어 감사합니다.
(전문)