현재 비트 코인에는 SHA256을 사용하는 작업 증명 (PoW) 시스템이 있습니다. 다른 해시 함수는 작업 증명 시스템 사용 그래프, 부분 해시 함수 반전을 사용합니다.
매듭 인식과 같은 매듭 이론에서 의사 결정 문제를 사용하여 작업 증명 기능으로 만들 수 있습니까? 또한 전에 이것을 한 사람이 있습니까? 또한이 작업 증명 기능을 사용할 때 현재 계산중인 것보다 더 유용합니까?
현재 비트 코인에는 SHA256을 사용하는 작업 증명 (PoW) 시스템이 있습니다. 다른 해시 함수는 작업 증명 시스템 사용 그래프, 부분 해시 함수 반전을 사용합니다.
매듭 인식과 같은 매듭 이론에서 의사 결정 문제를 사용하여 작업 증명 기능으로 만들 수 있습니까? 또한 전에 이것을 한 사람이 있습니까? 또한이 작업 증명 기능을 사용할 때 현재 계산중인 것보다 더 유용합니까?
답변:
이 생길 경우 아서 - 멀린 받는 유사한 knottedness에 대한 프로토콜 [GMW85] 및 [GS86] 그래프 비 동형 아서 - 멀린 프로토콜, 나는 그런의 암호 화폐 작업 증명이 설계 될 수 있으리라 생각 항에있어서, 각각의 증거 외 연구 결과에 따르면 두 개의 매듭이 동일하거나 동 위원 소일 가능성이 낮습니다.
구체적으로는,도 [GMW85]의 그래프 비 동형 프로토콜에서 알려진, 페가 입증 두 (강성)이 그래프 것을 비키에게 검증을 증명하고자 및 에 정점 동형 아니다. Vicky는 무작위 동전 을 다른 동전과 함께 순열 를 생성하고 Peggy에게 새로운 그래프 제시 할 수 있습니다 . 페기는 추론해야한다 . 분명히 Peggy는 두 그래프가 동형이 아닌 경우에만이 작업을 수행 할 수 있습니다.
유사하게, 및 목적에 대한보다 중요한 작업 증명 이 [GS86]에 의해 개시된 바와 같이, 아서 멀린 동일한 프로토콜 버전 아서에 멀와 동의 포함 , 예 인접성 매트릭스 용으로 제공. Arthur 는 이미지 와 함께 해시 함수 임의로 선택합니다 . Arthur는 멀린 에게 와 를 제공합니다 . 멀린은 와 같은 찾아야합니다 .G 1 H : { 0 , 1 } ∗ → { 0 , 1 } k y H y ( i , π ) H ( π ( G i ) ) = y
즉, Merlin은 해시 의 사전 이미지를 찾고, 사전 이미지는 주어진 두 인접 행렬 중 하나의 순열입니다. 만큼 두 그래프 경우 올바르게 선택 및 동형없는의 인접성 매트릭스 수 있기 때문에 그리고, 프리 이미지를 찾을 수있는 더 높은 확률이있을 것이다 경우의 2 배만큼 클 수있다 .k G 0 G 1 G 0 ∪ G 1 G 0 ≅ G 1
위의 [GS86] 프로토콜을 작업 증명으로 변환하려면 광부 를 멀린으로 식별하고 다른 노드 를 Arthur로 식별하십시오 . Bitcoin에 사용되는 해시 일 수 있는 해시 에 동의하십시오 . 마찬가지로, 해시가 특정 수의 선행 시작해야하는 비트 코인 요구 사항과 유사하게 는 항상 이라는 데 동의합니다 .S H A 256 y 0 0
네트워크는이 딱딱한 그래프 것을 증명하는 데 동의 및 동형 수 없습니다. 그래프는 인접 행렬로 제공 될 수 있습니다G 1
광부는 자신의 Merkle 근본 금융 거래와 함께 이전 블록으로의 링크를 다시 사용하여 임의의 숫자 를 생성하기 위해 자신의 nonce 와 함께 라고합니다.
광부는선택( i , π )
광부는 임을 확인합니다. 즉, 임의로 선택된 가 그래프가 동형이라는 증거가 아님 을 확인합니다. π
그렇지 않으면 광부는 해시를 계산합니다.
가 적절한 수의 시작 하면 게시하여 광부가 승리합니다.0 ( c , B )
다른 노드가 있는지 확인할 수 추론 하고 있는지 확인할 수 의 적절한 어려움 시작 의( I , π ) W = H ( π ( G I ) ) 0
위의 프로토콜은 완벽하지 않으며 일부 문제를 해결해야한다고 생각합니다. 예를 들어, 임의의 두 그래프를 생성하는 방법을 분명하지 않다 및 예를 들어, 강성의 좋은 특성을 만족 않으며 더 많거나 적은 정점과 그래프를 테스트하여 이외의 난이도를 조정하는 방법을 알 수있다. 그러나 이것들은 아마도 극복 할 수 있다고 생각합니다.G 1
그러나 매듭 점 에 대한 유사한 프로토콜 의 경우 두 그래프 및 중 하나의 인접 행렬의 임의 순열 을 매듭 다이어그램 또는 그리드 다이어그램 등의 임의의 다른 연산으로 . 나는 공간이 너무 다루기 힘들어지기 때문에 임의의 Reidemeister 움직임이 작동한다고 생각하지 않습니다.G 2
[HTY05] 는 매듭에 대한 Arthur-Merlin 프로토콜을 제안했지만 불행히도 오류가 발생하여 주장을 철회했습니다.
[Kup11] 은 일반화 된 Riemann 가설을 가정 할 때, 매듭이 에 있고 이것이 또한 에 매듭을 넣는다는 것을 언급 하지만, 나는 이것을 어떻게 번역해야할지 모르겠다. 위 프레임 워크에; [Kup11] 의 프로토콜 나는 다항식의 시스템이 드문 프라임 모듈로를 찾는 것과 관련이 있다고 생각합니다 . 소수 는 이라는 점에서 드물며 , 다항식 시스템은 매듭 보완 그룹의 표현에 해당합니다.A M A M p 0 p H ( p ) = 0
주목할 점 은 자매 사이트에서 비슷한 질문에 대한 이 답변 을 참조하십시오. 이러한 사이트는 그러한 "유용한"작업 증명의 유용성을 다룹니다.
참고 문헌 :
[GMW85] Oded Goldreich, Silvio Micali 및 Avi Wigderson. 그 타당 함을 입증하는 증거, 1985.
[GS86] Shafi Goldwasser, Michael Sipser. 1986 년 대화 형 증명 시스템의 개인 동전과 공공 동전
[HTY05]하라 마사오, 타니 세이치, 야마모토 마코토. UNKNOTTING은 2005 년 에 있습니다.
[Kup11] 그렉 쿠퍼 베르크. 노트는 , modulo GRH, 2011에 있습니다.
이 작업을 수행하는 방법은 바로 가기를 허용하지 않는 일련의 제한 사항이있는 모자이크 매듭 표를 만드는 것입니다. 따라서 매듭 테이블은 주어진 속성을 가진 매듭 집합입니다. 아래 속성은 주요 매듭입니다.
이제 모자이크 매듭으로 구성된 매듭 테이블을 볼 수 있습니다. 매듭 모자이크는 3 차원 공간에서 문자열 대신 타일을 사용하는 매듭 표현의 한 유형입니다.
이제 매듭 모자이크가 무엇인지 공식적으로 정의하십시오.
From https://arxiv.org/pdf/1602.03733.pdf 매듭 모자이크는 아래에 11 개의 타일로 구성된 n × n 격자의 매듭을 나타냅니다.
이것은 일련의 제한 사항이있는 모자이크 매듭 테이블을 요구하는 출발점입니다. 내가 당신에게 묻고 싶은 것은 다음과 같은 속성을 가진 테이블을 제공하는 것입니다.
개미는 기계가 읽을 수있는 형식으로 인코딩합니다. 우리는 각 타일을 가져 와서 숫자 (01-11)를 지정합니다. 프로그래밍 언어 라켓을 사용하면 다음과 같이 보입니다.
(define trefoil (array #[#[00 02 01 00]
#[02 10 09 01]
#[03 09 04 06]
#[00 03 05 04]] : Integer))
Rolfesen의 위 표에서 에 해당합니다 . 이제 사소한 작업을 봅시다. 다시 라켓을 사용하여
(struct braidcoin ([source_knot : (Matrix Integer)]
[target_knot : (Matrix Integer)]
[crossing_number : (Refine [n : Integer] (> n 0))]
[dimention : (Refine [n : Integer] (> n 0))]
[timestamp : date])
이것은 우리에게 사소한 테이블은 주요 매듭을했을 것 사소한 작업 줄 것 . 위의 구조에서 소스 및 대상 매듭은 동일합니다. 교차 숫자는 3입니다. 차원은 4x4입니다.
이제 출력 결과를 설정했습니다. 이제 우리는 어떻게 문제의 발생을 해결합니까?
따라서 우리는 주변 동위 원소 아래에서 유한 한 레이드 마이스터 움직임으로 다른 매듭 다이어그램이 주어지면 다른 매듭 다이어그램으로 갈 수 있음을 알고 있습니다. 따라서 두 개의 임의 링크를 생성 할 수 있습니다. 그런 다음 우리가 정의하는 작업에는 표현 할 수있는 모든 가능한 매듭을 열거하여 동등한 지 또는 알려진 매듭에 대한 상태 또는 경로 세트를 제공하여 동등하지 않음을 나타내는 두 개의 임의 링크가 제공됩니다. 테이블.
매듭이 테이블에 있는지 여부를 아는 속도를 향상시킬 수있는 방법은 Alexander 다항식으로 인덱스가있는 해시 테이블을 구성하는 것입니다. 각 인스턴스는이를 위해 Alexander 다항식을 계산하고 동일한 Alexander 다항식을 공유하면 해당 테이블에 요소로 추가됩니다.
다음 요지에서 작업 프로그램의 일부를 가지고 있습니다 : https://gist.github.com/zitterbewegung/4152b322eef5ecccdcf3502e8220844b