계산 과제를 작업 증명으로 전환 할 수 있습니까?


20

cryptocurrency 마이닝의 겉보기 무의미 함은 유용한 대안에 대한 질문을 제기했습니다 .Bitcoin , CST , MO 에 대한 이러한 질문을 참조하십시오 . 실질적으로 모든 계산 문제 (이 솔루션을 효율적으로 확인할 수 있음)를 다른 도전 과제 (작업 증명에 사용되는 )로 변환 할 수있는 알고리즘이 있는지 궁금합니다. Ψ ( C )CΨ(C)

  1. 함수 는 일부 (공개) 랜덤 시퀀스 사용하여 랜덤 화 됩니다.RΨr
  2. 해결 이며 일반적으로 해결 한 하드 .Ψ(C)C
  3. 대한 솔루션 가 발견 되면 원래 도전 대해 솔루션 를 효율적으로 계산할 수 있습니다 .Ψ ( C ) Ψ - 1 ( x ) CxΨ(C)Ψ1(x)C
  4. 대한 솔루션을 아는 것은 대한 솔루션을 찾는 데 도움이되지 않습니다 . Ψ ( C )CΨ(C)

4 '(업데이트). 언급에서 노아가 지적한 바와 같이, 전처리 도 를 해결하는 데 아무런 이점이 없어야 한다는 조건으로 강화되어야한다 . Ψ ( C )CΨ(C)

이 마지막 조건은 의 해를 알고 있기 때문에 아무도 유리한 입장을 취할 수 없도록 요구 됩니다. 이 방법을 사용하면 사람들은 해결하고자하는 계산 문제를 제출할 수 있고 중앙 기관은 해결할만한 가치가있는 사람을 선택할 수 있습니다 (예 : 외계인 찾기 및 암호 깨기). 문제를 해결하는 데 일주일이 걸리더라도 문제가 아닌 것 같습니다. 어쨌든,이 주제는 내 이론적 문제의 해결책과 관련이 없지만 물론 의견 / 포럼에서 논의하게되어 기쁩니다.C

가능한 해결책은 다음과 같습니다. 는 를 에 . 즉, 및 기타 계산상의 어려운 문제를 해결하는 것입니다. 이것에 대한 한 가지 문제는 대한 해결책을 알면 해결이 다소 쉬워진다는 것입니다 ( 의 어려움에 따라 훨씬 ). 또 다른 문제는 점이다 보다 더 어려워졌다 .C ( C , H A S H r ) C C Ψ ( C ) H A S H r Ψ ( C ) CΨC(C,HASHr)CCΨ(C)HASHrΨ(C)C


3
아마도 이것이 관련이있을 것입니다 : eprint.iacr.org/2017/203.pdf
Andreas Björklund

3
"계산 도전"과 "작업 증명 도전"의 차이점은 무엇입니까?
또는 Meir

2
물론, 작업 증명의 정의는이를 정의하는 핵심 속성이 불완전 성이므로 일반적으로 몇 가지 문제를 고려해야합니다. 이것이 eprint.iacr.org/2017/203.pdf와 같은 작업이 수행 된 이유입니다. PoW의 거의 모든 응용 프로그램, 특히 암호 화폐에 대해 보장 할 수없는 보장이 필요합니다. 어쨌든 공개적으로 검증 가능한 솔루션을 찾고 있습니까, 아니면 개인적으로 검증 가능한 솔루션으로 충분합니까? 실질적으로 효율적인 계획을 원하십니까, 아니면 이론적 인 해결책을 원하십니까?
Geoffroy Couteau

5
@domotorp 왜 eprint.iacr.org/2017/203.pdf가 질문과 관련이 없다고 생각하십니까?
Alon Rosen

5
P에서 최악의 문제를 줄일 수는 없지만 광범위한 문제를 바탕으로 유용한 PoW를 제공합니다. 특히, 1 차 논리에서 안정 될 수있는 모든 그래프 문제를 포함하여 직교 벡터 (OV)로 환원 가능한 모든 문제. 또한 k-OV 문제 (대략 n ^ k 시간이 필요하다고 추측 됨) 및 세밀한 복잡성 세계의 다른 문제에도 적용됩니다. 따라서 예상만큼 일반적이지 않을 수도 있지만 결과는 여전히 일반적입니다. 그리고 위에서 언급 한 문제에 대해 속성 1-4가 실제로 만족됩니다.
Alon Rosen

