Trong máy tính Internet, máy tính được điều khiển bởi một bộ giao thức (ICP), cho phép mạng mở rộng tới hàng triệu nút và có thể cung cấp cho Canister (thùng chứa) sức mạnh tính toán không giới hạn và có thể mở rộng. Công nghệ khóa chuỗi là cốt lõi của giao thức máy tính Internet.
Vậy ưu điểm của công nghệ khóa xích là gì? Giao thức khóa chuỗi hoạt động như thế nào? Những đổi mới của công nghệ khóa chuỗi là gì? Về các chi tiết kỹ thuật của giao thức khóa chuỗi, Jan Camenisch, phó chủ tịch nghiên cứu mật mã tại DFINITY, đã tiết lộ bí ẩn cho chúng tôi trong bài phát biểu "Công nghệ khóa chuỗi mới cho máy tính Internet". Chào mừng bạn tiếp tục đọc toàn văn bài phát biểu do Odaily tổ chức, hãy tận hưởng ~
Xin chào mọi người, tôi là Jan Camenisch từ DFINITY, và bài nói chuyện này là về công nghệ khóa chuỗi. Trong máy tính Internet, máy tính được điều khiển bởi một bộ giao thức (ICP), cho phép mạng mở rộng tới hàng triệu nút và có thể cung cấp cho Canister (thùng chứa) sức mạnh tính toán không giới hạn và có thể mở rộng.
Công nghệ khóa chuỗi là cốt lõi của giao thức máy tính Internet, trên thực tế, bộ giao thức này là một hệ thống mật mã biên đặc biệt do chúng tôi phát triển. Phần rõ ràng nhất của công nghệ khóa dây chuyền là các máy tính Internet có một khóa chung duy nhất mà thông tin được gửi từ các máy tính quan tâm về khóa chung đó có thể được xác minh, đây là một lợi thế rất lớn của máy tính Internet. Do đó, nếu bạn muốn vào một máy tính Internet, bạn chỉ cần một khóa công khai 48 byte để xác minh tất cả các tin nhắn. Ngược lại, ứng dụng khách Ethereum cần tải xuống ít nhất 400GB dữ liệu để đạt được hiệu quả tương tự.
Bây giờ chúng ta hãy giải thích thêm về công nghệ khóa chuỗi. Để mở rộng máy tính Internet, không phải tất cả các nút thực sự chạy trong cùng một Hộp (hộp chứa), mà chúng ta phải phân phối Hộp trên các nút khác nhau hoặc trong các mạng con khác nhau (bao gồm nhiều nút) , chúng tôi gọi chuỗi mạng con này là Mạng nơ ron (NNS). Một trong những mạng con này là đặc biệt vì nó kiểm soát và thống trị các mạng con khác.
Và điều tôi muốn nói về khóa chung duy nhất, thực ra là khóa chung quản lý tất cả các mạng con khác và được sử dụng để tạo tất cả các mạng con khác cung cấp khóa. Chúng tôi tạo khóa công khai, tạo chứng chỉ vùng chứa và các phần chính khác của mạng con này.
Giống như công nghệ khóa chuỗi, NNS có thể bắt đầu lại từ đầu. Giờ đây, khi người dùng tương tác với NNS, NNS sử dụng Canister (thùng chứa) của họ để thực hiện các phép tính và nhận kết quả từ các phép tính. Họ có thể đăng nhập vào mạng con của các kết quả này để xác minh điều này. Về khóa công khai của mạng con, khóa công khai của mạng con có thể được xác minh bằng chứng chỉ mà mạng con có được từ NNS, đây giống như hai phần của công nghệ khóa chuỗi. Phần đầu là những gì chúng ta vừa nói, các mạng con cấp cao hơn có thể tạo khóa riêng cho các mạng con khác, phần thứ hai là cách các mạng con nhận khóa riêng từ NNS quản lý các khóa riêng này.
Các nút có thể bị hỏng và cần được thay thế; các nút cũng có thể bị xâm phạm và cần phải loại bỏ. Trong cả hai trường hợp, khóa riêng mà mạng con nhận được cần phải được chia sẻ lại giữa tập hợp các nút mới, vì vậy để duy trì thông tin khóa mà mạng con nhận được, chúng tôi sử dụng Chữ ký ngưỡng (chữ ký ngưỡng), chữ ký đặc biệt này Đó là thực ra là một thuật toán nghe giống như một tập hợp các thuật toán phải hoạt động cùng nhau. Trước hết, chúng tôi có một thuật toán để tạo khóa riêng, giống như việc một đại lý đáng tin cậy liên tục tạo khóa chung và khóa riêng, sau đó phân phối chúng cho những người tham gia khác nhau. chữ ký đầy đủ liên quan đến khóa chung ban đầu và được xác minh.
Làm thế nào để thực hiện quy trình trên trong công nghệ khóa dây chuyền? Một cách: bạn cần một thuật toán tạo khóa không tương tác Thuật toán tạo khóa tiêu chuẩn cho các sơ đồ chữ ký ngưỡng yêu cầu một đại lý cũ đáng tin cậy có máy tính trên Internet, điều này khó có thể thực hiện được vì chúng tôi không muốn tin tưởng bất kỳ bên nào.
Để giải quyết vấn đề này, chúng tôi đề xuất một số mật mã hiệu quả mới. Nó cho phép hai điều: Thứ nhất, nó cho phép người chia bài trực tiếp tạo các khóa này mà không cần tương tác, người chia bài tạo khóa và khóa công khai, nhưng điểm khác biệt là các khóa được viết cho mỗi bên, trong ví dụ của chúng tôi ở đây Manh mối là dữ liệu, và bằng chứng đồ họa được mã hóa không tương tác cũng được tạo ra. Trên thực tế, khớp với khóa công khai được tạo, chúng tôi thực sự bắt đầu một bằng chứng không tương tác trong đó một trong hai bên có thể xác minh rằng chia sẻ là chính xác.
Phần thứ hai là bản chất toán học của sơ đồ chia sẻ, nghĩa là hai cổ phiếu khác nhau có thể được kết hợp thành một cổ phiếu và nếu bạn có hai đại lý trở lên, cặp giao dịch nhận có thể thực hiện một phép toán đồng cấu toán học mà chúng tôi gọi là Đối với công khai hợp nhất khóa, trong đó các khóa công khai khác nhau trở thành một khóa chung duy nhất, họ cũng có thể thực hiện tương tự trên các khóa, dẫn đến một kiểu chia sẻ mới, chia sẻ kết hợp.
Như chúng ta đã biết, mọi chia sẻ đều đúng vì những bằng chứng về kiến thức thần kinh này, sự kết hợp đồng hình này sẽ thực sự đảm bảo rằng chỉ cần một đại lý làm đúng, thì tôi đã không tiết lộ chìa khóa này, sự kết hợp tổng thể của chìa khóa cũng sẽ được an toàn, vì chúng chứa đủ ngẫu nhiên. Đặc điểm thú vị của hoạt động đồng hình này là nó sẽ đảm bảo rằng miễn là việc chia sẻ đơn lẻ được thực hiện chính xác, tức là khóa được tạo ngẫu nhiên và không bị rò rỉ ở bất kỳ đâu, thì khóa kết hợp và khóa chung sẽ được tạo. Vì vậy, điều này cho phép internet bắt đầu các mạng con mới, để tạo khóa cho các mạng con. Nói chính xác hơn, mỗi nút của NNS sẽ thực hiện chia sẻ như vậy và truyền thông tin cho các nút mới.
Bây giờ chúng ta nói về phần thứ hai. Các nút phải duy trì thông tin chính mà chúng nhận được ban đầu từ NNS. Bây giờ vì không thể liên lạc cụ thể với chúng, chúng cũng sẽ được truyền theo cách được mã hóa. Chúng tôi cần một công cụ biểu đồ được mã hóa thứ hai, nhưng không phải để tạo Đối với các khóa mới, họ cần chứng minh rằng thông tin mã hóa khóa của họ phù hợp với khóa được chia sẻ, sau đó cung cấp cho tất cả các nút khác và khi đạt đến một ngưỡng nhất định, tất cả các nút có thể chia sẻ lại một khóa mới.
Chúng ta hãy xem cách sử dụng phương pháp không tương tác để khôi phục khóa bị mất trong mạng con. Ví dụ: chúng tôi có bốn nút trong ví dụ của mình, một trong số chúng bị hỏng, mất tất cả trạng thái, mất tất cả thông tin chính, vì chúng tôi đang sử dụng ba trong số bốn sơ đồ chia sẻ khóa, các nút còn lại vẫn có thể hoạt động, lúc này NNS sẽ chỉ định các nút mới vào mạng con và lưu trữ lại thành bốn nút. Nhưng nếu mất đi hai nút thì đó là một thảm họa.
Bên kia cũng nhận thấy rằng nó giống như một chiếc chìa khóa mà anh ấy đã chia sẻ, đối với bản ghi này và bản ghi gốc, chúng tôi đảm bảo tính bí mật của bộ nút mới, bốn nút đã áp dụng công nghệ chia sẻ miễn phí với các đặc điểm không hấp dẫn. Sau này, mỗi trong số bốn nút mới sẽ có một chia sẻ khóa tương ứng với khóa chung, đó là cách chúng tôi có thể thay thế các nút đó từ mạng con đã bị lỗi và tiếp tục hoạt động.
Đối với những nút có thông tin khóa chưa đủ điều kiện để tham gia, nếu muốn tham gia mạng con, chúng cần phải cụ thể: trước tiên, tất cả các khóa riêng phải đồng ý tham gia mạng con; mạng con xác minh và cho phép trạng thái của nó; chứa tất cả các khóa gần đây trạng thái khối. Vì các nút riêng lẻ không đáng tin cậy nên các nút phải cùng nhau xác minh trạng thái mới nhất, sau đó chúng tôi đặt trạng thái chung, tức là nút mới, chúng tôi sẽ đảm bảo rằng trạng thái nhận được thực sự là trạng thái thực, trạng thái chính xác để bắt đầu.
Các thao tác này rất tốn kém, chúng tôi không thể thực hiện chúng mỗi vòng, chúng tôi cần thực hiện chúng trong một khoảng thời gian xác định, trong khoảng thời gian này, chúng tôi tạo trạng thái xác thực, đặt hai trạng thái này lại với nhau, chúng tôi gọi đó là gói Catchup. Nó cho phép các nút theo kịp các nút khác và hoạt động với chúng, gói Catchup này thực sự rất mạnh mẽ, bởi vì chúng không những không cho phép chúng tôi thay thế mà còn cho phép khôi phục các nút, vì vậy nếu nút không bị sập nhưng có thể ngoại tuyến vì những lý do khác, Nếu thời gian quá dài, để bắt kịp với nút trước, bạn có thể tải xuống gói bắt kịp mới nhất, sau đó giải nén và tiếp tục hoạt động.
Trong những trường hợp thảm khốc, hơn một phần ba số nút sẽ bị sập hoặc mất trạng thái và thậm chí sau đó chúng tôi vẫn có thể khôi phục mạng con. Miễn là chúng ta vẫn còn gói Catchup, NNS có thể lấy gói Catchup đó, chỉ cần thêm một khóa chia sẻ mới, vì khóa trước đó không còn hiệu lực và bắt đầu từ gói Catchup ban đầu, tạo một mạng con mới. Ngoài ra, và có lẽ là quan trọng nhất, các gói Catch-up cũng cho phép chúng tôi nâng cấp giao thức, vì các gói Catch-up xác định trạng thái rõ ràng của mạng con. Có thể nói rằng sau một gói Catch-up nhất định, tất cả các nút mới sẽ tải xuống phiên bản giao thức mới và chạy phiên bản giao thức mới từ gói Catch-up này, dkg không tương tác và chia sẻ lại khóa hoặc chỉ thay đổi công nghệ .phần tử.
Cốt lõi của công nghệ khóa chuỗi là giao thức đồng thuận, điều phối sự đồng thuận khác biệt của tất cả các giao thức. Nhiệm vụ chính của nó là thu thập và đánh giá các thông báo từ người dùng và thực hiện chúng, nhưng nó cũng phải phối hợp tổ chức không tương tác và chia sẻ lại giữa tất cả các nút khác nhau để đảm bảo rằng các tính toán được thực hiện chính xác. Ngay cả khi một số sự cố xảy ra, chẳng hạn như lỗi đĩa cứng hoặc một số trục trặc khác, sự cố với một số bộ phận của bộ chứa này sẽ không ảnh hưởng đến việc thực thi lệnh; nhưng vẫn liên quan đến việc khôi phục và đồng bộ hóa trạng thái phối hợp của nó, và do đó điều phối tất cả các nâng cấp từ cái đã cho bị mất Trạng thái bắt đầu. Một tính năng thú vị khác là giao thức đồng thuận thực sự cũng cung cấp các ứng dụng ngẫu nhiên khôi phục, chúng tôi sẽ sớm có một cuộc thảo luận kỹ thuật về tất cả các chi tiết này và chúng tôi cũng sẽ xuất bản các thông số kỹ thuật về điều này.
Nói tóm lại, công nghệ khóa chuỗi cho phép các máy tính Internet có một khóa chung duy nhất, có thể được sử dụng để xác minh các máy tính được kết nối với mạng; công nghệ khóa chuỗi cũng cho phép NNS thêm mạng con mới và mở rộng mạng mãi mãi; nếu quá nhiều nút bị lỗi, công nghệ khóa chuỗi có thể kích hoạt lại mạng con; công nghệ khóa chuỗi cũng có thể thay thế nút bị sập; cuối cùng, công nghệ khóa chuỗi cũng có thể cập nhật giao thức IC, sửa lỗi và thêm các chức năng mới.
