Keyword

    Cách các mã máy tính Internet nhanh chóng bắt kịp trạng thái mới nhất của chuỗi khối

    Giải thích về cách sao chép cho phép các nút trên chuỗi khối Internet Computer tiếp tục và bắt kịp trạng thái mới nhất của giao thức.
    Internet Computer được tạo ra bởi hàng trăm nút – cuối cùng mở rộng lên hàng triệu nút trong thập kỷ tới – trong các trung tâm dữ liệu độc lập trên khắp thế giới đang chạy Giao thức Internet Computer (ICP). Điều này cung cấp một cách an toàn và đáng tin cậy để chạy các hợp đồng thông minh canister để xây dựng dapp, nền tảng DeFi, NFT, website và dịch vụ internet trực tiếp trên internet mở. Internet Computer là blockchain có khả năng mở rộng đầu tiên, nơi mạng có thể tăng dung lượng vô hạn của nó bằng cách thêm các mạng con mới (hay còn gọi là blockchains) nơi các nhóm hộp chạy cùng nhau.
     
    Trong mỗi mạng con, Internet Computer đảm bảo rằng các hộp chạy an toàn và đáng tin cậy. An toàn, có nghĩa là trạng thái của hộp chỉ thay đổi theo các quy tắc của hộp và nó không thể bị can thiệp đến mức trạng thái của hộp không phù hợp với mã của nó. Đáng tin cậy, có nghĩa là các hộp trong mạng con không đột nhiên ngừng chạy.
     
    Mạng yêu cầu rằng các thùng chứa canisters có được sự bảo mật và độ tin cậy này thông qua một cách tiếp cận được gọi là sao chép. Nếu bạn quan sát bên dưới lớp vỏ của một mạng con, bạn sẽ thấy rằng nó được cung cấp bởi nhiều bản sao. Mỗi bản sao lưu giữ tất cả các trạng thái của hộp và quy trình, cũng như tất cả các thông điệp cần được xử lý bởi hộp. Internet Computer cung cấp rằng ngay cả khi một số bản sao cấp nguồn cho mạng con ngoại tuyến hoặc thậm chí độc hại, mạng con vẫn tiếp tục xử lý thông báo cho các hộp. Chính xác hơn, miễn là ít hơn một phần ba trong số các bản sao đó ngoại tuyến hoặc độc hại (tức là, hơn hai phần ba trong số chúng trực tuyến, có sẵn và tham gia vào giao thức), thì các mạng con sẽ tiếp tục tiến bộ để sao chép. Mạng sử dụng giao thức đồng thuận, “Mạng con của Internet Computer được thiết kế để xử lý nhiều dữ liệu hơn đáng kể với độ trễ ít hơn.”
     
    Mỗi bản sao trên mạng con Internet Computer có quan điểm riêng về blockchain và mỗi bản sao cố gắng trao đổi các hiện vật thông qua một mạng “buôn chuyện”. Nhưng đôi khi một số bản sao có thể không khả dụng, ví dụ: trong một mạng con bốn bản sao bao gồm Bản sao Một, Hai, Ba và Bốn, có lẽ Bản sao Bốn tạm thời bị ngắt kết nối với internet. Vì Giao thức Internet Computer hoạt động theo cách có khả năng chịu lỗi, ba bản sao còn lại trên các mạng con sẽ có thể tiến bộ ngay cả khi Bản sao Bốn ngoại tuyến. Nếu một bản sao khác bây giờ không khả dụng, thì điều này sẽ không hoạt động vì hơn một phần ba bản sao ngoại tuyến. Nếu Bản sao Bốn bây giờ trở lại trực tuyến, nó có thể bắt kịp hoàn toàn trạng thái mới nhất của giao thức. Bởi vì hơn hai phần ba số nút có sẵn.
     
    Ngoài ra, tại một số điểm, mạng có thể muốn thêm một nút vào mạng con, có lẽ để tăng khả năng chịu lỗi trên các mạng con, nhưng nút này đến mà không biết gì về trạng thái của mạng con. Ở đây một lần nữa, nút cần có khả năng bắt kịp hoàn toàn trạng thái mới nhất của các mạng con, để nó có thể tham gia vào giao thức. Bất cứ khi nào hơn 2/3 số nút trên mạng con trực tuyến và khả dụng, mạng con phải phát triển sao cho các hộp trên mạng con chạy một cách rất đáng tin cậy, ngay cả khi một số nút cấp nguồn cho mạng con đang ngoại tuyến hoặc độc hại. Kết quả của việc này là một bản sao trung thực phải luôn có thể bắt kịp trạng thái mới nhất cho dù nó có kém xa bao nhiêu.
     
    Các blockchains thông thường như Bitcoin và Ethereum đạt được đặc tính này bằng cách dựa vào việc các khối của chúng được lưu trữ mãi mãi và tất cả các khối của chúng là cần thiết để có thể xác minh bằng mật mã các giao dịch và tham gia vào chuỗi khối. Ví dụ: chuỗi khối Bitcoin hiện được ước tính có kích thước khoảng 350GB và Ethereum là khoảng 900GB, vì vậy việc đồng bộ hóa hoàn toàn chúng là một nỗ lực khó khăn. Mạng con của Internet Computer được thiết kế để xử lý nhiều dữ liệu hơn đáng kể với độ trễ ít hơn, do đó, không khả thi khi yêu cầu tất cả những người tham gia phải có đầy đủ blockchain để hoạt động trên mạng. Điều này đặt ra một thách thức: giả sử Bản sao Một thua xa các bản sao khác của mạng con, sao cho tất cả các bản sao của mạng con khác đã bị xóa các phần của chuỗi khối mà Bản sao Một đang tìm kiếm?
     
    Một phức tạp khác là các nút của một mạng con nhất định có thể thay đổi theo thời gian. Vì giao thức của chúng tôi dựa vào việc xác minh chữ ký từ các nút của mạng con, nên rất khó để một bản sao đứng sau biết chữ ký nào đáng tin cậy, vì nó không biết nút nào hiện đang cấp nguồn cho mạng con.
     
    Do đó, Internet Computer triển khai một cách tiếp cận mới để khôi phục lại cho phép các nút tham gia đầy đủ (và thực hiện tất cả các xác thực mật mã được yêu cầu) mà không yêu cầu tất cả các khối lịch sử, dựa trên mật mã Khóa chuỗi. Mọi mạng con (tức là mọi chuỗi khối) đều có một khóa công khai cố định không thay đổi theo thời gian. Khóa bí mật tương ứng thực sự được chia sẻ giữa những người tham gia mạng con. Và nếu thành viên của mạng con thay đổi, thì các chia sẻ bí mật sẽ được phân phối lại một cách an toàn cho các nút mới. Và các nút của mạng con của chúng ta giờ đây có thể cộng tác ký một tạo tác thay mặt cho mạng con. Các hiện vật như vậy có thể được xác minh bằng cách sử dụng khóa mạng con cố định này.
     
    Điều này sẽ giúp bạn rất dễ dàng xác minh các đối tượng đã được ký bởi các mạng con vì tất cả những gì cần thiết là một khóa công khai cố định không thay đổi theo thời gian. Ngay cả một bản sao còn rất xa và không biết các nút hiện tại của mạng con có thể xác minh một chữ ký như vậy.
     
    Để giải quyết vấn đề nối lại, Internet Computer giới thiệu một tạo tác đặc biệt được gọi là gói bắt kịp (CUP). CUP này cho phép một bản sao nhảy lên một tầm cao mới hơn một cách an toàn, bỏ qua các phần của chuỗi khối. Nó được ký bằng cách sử dụng khóa mạng con cố định này, sao cho ngay cả những bản sao đứng sau luôn có thể xác minh tính xác thực của nó và bắt kịp trạng thái mới nhất. Một bản sao trung thực đảm bảo rằng nó luôn có sẵn CUP, cho phép các bản sao khác luôn bắt kịp hoàn toàn trạng thái mới nhất của giao thức.
     
    Câu hỏi còn lại là: Chính xác thì điều gì phải đi vào CUP này, để một bản sao có thể an toàn bỏ qua? Để trả lời điều đó, trước tiên chúng ta hãy xem xét chi tiết của giao thức. Chuỗi khối Internet Computer ra lệnh cho các thông điệp cần được thực thi trên các mạng con, dẫn đến trạng thái sao chép của các mạng con, chứa tất cả bộ nhớ của các hộp. Sử dụng các trạng thái được sao chép trước đó và các thông báo trong khối, mọi bản sao có thể tính toán trạng thái được sao chép tiếp theo. Để một bản sao bắt kịp, nó cần phải có một trong những trạng thái được sao chép này, để nó có thể tự tính toán trạng thái tiếp theo. Ngoài ra, các khối đề cập đến các trạng thái được sao chép này và tính hợp lệ của chúng được kiểm tra dựa trên một số phần của trạng thái được sao chép này và các khối tiếp theo trong chuỗi khối. Điều này cho phép Internet Computer yêu cầu, ví dụ: rằng một thông báo không xuất hiện nhiều lần trong chuỗi khối và nó không được xử lý nhiều lần. Để thực hiện việc kiểm tra như vậy, bản sao không chỉ cần có các trạng thái được sao chép phù hợp mà còn cần có một số phần của chuỗi khối, đây là một thành phần khác cần thiết cho CUP.
     
    Cuối cùng, có một đèn hiệu ngẫu nhiên . Ở mọi độ cao, có một hiện vật trông ngẫu nhiên được gọi là báo hiệu ngẫu nhiên, là một giá trị không thể đoán trước và báo hiệu ngẫu nhiên trong quá khứ cần xác minh báo hiệu ngẫu nhiên tiếp theo. Báo hiệu ngẫu nhiên cũng được yêu cầu để xác minh các tạo tác đồng thuận, vì báo hiệu ngẫu nhiên được sử dụng để chọn các vai trò trong giao thức đồng thuận. Một bản sao có thể sẽ cần phải có một đèn hiệu ngẫu nhiên để bắt kịp hoàn toàn.
     
    Với điều này, CUP đã sẵn sàng để được xác định. Các bản sao sẽ thường xuyên tạo CUP (ví dụ: cứ mỗi 200 chiều cao). Sau khi đạt đến Chiều cao 200, các bản sao sẽ kiểm tra xem đã đến lúc tạo CUP hay chưa. Các bản sao kiểm tra xem liệu chúng có sẵn một đèn hiệu ngẫu nhiên, một khối ở độ cao đó và trạng thái được sao chép hay không. Ngoài ra, họ kiểm tra xem blockchain đã phát triển đến mức mà các trạng thái cũ hơn ở Độ cao 200 không còn được yêu cầu nữa. Nếu tất cả những điều này được thỏa mãn, thì các bản sao đã sẵn sàng tạo CUP cho Chiều cao 200. Chúng nhóm các trạng thái được sao chép, một khối và một báo hiệu ngẫu nhiên lại với nhau thành một tạo tác duy nhất, chúng ký bằng khóa công khai mạng con đặc biệt đó.
     
    Giờ đây, hiện vật này sẽ đủ để các bản sao khác bắt kịp. Lưu ý rằng trạng thái được sao chép thực sự quá lớn để được đưa vào CUP. Do đó, chỉ một hàm băm của các trạng thái được sao chép được đưa vào. (Trạng thái đầy đủ có thể có được bằng một giao thức đồng bộ trạng thái riêng biệt nằm ngoài phạm vi của bài đăng blog này.) Bất cứ khi nào các bản sao thành công trong việc tạo một CUP như vậy, giờ đây họ có thể vứt bỏ tất cả các đồ tạo tác cũ hơn vì họ biết rằng các bản sao sẽ có thể bắt kịp được. Nếu một bản sao kém xa những bản sao khác có được CUP qua mạng, vì nó được ký theo một cách đặc biệt dưới khóa công khai của mạng con vẫn được biết đến, thì tính xác thực của phần mềm này có thể được xác minh và nội dung của nó đáng tin cậy.
     
    Hãy xem xét cách một bản sao có thể sử dụng CUP để bắt kịp trạng thái mới nhất của blockchain. Từ CUP, nó nhận được một báo hiệu ngẫu nhiên, một khối và trạng thái sao chép mà nó tin cậy vì chúng được xác thực thông qua mật mã Chain Key. Cùng với đó, bản sao có thể tuân theo chuỗi báo hiệu ngẫu nhiên, vì bây giờ bản sao có một báo hiệu trước đó để xác minh báo hiệu tiếp theo chống lại. Bản sao cũng có một khối để nó có thể theo dõi các khối tiếp theo và xác minh các công chứng cũng như các bản hoàn thiện. Vì nó có một trạng thái được sao chép và các khối tiếp theo từ đó, bản sao có thể tính toán các trạng thái tiếp theo. Bản sao hiện có các tạo tác blockchain và đèn hiệu ngẫu nhiên mới nhất và các trạng thái sao chép mới nhất, có nghĩa là nó được cập nhật đầy đủ và có thể tham gia vào giao thức.
     
    Tóm lại, Internet Computer chạy các hộp một cách đáng tin cậy, ngay cả khi một số máy cấp nguồn cho mạng con đang ngoại tuyến. Chính xác hơn, bất cứ khi nào hơn 2/3 số bản sao trên mạng con là trung thực và trực tuyến, thì các mạng con đó sẽ đạt được tiến bộ và blockchain sẽ phát triển. Kết quả của điều đó là mọi bản sao trung thực phải luôn có thể bắt kịp trạng thái mới nhất, bất kể nó bị tụt lại bao xa. Đồng thời, blockchain có thể phát triển rất lớn, vì vậy các bản sao cuối cùng phải xóa tất cả các phần của blockchain. Một cấu phần đặc biệt được gọi là gói tóm tắt (CUP) được xác thực bằng cách sử dụng khóa công khai mạng con cố định. CUP chứa mọi thứ mà một bản sao cần để bỏ qua một cách an toàn các phần của blockchain và chuyển sang trạng thái gần đây để nó có thể tham gia đầy đủ vào giao thức.
     
    Windy