작업증명서

Proof of work

작업증명서(PoW)는 한 당사자(프로베서)가 다른 사람(검증자)에게 특정한 계산 노력이 어느 정도 소모되었음을 증명하는 암호증명의 한 형태다. 검증자는 후속적으로 최소한의 노력으로 이 지출을 확인할 수 있다. 이 개념은 1993년 신시아 드워크모니 나오르가 서비스 요청자의 일부 작업을 요구하여 서비스 거부 공격과 네트워크상의 스팸과 같은 기타 서비스 남용을 막기 위한 방법으로 발명되었는데, 이는 보통 컴퓨터에 의한 처리 시간을 의미한다. "작업의 증명"이라는 용어는 마르쿠스 야콥손과 아리 후엘스가 1999년 발표한 논문에서 처음 만들어졌고 공식화되었다.[1][2] 작업증명서는 광부들이 블록을 추가하고 새로운 화폐를 주조하기 위해 경쟁하는 무허가 분산형 네트워크에서 합의의 기반으로서 비트코인에 의해 대중화되었는데, 각 광부들은 계산 노력에 비례하는 성공 확률을 경험한다. PoW와 PoS(지분 증명)는 가장 잘 알려진 두 가지 시빌 억제 메커니즘이다. 가상화폐의 맥락에서 그것들은 가장 일반적인 메커니즘이다.[3]

작업 증명 계획의 주요 특징은 그 비대칭성이다. 작업 – 계산 – 는 프로베러 또는 요청자 측에서 적당히 단단해야 하지만(즉, 실현 가능해야 함) 검증자 또는 서비스 제공자를 쉽게 확인할 수 있어야 한다. 이 아이디어는 CPU 비용 기능, 클라이언트 퍼즐, 계산 퍼즐 또는 CPU 가격 결정 기능으로도 알려져 있다. 또 다른 공통적인 특징은 화폐 형태가치를 가지고 네트워크에 컴퓨팅 용량을 할당하는 것을 보상하는 내장된 인센티브 구조다.[citation needed]

작업증명 알고리즘의 목적은 특정 작업이 수행되었거나 컴퓨터 퍼즐이 "솔루션"되었다는 것을 증명하는 것이 아니라, 그렇게 할 수 있도록 대규모 에너지 및 하드웨어 제어 요건을 설정하여 데이터 조작을 저지하는 것이다.[citation needed] 작업 증명 시스템은 에너지 소비로 인해 환경보호론자들로부터 비판을 받아왔다.[4]

배경

해시캐시(Hashcash)에서 사용되는 한 인기 있는 시스템은 부분 해시 인버전스를 사용하여 계산이 이루어졌다는 것을 증명하고, 이메일을 보내는 호의 토큰으로 사용한다. 예를 들어, 다음 헤더는 메시지를 보낼 약 2개의52 해시 계산을 나타낸다. calvin@comics.net 2038년 1월 19일:

X-Hashcash: 1:52:380119:calvin@comics.네트::9B760005E92F0DAE 

스탬프의 SHA-1 해시(헤더 이름 omitting)를 확인하여 단일 계산으로 검증한다. X-Hashcash: 콜론 및 숫자 '1'까지 이어지는 공백의 양을 포함하면 52개의 이진수 0으로 시작되며, 이는 13개의 16진수 0이다.[1]

0000000000000756af69e2ffb930261873cd71 

PoW 시스템이 스팸 문제와 같은 특정 서비스 거부 문제를 실제로 해결할 수 있는지는 논란의 대상이다;[5][6] 이 시스템은 스팸 전자 메일을 보내는 것을 스팸 발송자에게 지나치게 비생산적으로 만들어야 하지만 합법적인 사용자들이 그들의 메시지를 보내는 것을 막지는 말아야 한다. 즉, 진정한 사용자는 이메일을 보낼 때 어떠한 어려움도 겪지 않아야 하지만, 이메일 스팸 발송자는 한번에 많은 이메일을 발송하기 위해 상당한 양의 컴퓨팅 능력을 소모해야 할 것이다. 업무 증명 시스템은 해시캐시와 유사한 시스템을 사용하는 비트코인과 같은 다른, 보다 복잡한 암호 시스템에 의해 사용되고 있다.[5]

