기본적으로 ASIC 내성 달성 : Truehash 알고리즘에 대한 간략한 소개

우리 모두 알다시피 TrueChain은 하이브리드 합의 기술을 채택했으며, PBFT를 빠른 체인으로 사용하여 트랜잭션을 처리하고 PoW를 달팽이 체인으로 사용하여위원회를 감독하고 선출합니다.

PoW 알고리즘은 1993 년 Cynthia Dwork와 Moni Naor에 의해 제안되었습니다. 그 당시의 애플리케이션 시나리오는 ddos ​​및 이메일 스팸 공격에 저항하는 것이 었습니다. 1999 년 Jacobsson은 Satoshi Nakamoto가 비트 코인 네트워크에서 사용한 방법 인 부분 해시 반전 알고리즘을 고안했습니다.

bitcion 이후에 발행 된 co i 를 살펴보면 블록 체인 개발자가 ASIC 내성을 달성하기 위해 다양한 종류의 마이닝 알고리즘을 실험하고 있음을 확인하는 것은 어렵지 않습니다. 그리고 모든 시도가 실패한 것으로 밝혀졌습니다. 그들의 전체 아이디어는 알고리즘을 더 어렵게 만들기 위해 ASIC의 단점에 대한 계산을 추가하는 것입니다. 그러나 Ethash, Equihash 등과 같은 알고리즘은 기껏해야 ASIC의 출현 시간을 지연시킬 수 있지만 근본적으로 ASIC에 저항 할 수는 없습니다. 추가 연구를 위해 CPU / GPU가 ASIC보다 훨씬 느린 이유를 이해해야합니다. 주된 이유는 von Neumann 아키텍처가 다양성 계산에 채택되기 때문입니다.

Von Neumann 아키텍처는 크게 내부 저장소, 제어 장치 및 계산 요소의 세 부분으로 나뉩니다. 운영 프로그램과 데이터는 DDR에 기록되며 계산을 수행 할 때 계산 요소로 전송됩니다. 전송 대역폭으로 인한 계산 병목 현상을 폰 노이만 병목 현상이라고합니다.

폰 노이만 병목 현상을 방지하기 위해 단일 알고리즘의 작동이 간단합니다.이 아이디어는 알고리즘을 계산 요소에 직접 작성하여 폰 노이만 병목 현상을 우회하는 것입니다. 이것이 ASIC이 비트 코인 Sha-256d에서 컴퓨팅 능력의 놀라운 장점을 가지고있는 이유입니다.

기본적으로 ASIC 내성을 달성하기 위해주기적인 알고리즘 변경 설계 인 Monero의 경험을 빌릴 수 있습니다. Monero의 문제는 커뮤니티의 하드 포크에 대한 비전문적 인 투표입니다. 가장 큰 문제는 프로젝트 팀 (투표 결과를 쉽게 조작 할 수 있음)이 새로운 알고리즘을위한 ASIC를 준비했는지 아무도 모른다는 것입니다.

그러므로 우리는이 메커니즘이 채굴 알고리즘의 통제하에 있는지 확인해야합니다. 기본적으로 ASIC 내성을 달성하려면 다음 규칙을 충족해야합니다.

1. 명령 S는 알고리즘 모음으로서 S의 모든 알고리즘은 폰 노이만 병목 현상을 통과해야합니다.

2. 알고리즘은 모든 T 블록을 변경하고 변경 방법은 검증 가능 및 예측 불가능의 조건을 충족해야합니다.

3. 알고리즘 전환에 사람이 개입하지 않습니다.

구체적인 디자인 아이디어는 다음과 같습니다.

Truehash의 구현은 G를 그룹으로 설정하는 것입니다. 모든 그룹 구성원 g에 대해 rho_V (G)를 벡터 공간 V에서 G의 쇼케이스로 만듭니다. 일반 마이닝 알고리즘에서 블록 헤드, 논스 및 기타 정보를 계산할 때 패딩 등과 같은 작업을 수행하면 Vector nonce가 형성됩니다. 난이도 계수보다 작은 결과를 찾기 위해 다른 임시 값을 모두 소모합니다.

Truehash의 변화하는 부분 :

hash (v (nonce))를 hash (rho (g) * v (nonce))로 변경합니다. G (Truehash는 2048 개의 요소를 포함하는 순열 그룹을 활용 함)이 충분히 복잡한 한,이 알고리즘 컬렉션은 계산 요소 내에 코딩되어 완전히 어렵지 않습니다. 알고리즘이 무작위로 전환되기 때문에 von neumann의 병목 현상은 불가피합니다.

Truehash 스위칭 알고리즘의 원리는 그룹 요소가 12,000 PoW 블록마다 변경된다는 것입니다. 12,000 poW 블록의 생산 시간은 83 일입니다. 새로운 그룹 요소 정보는 이전 사이클의 블록 1–8192로 구성되며, 구성 방법은 블록 11001–11256의 해시 값을 분석하여 생성됩니다.

블록의 해시 값은 미리 예측할 수 없기 때문에 11256 블록이 나올 때까지 누구든지 새로운 알고리즘에 대해 알 수 없습니다. 마지막주기의 11,257 번째 블록부터 알고리즘이 무효화 될 때까지 총 88 일이 있으므로 짧은 시간에 ASIC를 생성하는 것은 의미가 없습니다.