Công nhận nút như một bằng chứng của công việc


23

Hiện tại bitcoin có hệ thống bằng chứng công việc (PoW) sử dụng SHA256. Các hàm băm khác sử dụng một bằng chứng về hệ thống làm việc sử dụng biểu đồ, đảo ngược hàm băm một phần.

Có thể sử dụng một vấn đề Quyết định trong Lý thuyết hôn như nhận dạng nút và biến nó thành một bằng chứng về chức năng làm việc không? Cũng đã có ai làm điều này trước đây? Ngoài ra, khi chúng ta có chức năng Proof of Work này, nó sẽ hữu ích hơn những gì hiện đang được tính toán?



@ArtemKaznatcheev Cảm ơn bạn hãy nhìn vào đó.
Joshua Herman

Câu trả lời:


7

Nếu có một giao thức Arthur-Merlin cho thắt nút tương tự như các giao thức [GMW85][GS86] Arthur-Merlin cho Biểu đồ không đẳng cấu, thì tôi tin rằng có thể thiết kế bằng chứng tiền điện tử như vậy, trong đó mỗi chứng minh bằng chứng có thể được thiết kế, trong đó mỗi bằng chứng công việc cho thấy hai nút thắt không có khả năng tương đương / đẳng hướng.

Chi tiết hơn, như được biết đến trong giao thức Đồ thị không đẳng hình của [GMW85], người sáng lập muốn chứng minh cho Vicky trình xác minh rằng hai đồ thị (cứng) G 1 trên các đỉnh V không phải là đẳng cấu. Vicky có thể bí mật tung một đồng xu ngẫu nhiên i { 0 , 1 } , cùng với các đồng tiền khác để tạo ra hoán vị π S V , và có thể trình bày cho Peggy một biểu đồ mới π ( G i ) . Peggy phải suy luận i . Rõ ràng Peggy chỉ có thể làm điều này nếu hai biểu đồ không phải là đẳng cấu.G0G1Vi{0,1}π SVπ(Gi)i

Tương tự, và phù hợp hơn cho các mục đích của một bằng chứng công việc , như được dạy bởi [GS86] một phiên bản Arthur-Merlin của cùng một giao thức bao gồm Arthur đồng ý với Merlin trên , G 1 , ví dụ như ma trận kề. Arthur ngẫu nhiên chọn một hàm băm H : { 0 , 1 } *{ 0 , 1 } k , cùng với một hình ảnh y . Arthur cung cấp Hy cho Merlin. Merlin phải tìm một ( i , π )G0G1H:{0,1}{0,1}kyHy(i,π)sao cho .H(π(Gi))=y

Đó là, Merlin tìm kiếm một tiền tố của hàm băm , tiền tố là một hoán vị của một trong hai ma trận kề. Chừng nào k được chọn một cách chính xác, nếu hai đồ thị G 0G 1 không phải là đẳng cấu sau đó sẽ có một cơ hội cao hơn mà một preimage sẽ được tìm thấy, bởi vì số lượng ma trận kề trong G 0G 1 có thể gấp đôi lớn hơn nếu G 0G 1 .HkG0G1G0G1G0G1

Để chuyển đổi giao thức [GS86] ở trên thành bằng chứng công việc, xác định các công cụ khai thác là Merlin và xác định các nút khác là Arthur. Đồng ý với hàm băm , trong tất cả các mục đích, có thể là hàm băm S H A 256 được sử dụng trong Bitcoin. Tương tự, đồng ý rằng y sẽ luôn là 0 , tương tự như yêu cầu Bitcoin mà hàm băm bắt đầu với một số lượng nhất định 0 0 s.HSHA256y00

  • Mạng lưới đồng ý chứng minh rằng hai đồ thị cứng G 1 không phải là đẳng cấu. Các biểu đồ có thể được đưa ra bởi ma trận kề của chúngG0G1

  • Một thợ mỏ sử dụng liên kết đến các khối trước đó, cùng với cô ấy sở hữu Merkle gốc của giao dịch tài chính, gọi nó là , cùng với cô ấy riêng nonce c , để tạo ra một số ngẫu nhiên Z = H ( c B )BcZ=H(cB)

  • Công cụ khai thác tính toán để chọn ( i , π )W=Zmod2V!(i,π)

  • Công cụ khai thác xác nhận rằng - nghĩa là, để xác nhận rằng π được chọn ngẫu nhiên không phải là bằng chứng cho thấy các đồ thị là đẳng cấuπ(Gi)G1iπ

  • Nếu không, công cụ khai thác sẽ tính toán hàm băm W=H(π(Gi))

  • Nếu bắt đầu với số 0 0 s thích hợp , thì người khai thác có thể giành chiến thắng với cách xuất bản ( c , B )W0(c,B)

  • Các nút khác có thể xác minh rằng để suy ra ( i , π ) , và có thể xác minh rằng W = H ( π ( G i ) ) bắt đầu với những khó khăn thích hợp 0 ‘sZ=H(cB)(i,π)W=H(π(Gi))0