변형

작업증명 프로토콜에는 두 가지 등급이 있다.

  • 질문-응답 프로토콜은 요청자(클라이언트)와 제공자(서버) 사이의 직접 대화형 링크를 가정한다. 제공자가 도전을 선택하고, 속성이 있는 세트의 항목을 말하면, 요청자는 세트에서 관련 응답을 찾으며, 요청자는 제공자에 의해 다시 전송되고 점검된다. 도전이 제공자에 의해 즉석에서 선택되기 때문에, 그것의 난이도는 현재의 부하에 맞게 조정될 수 있다. 요청자 측의 작업은 챌린지-응답 프로토콜이 알려진 해결책(제공자에 의한 결정)을 가지고 있거나, 한정된 검색 공간 내에 존재하는 것으로 알려진 경우 제한될 수 있다.
Proof of Work challenge response.svg
  • 솔루션 검증 프로토콜은 그러한 연결을 가정하지 않는다. 결과적으로, 문제는 요청자가 해결책을 찾기 전에 스스로 제기되어야 하며, 제공자는 문제 선택과 발견된 해결책을 모두 확인해야 한다. 대부분의 그러한 계획들은 해시캐시와 같은 한없는 확률론적 반복 절차들이다.
Proof of Work solution verification.svg

알려진솔루션 프로토콜은 장방형 분포의 분산이 포아송 분포의 분산(동일한 평균으로)보다 낮기 때문에 무한 확률론 프로토콜보다 약간 낮은 편차를 갖는 경향이 있다.[further explanation needed] 분산을 줄이기 위한 일반적인 기법은 다중 표본의 평균 분산이 낮기 때문에 다중 독립 하위 문제를 사용하는 것이다.

타임락 퍼즐과 같은 고정비용 기능도 있다.

더욱이 이러한 제도에 의해 사용되는 기본적인 기능은 다음과 같을 수 있다.

  • CPU 바인딩된 컴퓨팅은 프로세서의 속도로 실행되는데, 이는 시간이 크게 달라지는 것은 물론, 하이엔드 서버에서 로우엔드 휴대용 장치에 이르기까지 매우 다양하다.[7]
  • 계산 속도가 메인 메모리 액세스(대기 시간 또는 대역폭)에 의해 바인딩된 메모리 바인딩으로[8][9][10][11], 성능은 하드웨어 진화에 덜 민감할 것으로 예상된다.
  • 클라이언트가 몇 개의 계산을 수행해야 하지만 최종 서비스 공급자를 쿼리하기 전에 원격 서버에서 일부 토큰을 수집해야 하는 경우 네트워크[12] 바인딩됨. 이런 의미에서 이 작업은 실제로 요청자에 의해 수행되는 것이 아니라, 필요한 토큰을 얻기 위한 대기 시간 때문에 어쨌든 지연을 유발한다.

마지막으로, 일부 PoW 시스템은 일반적으로 개인 키를 알고 있는 참가자가 값싼 PoWs를 생성할 수 있는 바로 가기 계산을 제공한다. 그 근거는 우편물 수취인이 비싼 비용을 부담하지 않고 모든 수취인에게 우표를 발행할 수 있다는 것이다. 그러한 기능이 바람직한지 여부는 사용 시나리오에 따라 달라진다.

작업 증명 기능 목록

다음은 알려진 작업 증명 기능 목록이다.

재사용 가능 작업 증명

컴퓨터 과학자인 할 피니는 작업증명서를 바탕으로 재사용 가능한 작업증명서(RPoW)를 악용한 시스템을 만들어냈다.[20] 작업 증명서를 어떤 실용적인 목적을 위해 재사용할 수 있게 한다는 생각은 이미 1999년에 세워졌다.[1] Finney의 RPoW의 목적은 토큰 머니였다. 금화의 가치가 금광비와 연동되는 것처럼, RPoW 토큰의 가치는 PoW 토큰을 'mint'하는 데 필요한 실제 자원의 가치에 의해 보장된다. 피니의 RPoW 버전에서 PoW 토큰은 해시캐시의 한 조각이다.