답변:


8

( 참고 : Andreas Björklund는 아래 설명 된 것보다 낫다고 생각하는 의견에 대한 해결책을 제안했습니다. http://eprint.iacr.org/2017/203 , Ball, Rosen, Sabin 및 Vasudevan 참조. 이들은 경도 잘 이해되고있는 많은 문제들이 (예 K-SAT)이 비교적 효율적으로 저감 할 수 직교 벡터 같은 문제에 기초하여 일의 증거를 제공한다. 그들의 포로 인스턴스 하드 같다 입력 인스턴스 가 쉬운 경우에도 최악의 직교 벡터 는 아래 설명 된 솔루션의 주요 단점을 피합니다.CΨ(C)C

아래 설명 된 솔루션은 단순성 (비전문가라고 할 수 있음)의 이점을 얻을 수 있지만 이론적으로는 훨씬 덜 흥미로워 보입니다.)

" 대한 가장 빠른 알고리즘 이 기본적으로 무작위 화된다" 는 강력한 가정을 하고 (암호화 해시 함수를 임의 오라클로 모델링하는 경우) 해결책이 가능합니다 . 이것을 공식화하는 한 가지 방법은C

  1. CTFNPFP (그렇지 않으면 실제로 유효한 도전은 아닌 것 같습니다);
  2. 대한 가장 빠른 무작위 알고리즘 은 일반적인 인스턴스 에서 예상 시간 에서 실행됩니다 . 과 TCT
  3. 대해 에서 대한 솔루션 도메인 까지 효율적으로 계산 가능한 함수 가 존재하므로 항상 가 존재합니다. 와 용액 .{ 0 , 1 } k C k log 2 T s { 0 , 1 } k f ( s ) Cf{0,1}kCklog2Ts{0,1}kf(s)C

라는 가정 은 의 무차별 검색 이 본질적으로 대한 최적의 알고리즘 임을 암시합니다 . 따라서 이것은 매우 강력한 가정입니다. 반면, 이 이러한 특성을 만족시키지 않으면 조건 (2)와 (4)를 모두 만족시키는 것으로 상상하기 어렵습니다.{ 0 , 1 } k C Cklog2T{0,1}kCC

그런 다음 해시 함수 가 , 우리는 임의 오라클로 모델링하고 여기서 대한 은 대한 임의의 입력 입니다. 목표 출력 인 되도록 용액되는 . 다시 말해, 는 위 알고리즘에서 "좋은 랜덤 코인"으로 해시해야합니다.Ψ H ( C ; r ) r { 0 , 1 } k Ψ H x { 0 , 1 } f ( H ( r , x ) ) C ( r , x )H:{0,1}{0,1}kΨH(C;r)r{0,1}kΨHx{0,1}f(H(r,x))C(r,x)

이것이 모든 조건을 만족시키는 것을 보자.

  1. " 함수 는 임의의 공개 시퀀스 사용하여 무작위 화 됩니다." 검사!RΨr
  2. " 해결은 일반적으로 해결만큼 어렵습니다 ." 대한 단순 무작위 알고리즘 은 최대 + 다항식 오버 헤드 에서 예상 시간에 실행 되며 가정에 따르면 는 기본적으로 최적 알고리즘의 실행 시간입니다. .C Ψ H ( C , R ) 2 K (2) KT CΨ(C)CΨH(C,r)2k2kTC
  3. " 대한 솔루션 가 발견 되면 원래 도전 대해 솔루션 를 효율적으로 계산할 수 있습니다 ." 이것은 의 해결책 인 를 계산하여 수행 할 수 있습니다 .Ψ ( C ) Ψ 1 ( x ) C f ( H ( r , x ) ) CxΨ(C)Ψ1(x)Cf(H(r,x))C
  4. " 대한 솔루션을 아는 것은 대한 솔루션을 찾는 데 도움이되지 않습니다 ." 정의에 의해, 해결 찾을 필요 되도록 용액되는 . 를 랜덤 오라클 로 모델링했기 때문에 블랙 박스로 가 제공되는 쿼리 문제의 최적의 예상 쿼리 복잡성으로이 문제를 해결하는 알고리즘의 예상 실행 시간을 낮출 수 있습니다. 같은 문제에 대한 해결책. 그리고 는 랜덤 오라클 이기 때문에 예상되는 쿼리 복잡도는 요소의 일부와 반비례합니다. Ψ ( C ) Ψ H ( C ; r ) x f ( H ( r , x ) ) C H H H x { 0 , 1 } k C T 2 k 2 - kk r { 0 , 1 } H C r CCΨ(C)ΨH(C;r)xf(H(r,x))CHHHx{0,1}k (최대 상수). 가정하여 에 대한 알고리즘의 최적 예상 실행 시간 은 이므로이 분수는 보다 훨씬 클 수 없습니다 . 이후 과 임의로 선택되고, 이것에 의존하는 것이 허용되는 전처리 심지어 사실 및 (그러나 ) , 특히 에 대한 솔루션을 미리 알고있는 경우에도 마찬가지 입니다.CT2k2kkr{0,1}HCrC

