의견.png

"에이식부스트"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(특징)
(참고자료)
44번째 줄: 44번째 줄:
 
*  miningadmin, 〈[https://blog.miningstore.com/blog/cryptocurrency-news-bitmain-releases-overt-asicboost-for-antminer-s9 CRYPTOCURRENCY NEWS: BITMAIN RELEASES OVERT ASICBOOST FOR ANTMINER S9]〉, 《마이닝스토어》
 
*  miningadmin, 〈[https://blog.miningstore.com/blog/cryptocurrency-news-bitmain-releases-overt-asicboost-for-antminer-s9 CRYPTOCURRENCY NEWS: BITMAIN RELEASES OVERT ASICBOOST FOR ANTMINER S9]〉, 《마이닝스토어》
 
*  GRANT KIM, 〈[https://blog.bitmex.com/please-translate-in-ko_kr-diagram-of-a-bitcoin-block-covert-versus-overt-asicboost/ 비트코인 블록 다이어그램: 공개 에이식부스트 (Overt AsicBoost) vs 비공개 에이식부스트 (Covert AsicBoost)]〉, 《비트맥스》, 2018-03-01
 
*  GRANT KIM, 〈[https://blog.bitmex.com/please-translate-in-ko_kr-diagram-of-a-bitcoin-block-covert-versus-overt-asicboost/ 비트코인 블록 다이어그램: 공개 에이식부스트 (Overt AsicBoost) vs 비공개 에이식부스트 (Covert AsicBoost)]〉, 《비트맥스》, 2018-03-01
 +
*  비트맨작전병, 〈[https://cafe.naver.com/nexontv/184893 "비트메인(Bitmain)"과 "ASICBOOST" 간단 정리]〉, 《네이버 카페》, 2017-07-17
  
 
==같이 보기==
 
==같이 보기==
 
{{블록체인 기술|토막글}}
 
{{블록체인 기술|토막글}}

2019년 9월 20일 (금) 11:47 판

에이식부스트(AsicBoost)는 비트코인 채굴 속도를 약 20% 정도 높이는 방법이다. 채굴 칩의 게이트 카운트를 대폭 줄일 수 있는 비트코인 채굴 알고리즘의 높은 수준의 최적화를 통해 성능 향상을 달성한다.

개요

에이식부스트는 에이식(Asic) 칩의 게이트 수를 줄여 에너지 소비를 개선하고 시스템 비용을 낮추는 마이닝 최적화 방법이다. 비공개 에이식부스트와 달리, 공개 에이식부스트는 블록 헤더의 버전 필드를 수정하여 쉽게 감지할 수 있다. 이 방법은 2016년 디피니티(Dfinity)의 엔지니어링 디렉터인 티모 행크(Timo Hanke)와 RSK Labs의 수석 과학자인 세르지오 러너(Sergio Lerner)가 공동으로 발명했다. 비트메인은 처음에는 법적 불확실성으로인해 공개 에이식부스트를 활성화하지 않기로 결정했다. 3월 초부터 에이식부스트는 방어 특허 이니셔티브인 BDPL(BLockchain Defensive Patent License)에 따라 라이선스를 받을 수 있었다.

특징

  • 작업항목 충돌(Colliding work items) : 에이식부스트는 여러 작업 항목에서 스케줄링된 메시지 1을 다시 사용함으로써 성능 향상을 달성한다. 이를 위해 에이식부스트는 공통 메시지 파트를 공유하는 많은 블록 헤더 후보를 생성한다. 블록 헤더 후보 간의 충돌에서 도출된 작업항목은 모두 공통 메시지 구성 요소를 공유하며, 미드 스테이트(Mid State) 구성 요소에서만 다르다. 우리는 작업항목이 메시지 구성 요소에서 충돌할 경우 충돌하는 것으로 말한다.
  • 에이식부스트 루프(AsicBoost Loop) : 충돌 블록 헤더 세트를 통해 에이식부스트는 내측 및 외측 채굴 루프를 교환할 수 있다. 메시지는 충돌 블록 헤더의 전체 세트를 처리하는 동안 일정하게 유지된다. 에이식부스트의 내부 루프는 충돌 블록 헤더의 중간 상태를 반복한다. 논스(Nonce)는 이제 내측 루프보다 외측 루프에서 업데이트된다. 메시지 스케줄 1은 덜 자주 업데이트되고 그 정보는 여러 중간 상태에 걸쳐 재사용된다.
  • 에이식부스트 이득(AsicBoost Gain) : 에이식부스트 방법은 내측 루프에서 익스펜더(Expander) 1 기능을 제거하여 압축기 1, 익스펜더 2 및 압축기 2만 고주파수로 처리한다. 네 가지 함수 각각은 유사한 복잡성을 가지고 있기 때문에, 이 접근법으로 총 계산 작업의 4분의 1까지 절약할 수 있다. 정확한 이득은 충돌 작업 항목의 크기에 따라 달라진다. 익스펜더 1이 네 가지 함수를 결합간 계싼 작업의 x%를 차지한다고 가정하면, 작업항목을 N개 충돌하면 총 이득이 %가 된다. 일부 형태의 에이식 구현은 n의 특정 가치에 맞게 설계되어야 한다. 에이식부스트는 GPU와 같은 소프트웨어에서도 구현될 수 있다는 점에 유의해야 한다. 사실, 랜덤 액세스 메모리의 가용성은 많은 오버헤드 없이 구현을 매우 쉽고 직선적으로 수행할 수 있게 한다.
  • 충돌 블록헤더 후보 작성(Building colliding block header candidates)
    • 머클루트 충돌(Merkle root collisions) : 블록헤더 후보를 만드는 방법에는 청크 1에서만 다른 몇 가지가 있다. 한 가지 방법은 많은 머클루트를 무작위로 계산하여 마지막 4바이트에서 충돌하는 많은 머클루트가 발견될 때까지 마지막 4바이트를 기준으로 필터링 하는 것이다. 충돌을 위해 필터링할 때 고려해야 할 많은 트레이드오프(tradeoffs)가 있다. 최적 프로세스는 n의 목표값과 제공할 해싱 코어의 수와 속도에 따라 달라진다. 코인베이스(coinbase) 필드를 바꾸는 것보다 더 효율적인 머클트리 루트를 계산하는 방법에는 여러가지가 있다. 한 가지 방법은 블록 내부의 거래 순서를 변경하는 것, 다시 말해서 머클트리의 잎을 변경하는 것에 기초한다.
    • 대안(Alternatives) : 충돌 블록헤더를 만드는 또 다른 더 효율적인 방법은 청크 1 내부의 비트를 사용하되 ㅘㅇ부가 선택할 수 있는 머클루트 바깥쪽을 사용하는 것이다. 이것은 어떤 머클루트 충돌도 찾을 필요가 없다. 대신, 한 개의 머클루트를 선택하고 고정한다. 그런 다음 자유 비트는 루프에서 업데이트되고 각 중간 상태는 청크 1에서 계산된다. 이러한 방법으로 얻은 각 중간 상태는 새로운 충돌 작업항목을 제공하므로 매우 효율적이다.
  • 에이식부스트 칩 설계(AsicBoost chip design) : 비트코인 채굴 에이식은 동일한 작업항목에서 동시에 작동하거나 각각의 작업항목에서 동시에 작동하는 여러 해싱 코어로 구성된다.
    • 멀티코어 디자인(Multi­Core Design) : 에이식부스트를 채택하는 가장 쉬운 방법은 두 개 이상의 해싱 코어 사이에 익스펜더 1 블록을 공유하는 것이다. 이 설계에서 중주 세대는 에이식 외부에 보관되며 칩의 작업 분포는 기존 칩의 작업 분포와 동일하다. 멀티코어를 설계할 때 고려해야 할 많은 트레이드오프가 있다. n에 대한 최적 구현과 최적 값은 원래 해싱 코어 설계의 많은 낮은 수준의 요인에 따라 달라진다.
    • 로우토글 디자인(Low­Toggle Design) : 또 다른 구현에서 각 코어는 자체 익스펜더 1 로직을 가지고 있지만, 이 로직은 더낮은 빈도로 전환되고 있다. 여러 개의 중간 상태는 핵심으로 공급되며, 비스(Nonce) 업데이트 전에 완전히 처리된다. 논스가 업데이트되면 동일한 미드 스테이트 세트를 다시 처리할 수 있다. 익스펜더 1 로직은논스 또는 메시지가 업데이트될 때만 토글되어 익스펜더 1이 소비하는 대부분의 에너지를 절약한다. 고속으로 코어에 여러 미드 상태의 분포와 관련하여 고려해야할 많은 트레이드오프가 있다. 최적 구현은 원래 해싱 코어 설계의 많은 낮은 수준의 요인에 좌우될 것이다.

종류

공개 에이식부스트

비트메인에서 배포한 펌웨어로, 기존 마이닝보다 효율성이 더 뛰어나게 설계되었다. 공개 에이식부스트 사용은 프로토콜이나 사용자에게 부정적인 영향을 미칠 수 있는 나쁘거나 엉성한 행동을 유도하지 않는다.

문제점

비트코인 코어(Bitcoin Core)내의 버전 시그널 및 경고 메시지를 통해 소프트포크 업그레이드 실행 능력이 감소될 수 있다.

  • 공개 에이식부스트의 실행은 4바이트 전부를 필요로 하지 않을 수도 있으며, 일부 파이트는 소프트포크의 신호 용도로 남겨질 수 있다. 이 방식은 동시다발적으로 실행되는 소프트포크의 수를 감소시킨다.
  • 다수의 사람들은 소프트포크 신호 시스템(softfork slgnalling system)을 실패한 시스템으로 생각하고 있다. 마이너들은 종종 소프트포크 신호와 상충되는 신호를 내보내서 소프트포크 신호 방법론을 신뢰할 수 없게 만든다.

공개 에이식부스트의 또 다른 단점은 비트코인 코어(Bitcoin Core) 소프트웨어가 특이하거나 흔하지 않지만 정상적인 버전 필드를 발견하면 이를 네트워크가 알 수 없는 방식(unknown manner)으로 업그레이드 중이라고 인식하여 사용자에게 경고 메시지를 보낸다.

비공개 에이식부스트

익명성이 내장된 버전의 에이식부스트로 종종 비트코인 프로토콜이나 블록체인을 희생하여 이익을 창출하는 데 사용된다. 비공개 에이식부스트를 사용하는 광부들은 너무 작거나, 심지어 빈 블록을 생산하고 비트코인 전체의 블록체인들을 손상시킨 혐의를 받고 있다.

문제점

  • 더 작은 거래처리 용량 : 비공개 에이식부스트는 비공개 에이식부스트의 실행을 더 효율적으로 만드는 작은 사이즈의 블록 혹은 빈 블록을 생성할 수 있다. 비공개 에이식부스트는 거래 수수료를 증가시키고 네트워크의 거래처리 용량을 감소시킬 수 있다.
  • 더 작은 블록사이즈 : 작은 사이즈의 블록 혹은 빈 블록은 거래 처리 용량에 부정적인 영향을 준다. 그 이유는 이들이 네트워크상의 문제점으로 여전히 남아있고, 거래 지연 현상에 대해 긍정적인 영향을 전혀 주지 않기 때문이다.
  • 세그윗으로의 업그레이드 : 에이식부스트의 가장 치명적인 단점은 일부 마이너들이 세그윗으로의 업그레이드를 꺼려하게 만들 수 있다는 점이다. 이것 자체로는 아주 부정적이지 않을 수 있지만, 사실과 달느 그리고 분열을 야기하는 세그윗 정보 캠페인은 생태계에 심각한 악영향을 주었을 가능성이 있다. 그러나 위 내용이 불확실하고 근거없는 비난에 불과하다는 것과 이 점이 세그윗 반대에 대한 동기를 유발시켰다는 것은 확실하지 않다는 것을 지적한다.
  • 머클트리 또는 거래 조정을 위한 인센티브 : 비공개 에이식부스트의 성패는 마이너의 머클트리 혹은 거래 조정 능력에 따라 좌우된다. 이 점은 작은 사이즈의 블록과 함께 네트워크 상에 해로운 영향을 줄 수 있다. 블록 헤더 내의 필드를 변경하는 것 만으로도 공개 에이식부스트는 훨씬 명확한 해결책이 될 수 있다.
  • 경쟁 우위를 점할 수 있는 비밀스러운 이점 : 비공개 에이식부스트의 샐행 여부는 쉽게 알아내기 어려우므로 일부 마이너들에겐 경쟁 우위를 점할 수 있는 그들만의 비밀스러운 이점을 제공할 수 있다. 일반적으로 투명성을 좋고 긍정적인 요소로 생각하지만, 비공개 에이식부스트 네트워크가 기밀성으로부터 기인한 직접적인 단점을 야기했는지의 여부는 명확하지 않다.

각주


참고자료

같이 보기

  의견.png 이 에이식부스트 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.