웹사이트는 서비스 대가로 PoW 토큰을 요구할 수 있다. 사용자에게 PoW 토큰을 요구하면 인터넷 대역폭, 계산, 디스크 공간, 전기 및 관리 오버헤드와 같은 서비스의 기본 자원을 절약하면서 경박하거나 과도한 서비스 사용을 억제할 수 있다.

Finney의 RPoW 시스템은 토큰 생성에 필요한 작업을 반복하지 않고 토큰의 랜덤 교환을 허용하는 PoW 시스템과 차이가 있었다. 누군가가 웹사이트에서 PoW 토큰을 "스팬트"한 후에, 웹사이트 운영자는 그 "스팬트" PoW 토큰을 새롭고, 낭비되지 않는 RPoW 토큰과 교환할 수 있고, RPoW 토큰을 수용하기 위해 유사한 기능을 갖춘 제3자 웹사이트에서 사용될 수 있다. 이렇게 하면 PoW 토큰을 'mint'하는 데 필요한 리소스를 절약할 수 있다. RPoW 토큰의 반(反)카운터페이트 속성은 원격 증명에 의해 보장되었다. 사용된 PoW 또는 RPoW 토큰을 동일한 값의 새 토큰으로 교환하는 RPoW 서버는 원격 증명을 사용하여 모든 이해 관계자가 RPoW 서버에서 실행 중인 소프트웨어를 확인할 수 있도록 한다. Finney의 RPoW 소프트웨어의 소스 코드가 (BSD와 유사한 라이센스에 따라) 공표되었기 때문에, 충분히 지식이 있는 프로그래머라면 코드를 검사하여 소프트웨어(그리고 확장적으로 RPoW 서버)가 동일한 값의 사용 토큰을 교환하는 것을 제외하고는 새로운 토큰을 발행하지 않았는지 확인할 수 있었다.

2009년까지만 해도 Finney의 시스템은 RPoW 시스템 중 유일하게 실행된 것이었으며, 경제적으로 유의미한 사용은 보지 못했다.

RPoW는 개인 키로 보호된다. 이러한 키는 신뢰할 수 있는 플랫폼 모듈(TPM) 하드웨어에 저장되며 TPM 개인 키를 보유한 제조업체에 의해 저장된다. TPM 제조업체의 키를 훔치거나 TPM 칩 자체를 검사하여 키를 얻는 것은 그러한 보증을 전복시킬 것이다.

비트코인형 작업증명서

2009년 비트코인 네트워크는 온라인에 접속했다. 비트코인은 피니의 RPoW와 마찬가지로 해시캐시 PoW를 기반으로 하는 작업증명 디지털 화폐다. 그러나 비트코인에서는 RPoW가 사용하는 하드웨어 신뢰 컴퓨팅 기능이 아닌, 코인의 전송 추적을 위한 분산형 P2P 프로토콜에 의해 이중스팬드 보호가 제공된다. 비트코인은 연산에 의해 보호되기 때문에 신뢰성이 더 좋다. 비트코인은 개별 채굴자가 해시캐시 프루프(proof-of-work) 기능을 이용해 '채굴'되며 P2P 비트코인 네트워크에서 분산형 노드에 의해 검증된다.

난이도는 블록타임을 목표시간대로 유지하도록 주기적으로 조정된다.

에너지 소비량

2021년[21] 기준 비트코인 전력 소비량

비트코인이 만들어진 이후, 작업증명서는 피어투피어 암호화폐의 주안점 설계였다. 가상화폐 채굴의 총 에너지 소비량을 추산한 연구결과가 나왔다.[22] PoW 메커니즘은 상당한 양의 전기를 소비하는 방대한 양의 컴퓨팅 자원을 필요로 한다. 케임브리지 대학의 최근 추정치는 비트코인의 에너지 소비량을 스위스와 동일시했다.[3]

이력수정