이것은 매우 좋은 해결책입니다. 개선 가능성이 보이는 곳은 조건 (2)뿐입니다. 많은 문제들에 대해, 시간 동안 시간에 알고리즘이 있습니다 . 이와 같은 것을 보존 할 수 있다면 좋을지 모르지만 그것이 가능한지 확실하지 않습니다. 분명히 귀하의 방법은 현재 cryptocurrencies에 사용되는 방법보다 이미 우수합니다! c n c < 2NPcnc<2
domotorp

실제로, 블록 체인에서 많은 부분을 변경할 필요는 없습니다. 커뮤니티는 주어진 시간에 해시가 어느 실제 문제를 해결하는 블록 체인에 를 추가해야 한다는 데 동의 할 수 있습니다 . 실제로, 표준 블록 체인은 계속 될 수 있으며 이것은 독립적 인 솔로 도전 일 수 있습니다. 아마도 시장에서 이러한 독창적 인 인스턴스는 Rogue One이 sw7 또는 sw8보다 낫 듯이 전통적인 동전보다 가치가 있습니다. x
domotorp

당신이 그것을 좋아해서 기쁘다 :). 조건 이 "일부 검색 공간을 통한 강제 검색이 본질적으로 최적"임을 암시하지만 원래 검색 공간을 통한 무차별 검색이 본질적으로 최적이라는 것을 의미하지는 않습니다. 예를 들어, SAT의 경우 이는 시간 내에 가장 빠른 알고리즘을 실행해야하는 것과 다릅니다 . 2 NC2n
노아 스티븐스-다비도 비츠

컴포지션의 경우-예를 들어 계산 문제는 계산 문제가 더 작은 문제로 구성 될 수있는 문제 정의를 인정하며, 솔루션이 더 쉽고, 구성을 기반으로하지 않는 솔루션이 있다면, 암시 할 수없는 문제가 발생합니다. ?
user3483902

이 솔루션의 또 다른 문제는 내 질문에 대한 의견에서 지적한 것, 즉 누군가가 를 효율적인 방식으로 전처리 할 수 있다면 심각한 이점을 얻을 수 있다고 생각합니다. 나는 이것이 매우 민감한 문제라고 생각합니다. 시간에 솔루션을 표준 형식으로 확인할 수있는 문제를 제출한다고 가정 하지만 시간 에 확인하는 비밀 방법이 있습니다. 이것은 해결에 상당히 유리합니다 . N Cn Ψ(C)nΨ(C)
domotorp

1

솔루션 복권 기술 (SLT)이라고하는 다음의 간단한 기술은 다른 기술 (예 : 다중 POW 문제, Noah Stephens-Davidowitz의 답변에 언급 된 기술 등)과 함께 사용하여 계산 문제를 실행 가능한 증거로 변환 할 수 있습니다. 작업 문제. SLT는 조건 1-4 이외의 cryptocurrency 마이닝 문제와 관련된 문제를 개선하는 데 도움이됩니다.

가 " 와 같이 문자열 와 함께 적절한 해시 를 찾는"형식의 계산 문제 라고 가정합니다 . k x ( k , x ) DCkx(k,x)D

문제 설정 : 가 집합이고 가 암호화 해시 함수이고 가 일정 하다고 가정합니다 . 는 결정한 후에는 쉽게 얻을 수 있지만 다른 방법으로는 얻을 수없는 정보 라고 가정하자 .D H C 데이터 ( k , x ) ( k , x ) DΨ(C)DHCData(k,x)(k,x)D