Giao thức trên không hoàn hảo, một số kink tôi nghĩ sẽ cần phải xử lý. Ví dụ, không rõ cách tạo hai biểu đồ ngẫu nhiên G 1 thỏa mãn các đặc tính tốt về độ cứng, chẳng hạn, cũng không rõ cách điều chỉnh độ khó khác hơn là kiểm tra các biểu đồ có nhiều đỉnh hoặc ít hơn. Tuy nhiên, tôi nghĩ rằng đây có lẽ là có thể vượt qua.G0G1

Nhưng đối với một giao thức tương tự về độ thắt nút , thay thế các hoán vị ngẫu nhiên trên ma trận kề của một trong hai biểu đồ G 2 bằng một số thao tác ngẫu nhiên khác trên sơ đồ nút hoặc sơ đồ lưới ... hoặc một cái gì đó. Tôi không nghĩ rằng các động tác Reidemeister ngẫu nhiên hoạt động, bởi vì không gian trở nên quá khó sử dụng quá nhanh.G1G2

[HTY05] đã đề xuất một giao thức Arthur-Merlin cho nút thắt, nhưng không may là có lỗi và họ đã rút lại yêu cầu của họ.

[Kup11] đã chỉ ra rằng, giả sử Giả thuyết Riemann tổng quát, sự thắt nút là ở , và đề cập rằng điều này cũng đặt nút thắt trong A M , nhưng tôi sẽ thành thật rằng tôi không biết cách dịch nó vào khung trên; các A M giao thức của [Kup11] Tôi nghĩ liên quan đến việc tìm kiếm một thủ hiếm p modulo mà một hệ phương trình đa thức là 0 . Số nguyên tố p hiếm gặp ở chỗ H ( p ) = 0 và hệ phương trình đa thức tương ứng với một đại diện của nhóm bổ sung nút.NPAMAMp0pH(p)=0

Lưu ý, hãy xem câu trả lời này cho một câu hỏi tương tự trên một trang web chị em, cũng đề cập đến tiện ích của các bằng chứng "hữu ích" như vậy.


Tài liệu tham khảo:

[GMW85] Oded Goldreich, Silvio Micali và Avi Wigderson. Bằng chứng cho thấy Yield không có gì ngoài hiệu lực của họ, 1985.

[GS86] Goldwasser Shafi, Michael Sipser. Tiền riêng so với tiền công trong hệ thống bằng chứng tương tác, 1986.

[HTY05] Masao Hara, Seiichi Tani và Makoto Yamamoto. UNKNOTTING nằm trong , 2005.AMcoAM

[Kup11] Greg Kuperberg. Thắt nút là trong , modulo GRH, 2011.NP


1
Điều gì về di chuyển ngẫu nhiên Markov? mathworld.wolfram.com/MarkovMoves.html
Joshua Herman

Ngoài ra, bạn có thể coi các nút thắt là đồ thị là đồ thị đã ký có bốn hóa trị. Vì vậy, bạn chỉ cần thực thi hạn chế đó trên G1 và G2
Joshua Herman

Dưới đây là việc giảm màu quandle thành ví dụ SAT. arxiv.org/pdf/1505.06595.pdf
Joshua Herman

vâng, nó xác định nếu bạn có một hoặc trên chéo. Xem en.wikipedia.org/wiki/Medial_graph
Joshua Herman

Điều này sẽ giúp kiểm tra cho sự vô lý? Có vẻ như bạn chỉ phải xây dựng một biểu đồ laman dễ dàng trong 2D (và các nút là đồ thị phẳng). www3.cs.stonybrook.edu/~jgao/CSE590-fall05/notes/lecture3.pdf
Joshua Herman

1

Tôi nghĩ cách để làm điều này là tạo một bảng các nút thắt với một loạt các hạn chế để không cho phép các phím tắt. Vì vậy, một bảng nút là một tập hợp các nút có một thuộc tính nhất định. Các tài sản dưới đây là một nút chính.

Bàn Rolfsen Hôn

Bây giờ chúng ta hãy xem một bảng nút được tạo thành từ các nút khảm: khảm nút là một loại biểu diễn của các nút sử dụng gạch thay vì là các chuỗi trong một không gian ba chiều. Bàn khảm

Bây giờ hãy chính thức xác định khảm khảm là gì:

Gạch khảm

Từ https://arxiv.org/pdf/1602.03733.pdf Khảm nút là sự thể hiện của một nút trên lưới n × n gồm 11 ô ở đây.