블록체인에 추가되는 각각의 블록은 주어진 거래를 포함하는 블록부터 시작하여 그 거래의 확인이라고 불린다. 이상적으로는 암호화폐에서 결제를 받는 가맹점과 서비스는 결제가 이루어졌다고 가정하기 전에 적어도 하나의 확인서가 네트워크를 통해 배포될 때까지 기다려야 한다. 가맹점이 기다리는 확증이 많을수록, 공격자가 전체 네트워크 전력의 절반 이상을 제어하지 않는 한, 블록체인의 성공적인 거래 역전이 어려워지는데, 이 경우 51%의 공격이라고 한다.[23]

ASIC 및 마이닝 풀

비트코인 커뮤니티 안에는 채굴 풀에서 함께 일하는 그룹들이 있다.[24] 일부 광부들은 PoW를 위해 응용 프로그램별 집적회로(ASIC)를 사용한다.[25] 이러한 채굴 풀과 전문화된 ASIC에 대한 추세로 인해 일부 가상화폐 채굴은 최신 ASIC, 근방의 저렴한 에너지 공급원 또는 기타 특별한 장점 없이 대부분의 플레이어에게 경제적으로 실현 불가능해졌다.[26]

일부 PoWs는 ASIC에 내성이 있다고 주장한다.[27] 즉, ASIC가 GPU와 같은 일반 하드웨어에 대해 가질 수 있는 효율성 이득을 크기 순으로 제한한다. ASIC 저항은 범용 하드웨어에서 채굴을 경제적으로 실현 가능한 상태로 유지할 수 있다는 장점이 있지만, 공격자가 대량의 비특화 상품 처리 능력에 대한 접근을 잠시 빌려 51%의 암호화폐에 대한 공격을 개시할 수 있는 해당 위험에도 기여한다.[28]

환경 문제

에릭 테데엔 유럽증권시장위원회 부위원장은 2022년 1월 EU에 에너지 배출량이 적다는 이유로 지분증명 모델에 찬성하는 업무증명 모델을 금지할 것을 요구했다.[29]

참고 항목

메모들

  • ^ 대부분의 Unix 시스템에서는 다음을 통해 검증할 수 있음 echo -n 1:52:380119:calvin@comics.net:::9B760005E92F0DAE openssl sha1