문제 목적 : 쌍 찾기 되도록 적합한 해시 곳인 , 및 .( K , X ) (K) ( K , X ) D H ( K | | X | | 데이터 ( K , X ) ) < CΨ(C)(k,x)k(k,x)DH(k||x||Data(k,x))<C

이제 문제 가 요구 사항 1-4를 어떻게 충족시키는 지 조사해 보겠습니다 .Ψ(C)

  1. SLT가이 속성을 만족시키기 위해서는 이 이미 랜덤 화 되어 있다고 가정해야 합니다.C

2-3. 일반적으로보다 더 어려워 질 것 이 좋은 것입니다. 작업 증명 문제의 난이도는 미세 조정 가능해야하지만 원래 문제 는 미세 조정 가능 난이도를 갖거나 갖지 않을 수 있습니다 (비트 코인 채굴의 난이도는 2 주마다 조정됨을 기억하십시오) . 문제 의 어려움은 에 곱한 적절한 를 찾는 어려움과 같습니다 . 따라서 상수 는 미세 조정 가능하므로 의 난이도 미세 조정 가능합니다.C C Ψ ( C ) ( K , X ) D 2 NΨ(C)CCΨ(C)(k,x)D CΨ(C)2nCCΨ(C)

문제에도 불구하고 원래의 문제보다 더 어려운 거의 모든 문제를 해결하기위한 작업으로, 단순히 발견에 소요됩니다 쌍 와 오히려 해시를 계산하는 것보다 (한 계산할 수 있는지 여부까지 한 는 계산 했으며 확인하지 않으면 계산할 수 없습니다 .C Ψ ( C ) ( K , X ) ( K , X ) D H ( K | | X | | 데이터 ( K , X ) ) < C 데이터 ( K , X ) 의 데이터 ( K , X ) 데이터 ( k , x ) DΨ(C)CΨ(C)(k,x)(k,x)DH(k||x||Data(k,x))<CData(k,x)Data(k,x)Data(k,x)D

물론, 사실은 보다 더 어렵다 선물 몇 가지 새로운 문제. 유용한 문제의 경우 일부 데이터베이스 에서 쌍 을 저장하려는 경우가 많습니다 . 그러나, 블록 상을 수신하기 위해 상기 광부 쌍 공개 만한다 및 대신 모든 쌍 의 여부에 관계없이 여부. 이 문제에 대한 한가지 가능한 해결책은 단순히 모든 광부 쌍 공개위한C ( K , X ) ( K , X ) D ( K , X ) ( K , X ) D H ( K | | X | | 데이터 ( K , X ) ) < C ( K , X ) D H ( k | | x | |Ψ(C)C(k,x)(k,x)D(k,x)(k,x)DH(k||x||Data(k,x))<C(k,x)D( k , x ) ( k , x ) D ( k , x ) D ( k , x ) D Ψ ( C ) CH(k||x||Data(k,x))<C(k,x)(k,x)D의례에서. 채굴자가 공정한 몫 게시하지 않은 경우 채굴자는 체인을 거부 할 수도 있습니다 . 아마도 가장 긴 유효 체인을 가진 사람에 대한 계산을 위해 의 쌍 수 계산해야 할 것입니다. 대부분의 광부가 솔루션을 게시하면 해결 프로세스는 해결 프로세스만큼 많은 솔루션을 생성 합니다.(k,x)D(k,x)DΨ(C)C

광부는 쌍 모든 배치 시나리오에서 , 조건 2-3의 사상을 만족하는 것이다.Ψ ( C )(k,x)DΨ(C)

  1. 4Ψ(C) 는 특정 문제에 따라 조건 충족시킬 수도 있고 충족하지 않을 수도 있습니다.4

Other Advantages of this technique:

SLT는 작업 증명 문제에 바람직하거나 필요한 조건 1 ~ 4 이외의 다른 장점을 제공합니다.

  1. 보안 / 효율성 균형 개선 : SLT는 가 해결하기 쉽지 않거나 검증하기 어려운 경우에 도움이됩니다 . 일반적 보다 훨씬 더 어려운 해결하고자 하지만 으로 확인하기 쉬운 등 관한 . Ψ ( C ) C Ψ ( C ) CCΨ(C)CΨ(C)C

  2. 손상되거나 안전하지 않은 문제 제거 : SLT를 사용하여 백업 POW 문제 및 여러 POW 문제가있는 암호 화폐의 잘못된 POW 문제를 알고리즘 적으로 제거 할 수 있습니다. 엔티티가 문제를 해결하기위한 매우 빠른 알고리즘을 찾는다고 가정하십시오 . 그런 문제는 더 이상 적합한 작업 증명 문제가 아니므로 암호 화폐에서 제거해야합니다. 따라서 cryptocurrency 에는 누군가 문제를 너무 빨리 해결하지만 그렇지 않은 경우 문제를 제거하지 않는 알고리즘을 게시 할 때마다 cryptocurrency에서 를 제거하는 알고리즘이 있어야합니다 . 다음은 문제라고 부르는 문제를 제거하는 데 사용되는 문제 제거 알고리즘에 대한 개요입니다.C C C ACCCCA.

에이. Alice는 큰 비용을 지불하고 (이 비용은 알고리즘을 확인하기 위해 채굴자가 부담하는 비용을 부담합니다) 그런 다음 문제 를 중단시키는 알고리즘 K라고하는 알고리즘 을 블록 체인에 게시합니다 . 알고리즘 K가 대량의 사전 계산 된 데이터 의존하는 경우 Alice는이 사전 계산 된 데이터 의 Merkle 루트를 게시합니다 .P C P CAPCPC

비. 문제 A의 무작위 인스턴스는 블록 체인에 의해 생성됩니다. 그런 다음 Alice는 데이터가 실제로 에서 온 것임을 증명하기 위해 알고리즘 K가 Merkle 분기와 함께 올바르게 작동하는 데 필요한 사전 계산 된 데이터 부분을 게시합니다 . Alice의 알고리즘이 사전 계산 된 데이터 빠르게 공급 된 경우 문제가 제거되고 Alice는 문제를 블록 체인에서 제거하는 알고리즘 게시에 대한 보상을받습니다.P CPCPC

이 문제 제거 절차는 광부와 유효성 검사기에서 계산 비용이 많이 듭니다. 그러나 SLT는이 기술의 계산상의 어려움을 대부분 제거하여 cryptocurrency에 필요한 경우 사용할 수 있습니다 (이 기술이 사용되는 인스턴스는 아마도 드 rare니다).

  1. 채굴 풀이 더 실현 가능합니다. 암호 화폐에서는 종종 블록 보상을 얻는 것이 매우 어렵습니다. 블록 보상은 승리하기가 매우 어렵 기 때문에, 광부 는 문제를 해결하기 위해 자원을 결합하고 발견 한“미스 누락”량에 비례하여 블록 보상을 공유하는 마이닝 풀이 라는 것을 채굴 합니다. . 대한 가능한 문제 이 문제에 대해 "위기 일발"로 구성하는 것에 대한 질적 개념을 생산하기 어려울 수 있다는 것이다 로부터 상이 할 수 있으며, 가까운 미스를 찾기위한 알고리즘을 해결을위한 알고리즘 . 수영장 광부들은 미스에 가까운 곳을 찾고 있기 때문에 해결에 그다지 효율적이지 않을 수 있습니다C C C Ψ ( C ) ( k , x ) ( k , x ) D H ( k | | x | | 데이터 ( k , x ) ) C Ψ ( C ) Ψ ( C )CCCC (따라서 소수의 사람들이 마이닝 풀에 참여할 것입니다). 그러나 대한 , 가까운 양의 명확한 개념이있다, 즉, 거의 미스 한 쌍 그러나 이며 대한 근사값을 찾는 알고리즘은 대한 해답을 찾는 알고리즘과 같습니다. .Ψ(C)(k,x)(k,x)DH(k||x||Data(k,x))CΨ(C)Ψ(C)

  2. 무 진행 : 엔티티 또는 엔티티 그룹이 블록 체인에서 다음 블록을 찾는 데 걸리는 시간이 지수 분포 따르는 경우 작업 증명 문제 는 무 진행이라고합니다. 여기서 상수 는 엔티티가 문제 를 해결하기 위해 사용하는 계산 능력의 양에 직접 비례합니다 . 채굴자가 분산화를 달성하기 위해 채굴 능력에 비례하여 블록 보상을 받으려면 cryptocurrency 채굴 문제에 무 진행이 필요합니다. SLT는 채굴 문제가 진행 상황을 달성하도록 확실히 도와줍니다.전자 - λ X λ PPeλxλP

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.