Đây là điểm khởi đầu của tôi trong việc yêu cầu bạn cho một bảng nút khảm với một loạt các hạn chế. Điều tôi muốn hỏi bạn là cho tôi một bảng với các thuộc tính sau

  1. Nó phải có ít nhất một phần tử có số chéo C
  2. Nó phải có ít nhất một phần tử có kích thước bằng MNM
  3. Nó phải là đồng vị xung quanh với nút mà chúng tôi gửiK
  4. Nó phải có một tập hợp các hoạt động của cardinality O n cho thấy rằng nó là đồng vị xung quanh với nút KOOnK
  5. Tất cả các hoạt động phải là duy nhất
  6. Bạn phải cho tôi tọa độ của thao tác trên nút thắt.CR
  7. Nó phải được mã hóa như một nút thắt.

Vì vậy, hãy mã hóa trefoil theo định dạng máy có thể đọc được. Chúng tôi lấy từng ô và gán cho chúng một số (01-11). Sử dụng vợt ngôn ngữ lập trình, nó sẽ trông như thế này

(define trefoil (array #[#[00 02 01 00]
                         #[02 10 09 01]
                         #[03 09 04 06]
                         #[00 03 05 04]] : Integer))

Tương ứng với trong bảng trên của Rolfesen. Bây giờ, hãy xem một nhiệm vụ tầm thường. Một lần nữa sử dụng vợt31

(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])

Điều này sẽ cho chúng ta nhiệm vụ tầm thường, đó là bảng tầm thường sẽ chỉ có nút chính . Các nút thắt nguồn và đích trong cấu trúc trên sẽ giống nhau. Số giao nhau sẽ là ba. Kích thước sẽ là bốn của bốn.31

Vì vậy, bây giờ chúng tôi đã thiết lập những gì đầu ra nên được. Bây giờ làm thế nào để chúng ta giải quyết thế hệ của vấn đề?

Vì vậy, chúng ta biết rằng dưới đồng vị môi trường xung quanh mà bạn có thể có được một sơ đồ nút khác được đưa ra một sơ đồ nút khác trong một tập hợp hữu hạn của các chuyển động reidmeister. Vì vậy, hãy tạo ra hai liên kết ngẫu nhiên. Nhiệm vụ sau đó chúng tôi xác định được đưa ra hai liên kết ngẫu nhiên mà tôi muốn bạn chỉ ra rằng chúng tương đương nhau bằng cách liệt kê mọi nút có thể được thể hiện hoặc chỉ ra rằng chúng không tương đương bằng cách cho tôi một tập hợp các trạng thái hoặc đường dẫn đến một nút đã biết một cái bàn.

Một cách mà chúng ta có thể cải thiện tốc độ để biết rằng một nút có trong bảng hay không là bằng cách xây dựng một bảng băm với các chỉ số là đa thức Alexander. Mỗi trường hợp sẽ có Đa thức Alexander được tính cho nó và nếu chúng chia sẻ cùng một đa thức Alexander thì nó sẽ được thêm vào như một phần tử cho bảng đó.

Tôi có một phần của chương trình làm việc tại ý chính sau: https://gist.github.com/zitterbewegung/4152b322eef5ecccdcf3502e8220844b


3
Cho hai liên kết lớn, ngẫu nhiên, chúng không có khả năng tương đương. Và họ có thể sẽ không có cùng một đa thức Alexander, điều này sẽ cho phép bạn chứng minh rằng chúng không tương đương trong thời gian đa thức. Vì vậy, nhiệm vụ là dễ dàng hầu hết thời gian. Tôi nghi ngờ rằng bạn sẽ không thể tạo ra một ví dụ thực sự khó bằng cách lấy các liên kết ngẫu nhiên.
Peter Shor

@PeterShor vâng tôi nhận ra điều đó. Tôi không nghĩ rằng tôi đã nói rõ điều này nhưng tôi cũng đang tạo ra một lượng tùy ý các tác vụ này khi tôi tạo nó để tăng độ cứng. Ngay cả với điều đó xảy ra sẽ không làm cho nó khó hơn?
Joshua Herman

@PeterShor Ngoài ra, chứng chỉ không chỉ là cả hai nút không tương đương mà tôi muốn có một tập hợp các nút di chuyển đến nút thắt hoặc đến một nút mà bạn có thể tính toán rằng nó không phải là đồng vị xung quanh (chẳng hạn như trefoil).
Joshua Herman

1
Đối với "một nút thắt đã biết trong một bảng", bạn có dự định có một bảng có kích thước theo cấp số nhân không? Bởi vì có nhiều nút theo một cấp số nhân .
Peter Shor

Có và không. Kích thước của mỗi trường hợp sử dụng knothash bị ràng buộc bởi tính chính của số Thao tác và cũng là một thể hiện hợp lệ của nút hoặc liên kết được mã hóa dưới dạng khảm nút. Tôi dự định sử dụng các tham số này để giới hạn số lượng giải pháp hợp lệ để độ cứng của vấn đề cũng là một tham số.
Joshua Herman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.