참조

  1. ^ a b c Jakobsson, Markus; Juels, Ari (1999). "Proofs of Work and Bread Pudding Protocols". Secure Information Networks: Communications and Multimedia Security. Kluwer Academic Publishers: 258–272. doi:10.1007/978-0-387-35568-9_18.
  2. ^ a b c d Dwork, Cynthia; Naor, Moni (1993). "Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology". CRYPTO'92: Lecture Notes in Computer Science No. 740. Springer: 139–147. doi:10.1007/3-540-48071-4_10.
  3. ^ a b "Cryptocurrencies and blockchain" (PDF). European Parliament. July 2018. Retrieved 29 October 2020. the two best-known – and in the context of cryptocurrencies also most commonly used
  4. ^ Kharif, Olga (November 30, 2021). "Analysis Bye-Bye, Miners! How Ethereum's Big Change Will Work". The Washington Post. Bloomberg News. Retrieved 13 January 2022.
  5. ^ a b Laurie, Ben; Clayton, Richard (May 2004). "Proof-of-work proves not to work". Workshop on the Economics of Information Security 2004.
  6. ^ Liu, Debin; Camp, L. Jean (June 2006). "Proof of Work can work - Fifth Workshop on the Economics of Information Security".
  7. ^ 아폴로 11의 컴퓨터는 얼마나 강력했는가? 이것은 서로 다른 종류의 장치들이 얼마나 다른 처리 능력을 가지고 있는지를 보여주는 구체적인 비교물이다.
  8. ^ a b Abadi, Martín; Burrows, Mike; Manasse, Mark; Wobber, Ted (2005). "Moderately hard, memory-bound functions". 5 (2): 299–327. {{cite journal}}: Cite 저널은 필요로 한다. journal= (도움말)
  9. ^ a b Dwork, Cynthia; Goldberg, Andrew; Naor, Moni (2003). "On memory-bound functions for fighting spam". Advances in Cryptology: CRYPTO 2003. Lecture Notes in Computer Science. Springer. 2729: 426–444. doi:10.1007/978-3-540-45146-4_25. ISBN 978-3-540-40674-7.
  10. ^ a b Coelho, Fabien (2005). "Exponential memory-bound functions for proof of work protocols". Cryptology ePrint Archive, Report.
  11. ^ a b Tromp, John (2015). "Cuckoo Cycle; a memory bound graph-theoretic proof-of-work" (PDF). Financial Cryptography and Data Security: BITCOIN 2015. Lecture Notes in Computer Science. Springer. 8976: 49–62. doi:10.1007/978-3-662-48051-9_4. ISBN 978-3-662-48050-2.
  12. ^ a b Abliz, Mehmud; Znati, Taieb (December 2009). "A Guided Tour Puzzle for Denial of Service Prevention". Proceedings of the Annual Computer Security Applications Conference (ACSAC) 2009. Honolulu, HI: 279–288. CiteSeerX 10.1.1.597.6304. doi:10.1109/ACSAC.2009.33. ISBN 978-1-4244-5327-6. S2CID 14434713.
  13. ^ Back, Adam. "HashCash". 인기 있는 PoW 시스템. 1997년 3월에 처음 발표되었다.
  14. ^ Gabber, Eran; Jakobsson, Markus; Matias, Yossi; Mayer, Alain J. (1998). "Curbing junk e-mail via secure classification" (PDF). Financial Cryptography: 198–213.
  15. ^ Wang, Xiao-Feng; Reiter, Michael (May 2003). "Defending against denial-of-service attacks with puzzle auctions" (PDF). IEEE Symposium on Security and Privacy '03.
  16. ^ Franklin, Matthew K.; Malkhi, Dahlia (1997). "Auditable metering with lightweight security". Financial Cryptography '97. Lecture Notes in Computer Science. 1318: 151–160. doi:10.1007/3-540-63594-7_75. ISBN 978-3-540-63594-9. 1998년 5월 4일 업데이트된 버전
  17. ^ Juels, Ari; Brainard, John (1999). "Client puzzles: A cryptographic defense against connection depletion attacks". NDSS 99.
  18. ^ Waters, Brent; Juels, Ari; Halderman, John A.; Felten, Edward W. (2004). "New client puzzle outsourcing techniques for DoS resistance" (PDF). 11th ACM Conference on Computer and Communications Security.
  19. ^ Coelho, Fabien (2007). "An (almost) constant-effort solution-verification proof-of-work protocol based on Merkle trees". Cryptology ePrint Archive, Report.
  20. ^ "Reusable Proofs of Work". Archived from the original on December 22, 2007.
  21. ^ "Cambridge Bitcoin Electricity Consumption Index (CBECI)". www.cbeci.org. Retrieved 2020-02-20.
  22. ^ "Cambridge Bitcoin Electricity Consumption Index". Cambridge Center For Alternative Finance. Retrieved 30 September 2020.
  23. ^ Michael J. Casey; Paul Vigna (16 June 2014). "Short-Term Fixes To Avert "51% Attack"". Money Beat. Wall Street Journal. Retrieved 30 June 2014.
  24. ^ blockchain.info의 비트코인 채굴개요
  25. ^ digitaltrends.com에서 ASIC 광부란 무엇인가?
  26. ^ Vorick, David (13 May 2018). "The State of Cryptocurrency Mining".
  27. ^ tevador/RandomX: Github에서 무작위 코드 실행에 기반한 작업증명 알고리즘
  28. ^ Savva Shanaev, Arina Shuraeva, Mikhail Vasenin and Maksim Kuznetsov (2019). "Cryptocurrency Value and 51% Attacks: Evidence from Event Studies". The Journal of Alternative Investments. 22 (3): 65–77. doi:10.3905/jai.2019.1.081. S2CID 211422987.{{cite journal}}: CS1 maint: 작성자 매개변수 사용(링크)
  29. ^ Bateman, Tom (2022-01-19). "Ban proof of work crypto mining to save energy, EU regulator says". euronews. Retrieved 2022-01-22.

외부 링크