**Khuyến nghị: Thị trường đang tăng và giảm và gặp phải tình hình ở Ukraine, bấm vào đây để tham gia nhóm PANews để hâm nóng **
Tiêu đề gốc: Giải thích sách trắng mới của DFINITY, chuỗi cổ phiếu tiềm năng công khai Công nghệ nền tảng trong kỷ nguyên kết nối Web 3.0 là gì?
Tác giả: TinTinLand
1
Chì
Vào đầu tháng 2/2022, Dmail, DApp email cá nhân đầu tiên được phát triển dựa trên hệ sinh thái DFINITY, đã nhận được khoản đầu tư chiến lược từ Amino Capital. Được biết, Dmail có thể gửi email đến và đi từ các hộp thư truyền thống, và so với các hộp thư truyền thống, Dmail với các thuộc tính blockchain cũng có thể nhận ra việc truyền thông tin và NFT được mã hóa của tên hộp thư. Đây là sự chuẩn bị cho phần mềm truyền thông trong kỷ nguyên Web 3.0, đóng vai trò là lối vào các trang web phi tập trung và DApp dưới dạng “nhận dạng kỹ thuật số”. Câu hỏi tôi muốn đặt ra là, tại sao Dmail lại chọn Dfinity?
So với các chuỗi công khai của blockchain, Dfinity đã không xuất hiện nhiều lần. Không có lửa DeFi khi có một tia lửa nhỏ và không kiếm được chỗ ngồi trong năm đầu tiên của “NFT”. Tuy nhiên, kể từ khi ra mắt, không có gì lạ khi những người như Dmail có cái nhìn thoáng qua về việc triển khai cụ thể của Web 3.0 sẽ như thế nào.
DFINITY đã phát hành phiên bản mã nguồn mở của phần mềm xã hội video ngắn “CanCan” vào tháng 7 năm 2020, mà chúng ta có thể đơn giản so sánh với Douyin của Web 2.0. CanCan dựa trên ngôn ngữ lập trình của DFINITY, Motoko và có ít hơn 1.000 dòng mã. Điều này có thể gọi là tuyệt vời so với hàng chục triệu dòng mã trên Douyin và Facebook. Đồng thời, mã của CanCan là mã nguồn mở và quyền sở hữu sản phẩm không thuộc về bất kỳ cơ quan tập trung nào. Vào ngày 1 tháng 10 cùng năm, DFINITY đã tiết lộ hệ thống quản trị và mô hình kinh tế mã thông báo của mình, và định giá của dự án từng đạt 9,5 tỷ đô la, xếp hạng trong số 5 công ty hàng đầu. Vào cuối tháng 12 cùng năm, sự phát triển quan trọng của năm mạng lưới từ đồng sang thủy ngân đã hoàn thành. Dominic Williams, Người sáng lập và Nhà khoa học trưởng của Quỹ DFINITY, cho biết tại “Diễn đàn và Lễ trao giải thưởng kỷ nguyên giá trị FAT 2020” rằng máy tính Internet là sự đổi mới lớn thứ ba của blockchain.
Bài viết này sẽ giải thích văn bản gốc của sách trắng của DFINITY, bắt đầu từ logic thấp nhất của lời giải thích chính thức, để xem DFINITY có thể bắt đầu từ công nghệ, phá vỡ công nghệ lớn của Internet và cho phép các phần mềm Web2.0 khác nhau sử dụng phần mềm tự trị và quản trị phi tập trung để đạt được sức mạnh tổng hợp của kinh doanh nguồn mở, để thực sự nhận ra Web3.0; Độc giả không có kinh nghiệm trong ngành công nghiệp blockchain có thể có ngưỡng đọc khi đọc bài viết này, nhưng họ cũng được hoan nghênh bình luận về các câu hỏi phát sinh bên dưới và họ có thể nhận được câu trả lời bất ngờ.
2
Đường nét
Trong suốt lịch sử và quá trình hiện tại của blockchain, BTC đã mang đến kỷ nguyên của tiền phi tập trung, ETH đại diện cho lĩnh vực hệ điều hành, Filecoin đại diện cho lưu trữ và DFINITY đại diện cho sự đổi mới của lĩnh vực điện toán và triển khai Web 3.0. Internet Computer (sau đây gọi tắt là IC) là mạng chính, là giao thức lớp 1, nhằm phát triển mạng công cộng phi tập trung, DFINITY là một máy tính và công nghệ blockchain ảo mở, mở rộng hệ sinh thái Ethereum đến một loạt các kịch bản ứng dụng kinh doanh. Trong bài viết này, chúng tôi sẽ sử dụng thuật ngữ chính thức “Máy tính Internet” trong sách trắng để chỉ chuỗi “DFINITY” thường được sử dụng trong kịch bản truyền thông hiện tại. Phần này chủ yếu giải thích các thuật ngữ kỹ thuật liên quan đến một số IC, cũng như sự khác biệt về công nghệ và triển khai so với các chuỗi công cộng khác, hoặc các điểm sáng trong công nghệ và chức năng. Có thể nói, IC là một nỗ lực mới trong việc kết hợp giữa khả năng mở rộng, phân cấp và bảo mật.
2.1 Giao thức đồng thuận
Nhìn vào IC và một số chuỗi công cộng lớn khác từ góc độ của các giao thức đồng thuận, IC áp dụng mạng điều khiển DAO mô hình lai, cung cấp nhiều lợi ích của giao thức PoS phi tập trung trong khi có hiệu quả của giao thức được phép. Các giao thức đồng thuận Bitcoin, Ethereum và Algorand dựa trên blockchain, sử dụng Proof of Work (PoW) hoặc Proof of Stake (POS). Mặc dù các giao thức này được phân cấp hoàn toàn, nhưng chúng kém hiệu quả hơn các giao thức được phép.
DAO hoạt động theo giao thức đồng thuận được phép cho mỗi mạng con và DAO quyết định thực thể nào có thể cung cấp bản sao của các nút, định cấu hình mạng, cung cấp cơ sở hạ tầng khóa công khai và kiểm soát phiên bản của giao thức trong đó các bản sao của các nút được triển khai. DAO của IC được gọi là Hệ thống thần kinh mạng (NNS) và dựa trên giao thức Pos, nghĩa là các quyết định liên quan đều do các thành viên cộng đồng quyết định và quyền biểu quyết của các thành viên cộng đồng được xác định bởi số lượng mã thông báo quản trị gốc của IC (ICP) mà họ cổ phần trong NNS. Cơ chế quản trị dựa trên PoS này cho phép bạn tạo các mạng con mới và thêm hoặc xóa bản sao của các nút khỏi các mạng hiện có, cũng như triển khai các bản cập nhật phần mềm và thực hiện các điều chỉnh khác cho IC.
Từ quan điểm này, chúng ta cũng có thể hiểu tại sao DFINITY gọi IC là một mạng lưới các máy trạng thái được sao chép, bởi vì bản thân NNS là một máy trạng thái được sao chép. Giống như các máy trạng thái khác, chúng chạy trên một mạng con cụ thể và tư cách thành viên của chúng được xác định bởi cùng một hệ thống quản trị dựa trên PoS được đề cập ở trên. Đồng thời, một cơ sở dữ liệu được gọi là sổ đăng ký được duy trì, ghi lại bản sao nút nào thuộc về mạng con nào, khóa công khai của bản sao nút, v.v. Do đó, mạng điều khiển DAO đóng vai trò như một giao thức đồng thuận phi tập trung, cho phép IC có được sự đồng thuận hiệu quả, nhưng đồng thời, do cơ chế hoạt động của DAO, IC cũng giữ lại những ưu điểm hiện có của phân cấp.
Giao thức đồng thuận của IC cũng sử dụng mật mã khóa công khai, chẳng hạn như sổ đăng ký được duy trì bởi NNS để liên kết khóa công khai với bản sao nút và mạng con để tạo thành một tổng thể, được gọi là mật mã khóa chuỗi và IC cũng hình dung mô hình truyền thông cho giao thức đồng thuận và giao thức thực thi máy trạng thái sao chép: nó hy vọng sẽ áp dụng một mô hình không đồng bộ khả thi và mạnh mẽ hơn (đối với bất kỳ thông điệp nào được gửi, kẻ thù có thể trì hoãn việc gửi bất kỳ thông điệp nào trong một thời gian tùy ý, do đó không có giới hạn thời gian cho việc gửi tin nhắn) để đối phó với các thất bại của Byzantine. Tuy nhiên, hiện tại, không có mô hình đồng thuận nào thực sự khả thi theo mô hình không đồng bộ và trong cách giải thích sau đây về kiến trúc vi mạch, bài viết này sẽ giải thích chi tiết hơn về cách tiếp cận kỹ thuật đối với IC cho tình huống thực tế này.
**2.2 Mật mã khóa chuỗi **
Như đã đề cập ở trên, giao thức đồng thuận của IC cũng sử dụng mật mã khóa công khai - mật mã khóa chuỗi và có một số phần chính tạo nên mật mã khóa chuỗi. Thành phần đầu tiên của mật mã khóa chuỗi là chữ ký ngưỡng: chữ ký ngưỡng là một kỹ thuật mật mã trưởng thành cho phép mạng con có khóa ký xác minh chung và khóa riêng ký tương ứng được chia thành nhiều bản sao và phân phối cho các nút trong mạng con, trong khi phân bổ đảm bảo rằng nút xấu không thể giả mạo bất kỳ chữ ký nào và đoạn khóa riêng thuộc sở hữu của nút trung thực cho phép mạng con tạo chữ ký phù hợp với các nguyên tắc và giao thức IC.
Một ứng dụng chính của các chữ ký ngưỡng này là đầu ra riêng lẻ của một mạng con có thể được xác minh bởi một mạng con khác hoặc bởi người dùng bên ngoài và việc xác minh có thể được thực hiện đơn giản bằng cách xác minh việc triển khai chữ ký điện tử bằng khóa ký xác minh công khai của mạng con đã sửa đổi (mạng con đầu tiên).
Như chúng ta có thể thấy, có rất nhiều ứng dụng khác của các chữ ký ngưỡng này trong IC. Một nên được sử dụng để làm cho mỗi bản sao của một nút trong một mạng con có thể truy cập được vào các chữ số giả ngẫu nhiên không thể đoán trước (bắt nguồn từ các chữ ký ngưỡng như vậy). Đây là cơ sở cho các đèn hiệu ngẫu nhiên được sử dụng bởi lớp đồng thuận và các băng ngẫu nhiên được sử dụng bởi lớp thực thi.
Để triển khai chữ ký ngưỡng một cách an toàn, IC sử dụng giao thức Tạo khóa phân tán (DKG) sáng tạo để xây dựng khóa xác minh chữ ký công khai và cung cấp cho mỗi bản sao nút một đoạn khóa riêng ký tương ứng cho lỗi Byzantine đã đề cập trước đó và các mô hình không đồng bộ.
2.3 ICP
ICP có các tính năng sau:
NNS staking, tức là tạo điều kiện thuận lợi cho quản trị mạng.
ICP có thể được sử dụng để cổ phần trong NNS để giành quyền biểu quyết và do đó tham gia vào DAO kiểm soát mạng IC. Người dùng đặt cược mã thông báo trong NNS và tham gia quản trị NNS cũng nhận được mã thông báo ICP mới được đúc làm phần thưởng biểu quyết. Số lượng phần thưởng được xác định bởi các chính sách được thiết lập và thực thi bởi NNS.
Redeem Cycles, tức là như một sức mạnh sản xuất.
ICP được sử dụng để thanh toán cho việc sử dụng IC. Cụ thể hơn, ICP có thể được đổi thành các chu kỳ (tức là bị đốt cháy), có thể được sử dụng để thanh toán cho các tài nguyên (lưu trữ, CPU và băng thông) được sử dụng để tạo xe tăng và xe tăng. Tỷ lệ ICP trên chu kỳ được xác định bởi NNS.
Các nhà cung cấp nút được trả tiền, tức là được trao làm phần thưởng cho người tham gia.
ICP được sử dụng để thanh toán cho các nhà cung cấp nút - các thực thể sở hữu và vận hành các nút tính toán để lưu trữ các bản sao của các nút tạo nên IC. NNS thường xuyên (hiện tại là hàng tháng) xác định ICP mới được đúc mà mỗi nhà cung cấp nút sẽ nhận được và phát hành nó vào tài khoản của họ. Theo các chính sách được thiết lập và thực thi bởi NNS, việc thanh toán ICP dựa trên nhà cung cấp nút cung cấp dịch vụ đáng tin cậy cho IC.
2.4 Thực thi NNS
Như đã đề cập trước đó, máy trạng thái sao chép của IC có thể thực thi các chương trình tùy ý. Đơn vị tính toán cơ bản trong IC được gọi là xe tăng, và nó có khái niệm tương tự như một quá trình, chứa chương trình và trạng thái của nó (thay đổi theo thời gian). Chương trình của bể được mã hóa trong WebAssembly (sau đây gọi là Wasm), là một định dạng lệnh hai cơ chế dựa trên một máy ảo xếp chồng lên nhau. Wasm là một tiêu chuẩn mã nguồn mở và mặc dù ban đầu nó được thiết kế để cho phép các ứng dụng hiệu suất cao trên web, nhưng nó cũng rất phù hợp cho điện toán đa năng.
IC cung cấp một môi trường thời gian chạy để thực hiện các chương trình Wasm trong bể và giao tiếp (thông qua tin nhắn) với các bể khác và người dùng bên ngoài. Mặc dù về nguyên tắc có thể viết một chương trình xe tăng bằng bất kỳ ngôn ngữ nào biên dịch sang Wasm, ngôn ngữ nói trên được gọi là Motoko rất phù hợp với ngữ nghĩa của các hoạt động IC và có thể được sử dụng trong IC.
Motoko là một chương trình lập trình dựa trên diễn viên 2 mạnh mẽ với sự hỗ trợ tích hợp cho sự bền bỉ trực giao 3 và nhắn tin không đồng bộ. Độ bền cầu phương có nghĩa là bộ nhớ được duy trì bởi bể được tự động duy trì (nghĩa là nó không phải được ghi vào tệp). Motoko có một số tính năng năng suất và bảo mật, bao gồm quản lý bộ nhớ tự động, generics, suy luận kiểu, khớp mẫu và số học tùy ý và độ chính xác cố định.
Ngoài Motoko, IC cung cấp ngôn ngữ định nghĩa giao diện tin nhắn và định dạng dữ liệu được gọi là Candid, được sử dụng cho loại cố định, ngôn ngữ cấp cao và khả năng tương tác đa ngôn ngữ. Điều này giúp hai xe tăng bất kỳ, ngay cả khi được viết bằng các ngôn ngữ cấp cao khác nhau, dễ dàng giao tiếp với nhau. Để cung cấp hỗ trợ đầy đủ cho việc phát triển xe tăng cho bất kỳ ngôn ngữ lập trình nào, hỗ trợ thời gian chạy cụ thể phải được cung cấp cùng với trình biên dịch Wasm cho ngôn ngữ đó. Hiện tại, ngoài Motoko, IC còn hỗ trợ đầy đủ việc phát triển xe tăng bằng ngôn ngữ lập trình Rust.
Do đó, IC hỗ trợ các ngôn ngữ lập trình đa ngôn ngữ và an toàn hơn, đây là một trong những yếu tố quan trọng giúp các nhà phát triển hiệu quả và an toàn hơn trong việc tạo IC.
**2.5 Quyết định NNS **
Trong mạng blockchain DFINITY, BNS (Blockchain Nervous System) là hệ thống quản trị mà mạng hoạt động và nó là một trong những khối xây dựng quan trọng nhất trong mạng blockchain, có thể tự động xâm nhập vào hệ thống và có thẩm quyền cao. Nó đảm nhận vai trò của một supernode. Bất cứ ai cũng tham gia quản trị NNS bằng cách đặt ICP vào cái gọi là tế bào thần kinh. Chủ sở hữu tế bào thần kinh có thể đề xuất và bỏ phiếu về cách IC nên được thay đổi, chẳng hạn như cấu trúc liên kết của mạng con hoặc giao thức. Quyền biểu quyết của tế bào thần kinh dựa trên PoS. Theo trực giác, ICP càng được đặt cọc, quyền biểu quyết của tế bào thần kinh càng lớn. Tuy nhiên, quyền biểu quyết cũng phụ thuộc vào các đặc điểm khác của tế bào thần kinh, chẳng hạn như những người nắm giữ tế bào thần kinh sẵn sàng đặt cọc mã thông báo của họ trong một khoảng thời gian dài hơn, được trao quyền biểu quyết lớn hơn.
Mỗi đề xuất có một thời gian biểu quyết xác định. Nếu, vào cuối thời gian bỏ phiếu, đa số đơn giản những người bỏ phiếu ủng hộ đề xuất và số phiếu ủng hộ vượt quá yêu cầu số đại biểu nhất định đối với tổng số quyền biểu quyết (bây giờ là 3%), đề xuất được thông qua. Nếu không, đề xuất đã bị từ chối. Ngoài ra, bất cứ lúc nào một siêu đa số (hơn một nửa tổng số phiếu bầu) ủng hộ hoặc chống lại đề xuất, đề xuất được chấp nhận hoặc từ chối tương ứng.
Theo thuật ngữ giáo dân hơn, quá trình quản trị BNS được chia thành bốn giai đoạn: tạo tế bào thần kinh, đề xuất, bỏ phiếu và thực hiện.
Tạo tế bào thần kinh: Như đã đề cập ở trên, hệ thống thần kinh blockchain cho phép người dùng sử dụng ICP để tạo tế bào thần kinh bỏ phiếu. Bất cứ ai cũng có thể tạo ra một tế bào thần kinh, và trong tương lai hàng chục ngàn tế bào thần kinh có thể được tạo ra, điều này sẽ thể hiện chung ý chí của cộng đồng, qua trung gian thông qua các thuật toán.
Đề xuất: Bất kỳ người dùng nào đang chạy tế bào thần kinh đều có thể đưa ra đề xuất về BNS và BNS sẽ xem xét đề xuất dựa trên tính hợp lý của đề xuất và liệu nó có đưa ra giải pháp hay không. Người dùng đưa ra đề xuất cần phải trả hai khoản phí: một là trả cho những người đánh giá chuyên nghiệp và các tế bào thần kinh đã tham gia bỏ phiếu, và khoản còn lại là tiền gửi đề xuất, sẽ được trả lại cho tế bào thần kinh sau khi đề xuất được thông qua và số tiền này có thể được đặt để khuyến khích các đề xuất chất lượng cao.
Bình chọn: Ngoài người đề xuất, những người dùng khác cũng cần đặt cược mã thông báo vào tế bào thần kinh trong giai đoạn bỏ phiếu và có thể chọn chủ động bỏ phiếu hoặc theo dõi phiếu bầu. Người dùng có khả năng phán đoán độc lập có thể chọn chủ động bỏ phiếu, và kịch bản sau khi bỏ phiếu phù hợp với một số người dùng không thể đánh giá chính xác các đề xuất. Sau khi thời gian bỏ phiếu kết thúc, BNS thu thập kết quả của mạng nơ-ron và tự động xác định xem đề xuất có được chấp thuận hay không.
Thực hiện: Vừa rồi có cách giải thích về sự đồng thuận IC của lớp thực thi, việc triển khai cụ thể hệ thống quản trị BNS là gì? ĐỀ XUẤT THỰC HIỆN THỤ ĐỘNG CHỦ YẾU LIÊN QUAN ĐẾN CÁC THAY ĐỔI THAM SỐ ĐỐI VỚI CÁC HỢP ĐỒNG THÔNG MINH TRÊN DFINITY, CHẲNG HẠN NHƯ CÁC THAM SỐ ĐẶT CỌC CỦA TẾ BÀO THẦN KINH. Các tham số đề xuất cập nhật sẽ được ghi thụ động vào cơ sở dữ liệu hợp đồng thông minh BNS và sẽ có hiệu lực trực tiếp khi chúng được thực hiện sau đó. Có một trường hợp đặc biệt khi đề xuất nằm ngoài tầm kiểm soát của hợp đồng thông minh BNS, ví dụ liên quan đến cấp quy định BNS, sẽ yêu cầu thực thi tích cực của con người để ghi đè lên phần “mã là luật” của DFINITY. Ví dụ: sửa đổi các lỗ hổng trong mã hệ thống hoặc đóng băng các hợp đồng thông minh hoặc tế bào thần kinh vi phạm các quy định của BNS. Quá trình thực thi tích cực được thực hiện bằng cách gọi các opcode đặc biệt được thêm vào EVM. Hoạt động của bước này mang tính nhân văn và hợp lý hơn, thay vì “mã là luật” và “mã là tất cả” hiện tại trong thế giới blockchain hiện tại. Từ quan điểm của bản chất con người, bao gồm các kịch bản mà mã không thể đưa ra quyết định có thể mang lại quản trị hiệu quả và thông minh hơn, và ở một mức độ nào đó, nó cũng thực sự chạm vào mục đích cơ bản của “sự đồng thuận”.
3
Giải thích kiến trúc
Giao thức IC bao gồm bốn lớp (như thể hiện trong hình bên dưới), cụ thể là lớp P2P, lớp đồng thuận, lớp định tuyến và lớp thực thi. Trong phần này, bài viết này chỉ diễn giải vai trò và chức năng của kiến trúc bốn lớp, và phân tích việc xây dựng kiến trúc tổng thể. ĐỂ HIỂU CHI TIẾT HƠN VỀ VIỆC TRIỂN KHAI KỸ THUẬT CỤ THỂ CỦA MỘT LỚP CỤ THỂ, VUI LÒNG THAM KHẢO SÁCH TRẮNG GỐC CỦA DFINITY.
3.1 Lớp P2P
Lớp P2P đóng vai trò là lớp trong lớp giao thức máy tính Internet để tìm nạp và đặt hàng tin nhắn, và nhiệm vụ của nó là cung cấp các thông điệp giao thức trong một bản sao của các nút của mạng con.
Có hai loại thông điệp giao thức: thông điệp được sử dụng để đạt được sự đồng thuận và thông điệp đầu vào do người dùng bên ngoài khởi xướng.
Chúng ta có thể hiểu rằng lớp P2P về cơ bản cung cấp một kênh phát sóng “nỗ lực tốt nhất”, tức là nếu một bản sao nút trung thực phát một thông điệp, thông điệp cuối cùng sẽ được nhận bởi tất cả các nút thành phố trong mạng con.
Lớp P2P được thiết kế với các mục tiêu sau:
Nguồn lực hạn chế. Tất cả các thuật toán chạy với tài nguyên hạn chế (bộ nhớ, băng thông, CPU).
Ưu tiên. Tùy thuộc vào các thuộc tính cụ thể, chẳng hạn như loại, kích thước và lượt, các thư khác nhau sẽ được sắp xếp với các mức độ ưu tiên khác nhau. Và các quy tắc cho những ưu tiên này có thể thay đổi theo thời gian.
Hiệu quả cao. Thông lượng cao quan trọng hơn độ trễ thấp. THÔNG LƯỢNG CAO CŨNG LÀ LÝ DO TẠI SAO DFINITY HIỆU QUẢ HƠN TỪ DƯỚI LÊN SO VỚI CÁC CHUỖI CÔNG KHAI KHÁC.
Chống DOS / SPAM. Các nút bị lỗi sẽ không ảnh hưởng đến giao tiếp giữa các bản sao nút trung thực.
3.2 Lớp đồng thuận
3.2.1 Tổng quan về lớp đồng thuận
Nhiệm vụ của lớp đồng thuận IC là sắp xếp các thông điệp đầu vào để đảm bảo rằng tất cả các bản sao của các nút xử lý các thông điệp đầu vào theo cùng một thứ tự. Có nhiều giao thức trong tài liệu giải quyết vấn đề này. IC áp dụng một giao thức đồng thuận mới, sẽ được mô tả bằng ngôn ngữ chung trong bài viết này. Bất kỳ giao thức đồng thuận an toàn nào cũng phải đảm bảo hai thuộc tính, đại khái là:
Bảo mật: Tất cả các bản sao của các nút trên thực tế đồng ý với cùng một thứ tự đầu vào.
Hoạt động: Tất cả các bản sao nút sẽ cập nhật từng trạng thái một.
Mục tiêu thiết kế của lớp đồng thuận IC thực sự dễ hiểu: khi có các nút độc hại riêng lẻ, hiệu suất sẽ bị suy giảm linh hoạt. Giống như nhiều giao thức đồng thuận, giao thức đồng thuận IC dựa trên blockchain. Khi giao thức tiến triển, cây khối với khối genesis là nút gốc sẽ tiếp tục phát triển. Mỗi khối không phải genesis chứa một payload, bao gồm một loạt các đầu vào và hàm băm của khối cha.
Các bản sao trung thực có một cái nhìn nhất quán về cây khối: Mặc dù mỗi bản sao có thể có một chế độ xem cục bộ khác nhau về cây khối, tất cả các bản sao của nút đều nhìn thấy cùng một cây chunk. Ngoài ra, khi giao thức tiến triển, sẽ luôn có một đường dẫn trong cây khối để hoàn thiện khối. Một lần nữa, các bản sao nút trung thực có chế độ xem nhất quán về đường dẫn này: mặc dù mỗi bản sao nút có thể có chế độ xem cục bộ khác nhau về đường dẫn, tất cả các bản sao nút đều thấy cùng một đường dẫn. Các đầu vào trong tải của các khối dọc theo đường dẫn này là các đầu vào được sắp xếp sẽ được xử lý bởi lớp thực thi của IC.
Giao thức đồng thuận dựa trên chữ ký điện tử để xác minh thông điệp trong một bản sao của nút. Để đạt được điều này, mỗi bản sao của nút được liên kết với một khóa xác thực công khai cho giao thức ký. Mối tương quan giữa bản sao nút và khóa công khai có thể được lấy từ sổ đăng ký được duy trì bởi NNS. Điều này cũng phù hợp với vai trò và vai trò của mật mã khóa chuỗi trong các IC được đề cập ở trên.
3.2.2 Giả định
Như đã thảo luận trong Phần II, IC đề xuất giả thuyết sau:
Một mạng con chứa n bản sao của các nút và tối đa là f
Bản sao nút không thành công có thể thể hiện hành vi tùy ý, độc hại (tức là lỗi Byzantine). Chúng tôi giả định rằng giao tiếp không đồng bộ và không có giới hạn trước về độ trễ tin nhắn giữa các bản sao nút, tức là mô hình không đồng bộ được đề cập ở trên. Tại thời điểm này, lịch trình của tin nhắn có thể hoàn toàn thù địch. Theo giả định giao tiếp yếu này, giao thức đồng thuận IC có thể đảm bảo an ninh. Nhưng để đảm bảo hoạt động, chúng ta cần giả định một hình thức đồng bộ hóa từng phần nhất định, có nghĩa là mạng vẫn được đồng bộ hóa định kỳ trong khoảng thời gian ngắn. Trong khoảng thời gian đồng bộ hóa này, tất cả thông tin chưa gửi sẽ được gửi trong thời gian, tức là giới hạn thời gian cố định δ. Thời hạn δ không được biết trước (giao thức khởi tạo một giá trị biên hợp lý nhưng tự động điều chỉnh giá trị và tăng giá trị giới hạn khi giới hạn thời gian quá nhỏ). Bất kể mạng không đồng bộ hay đồng bộ một phần, chúng tôi giả định rằng các thông điệp được gửi bởi một bản sao nút trung thực đến một bản sao nút khác cuối cùng sẽ được gửi.
3.2.3 Tổng quan về giao thức
Giống như nhiều giao thức đồng thuận, giao thức đồng thuận IC dựa trên blockchain. Khi giao thức tiến triển, các cây khối (xem 3.2.4 ví dụ) với khối genesis vì nút gốc sẽ tiếp tục phát triển. Mỗi khối không phải genesis chứa một payload, bao gồm một loạt các đầu vào và hàm băm của khối cha. Các bản sao trung thực có một cái nhìn nhất quán về cây khối: Mặc dù mỗi bản sao có thể có một chế độ xem cục bộ khác nhau về cây khối, tất cả các bản sao của nút đều nhìn thấy cùng một cây chunk. Ngoài ra, khi giao thức tiến triển, sẽ luôn có một đường dẫn trong cây khối để hoàn thiện khối. Tương tự, các bản sao nút trung thực có chế độ xem nhất quán về đường dẫn này và mặc dù mỗi bản sao nút có thể có chế độ xem cục bộ khác nhau về đường dẫn, tất cả các bản sao nút đều thấy cùng một đường dẫn. Các đầu vào trong tải của các khối dọc theo đường dẫn này đã được sắp xếp và xử lý bởi lớp thực thi, được diễn giải trong phần trước.
3.2.4 Ví dụ thực tế
Hình ảnh dưới đây cho thấy một cây khối. Mỗi khối được đánh dấu bằng chiều cao khối (30, 31, 32, ···· ) và xếp hạng các trình tạo khối, cho thấy mỗi khối trong cây khối được công chứng và đánh dấu bằng ký hiệu N. Điều này có nghĩa là các khối được công chứng trong mỗi cây khối được hỗ trợ bằng cách công chứng ít nhất các bản sao n-f của các nút khác nhau. Có thể thấy rằng có thể có nhiều hơn một khối công chứng ở chiều cao khối được chỉ định. Ví dụ, ở độ cao khối 32, chúng ta có thể thấy 2 khối được công chứng, một khối được đề xuất bởi trình tạo khối ở hạng 1 và khối còn lại được đề xuất bởi hạng 2, và điều tương tự cũng xảy ra ở độ cao khối 34. Chúng ta cũng có thể thấy rằng các khối có chiều cao 36 cũng được xác nhận rõ ràng, như được xác định bởi ký hiệu F. Điều này có nghĩa là các bản sao n-f của các nút khác nhau đã hỗ trợ xác nhận cuối cùng của khối, có nghĩa là các bản sao nút này (hoặc ít nhất là các bản sao nút trung thực của các bản sao này) không hỗ trợ công chứng của bất kỳ khối nào khác. Tất cả các tổ tiên có khối chứa đầy màu xám được coi là đã nhận được xác nhận cuối cùng ngầm.
**3.2.5 Vô tư **
Công bằng là nền tảng của sự đồng thuận, vì vậy một thuộc tính quan trọng khác trong các giao thức đồng thuận là sự công bằng. Thay vì thiết lập một định nghĩa phổ quát, chúng ta chỉ đơn giản quan sát thấy rằng sự bất biến của cuộc sống ngụ ý một tài sản công bằng hữu ích. Tóm lại, bất biến về cơ bản có nghĩa là trong bất kỳ vòng nào, khi masternode trung thực và mạng được đồng bộ hóa, khối được đề xuất bởi masternode cũng sẽ được hoàn thiện. Trong lần lượt điều này xảy ra, nút chính trung thực thực sự đảm bảo rằng nó chứa tất cả các đầu vào mà nó biết trong tải của khối (tùy thuộc vào giới hạn mô-đun của kích thước tải). Vì vậy, nói một cách đơn giản, bất kỳ đầu vào nào được truyền đến đủ số lượng bản sao nút rất có thể sẽ được đưa vào khối được xác nhận cuối cùng trong một khoảng thời gian hợp lý.
**3.3 Lớp định tuyến **
Như đã đề cập trước đó, đơn vị tính toán cơ bản trong IC được gọi là xe tăng. IC cung cấp môi trường hoạt động trong đó các chương trình có thể được thực thi trong bể và có thể giao tiếp (thông qua tin nhắn) với các bể khác và người dùng bên ngoài. Lớp đồng thuận đóng gói đầu vào vào tải của khối và khi khối được xác nhận bởi reddest, tải tương ứng được chuyển đến lớp định tuyến tin nhắn và được xử lý bởi môi trường thực thi. Lớp thực thi sau đó cập nhật trạng thái trong bể tương ứng trong máy trạng thái sao chép và chuyển đầu ra sang lớp định tuyến tin nhắn để xử lý.
Cần phân biệt giữa hai loại đầu vào:
Thông báo ngõ vào: Thư từ người dùng bên ngoài.
Tin nhắn mạng con chéo: Tin nhắn từ các bể chứa trong các mạng con khác.
Chúng ta cũng có thể phân biệt giữa hai loại đầu ra:
Phản hồi tin nhắn ngõ vào: Phản hồi cho thông báo xâm nhập (người dùng bên ngoài có thể truy xuất).
Tin nhắn mạng con chéo: Tin nhắn được truyền đến các bể mạng con khác.
Khi nhận được tải từ sự đồng thuận, các đầu vào trong các tải đó được đặt vào các hàng đợi đầu vào khác nhau. Đối với mỗi bể C trong một mạng con, có nhiều hàng đợi đầu vào: một thông báo nhập vào C, một bể riêng biệt C 'để giao tiếp với C và một thông điệp mạng con chéo từ C đến C '.
Trong mỗi vòng, lớp thực thi tiêu thụ một số đầu vào từ các hàng đợi này, cập nhật trạng thái sao chép trong bể tương ứng và đặt các đầu ra trong một hàng đợi khác. Đối với mỗi bể chứa trong một mạng con, có nhiều hàng đợi đầu ra: đối với mỗi bể giao tiếp, có một hàng đợi cho các tin nhắn mạng con chéo từ C đến C '. Lớp định tuyến của tin nhắn lấy các tin nhắn trong hàng đợi tin nhắn và đặt chúng vào lưu lượng mạng con đến mạng con để được xử lý bởi giao thức truyền tải mạng con chéo, thực sự truyền tin nhắn đến các mạng con khác.
Ngoài các hàng đợi đầu ra này, còn có một cấu trúc dữ liệu lịch sử cho các thông điệp xâm nhập. Khi một thông điệp xâm nhập đã được xử lý bởi tank, phản hồi cho thông điệp xâm nhập đó được ghi lại trong cấu trúc dữ liệu đó. Tại thời điểm này, người dùng bên ngoài đã cung cấp thông báo xâm nhập sẽ có thể nhận được phản hồi có liên quan. (Lưu ý: Lịch sử xâm nhập không lưu giữ lịch sử đầy đủ của tất cả các thông điệp xâm nhập).
Có hai điểm cần được làm rõ, thứ nhất, trạng thái của bản sao nút bao gồm trạng thái của bể cũng như “trạng thái hệ thống”. “Trạng thái hệ thống” bao gồm hàng đợi, luồng dữ liệu và cấu trúc dữ liệu của lịch sử xâm nhập được đề cập ở trên. Kết quả là, cả lớp định tuyến tin nhắn và lớp thực thi đều tham gia vào việc cập nhật và duy trì trạng thái sao chép của mạng con. Tất cả trạng thái này phải được cập nhật với chủ nghĩa xác định hoàn chỉnh, để tất cả các nút duy trì cùng một trạng thái chính xác.
Điểm thứ hai cần lưu ý là lớp đồng thuận đứng trước lớp định tuyến thông điệp và lớp thực thi, có nghĩa là bất kỳ nhánh nào trong blockchain đồng thuận đã được giải quyết trước khi tải được thông qua. Trên thực tế, lớp đồng thuận cho phép hoạt động sớm và không cần phải nằm trong cùng lịch trình với lớp định tuyến tin nhắn.
Giải thích và giải thích về lớp định tuyến cho chúng ta hiểu rõ hơn về cách giao thức đồng thuận được truyền đến và đi từ giao thức đồng thuận thông qua định tuyến thông điệp và cách nó được kết nối với lớp thực thi, để thúc đẩy sự phối hợp và nhất quán của giao thức đồng thuận.
3.4 Lớp thực thi
Môi trường thực thi xử lý một đầu vào tại một thời điểm, được lấy từ một trong các hàng đợi đầu vào và hướng đến một bể chứa, tùy thuộc vào trạng thái của đầu vào và bể chứa, môi trường thực thi cập nhật trạng thái của bể và có thể thêm thông báo vào hàng đợi đầu ra. và cập nhật lịch sử xâm nhập (có thể cùng với phản hồi cho thông báo xâm nhập trước đó). Trong một lượt nhất định, môi trường thực thi sẽ xử lý nhiều đầu vào. Bộ lập lịch xác định đầu vào nào sẽ được thực hiện theo thứ tự cho một lượt nhất định. Thay vì đi vào quá nhiều chi tiết về lịch trình, chúng tôi sẽ nêu bật một số mục tiêu:
Nó phải là xác định, tức là chỉ phụ thuộc vào dữ liệu đã cho;
Nó nên phân phối khối lượng công việc một cách công bằng trên các bể chứa (nhưng tối ưu hóa cho thông lượng hơn là độ trễ).
Số lượng công việc hoàn thành trong mỗi vòng được đo bằng chu kỳ và phải gần với một số lượng được xác định trước.
Một nhiệm vụ khác mà môi trường thực thi phải giải quyết là tình huống một trong các bể chứa của một mạng con tạo ra tin nhắn trên các mạng con nhanh hơn các mạng con khác có thể tiêu thụ. Để đối phó với tình hình này, chúng tôi đã thực hiện một cơ chế tự điều chỉnh để làm chậm bể sản xuất. Có nhiều nhiệm vụ quản lý tài nguyên và sổ sách kế toán khác cần được xử lý bởi môi trường thời gian chạy, nhưng tất cả các tác vụ này phải được xử lý một cách xác định.
4
Mật mã khóa chuỗi
Trong phần tóm tắt, chúng tôi giải thích rằng giao thức đồng thuận của IC cũng sử dụng kỹ thuật mật mã khóa công khai - mật mã khóa chuỗi và một phần quan trọng của mật mã khóa chuỗi là chữ ký ngưỡng. Trên thực tế, mật mã khóa chuỗi bao gồm một tập hợp các kỹ thuật phức tạp được sử dụng để duy trì mạnh mẽ và an toàn các máy trạng thái sao chép dựa trên blockchain theo thời gian, được gọi chung là kỹ thuật tiến hóa chuỗi. Mỗi mạng con hoạt động trong các kỷ nguyên chứa nhiều vòng (thường là khoảng vài trăm). Công nghệ phát triển chuỗi cho phép nhiều nhiệm vụ bảo trì cơ bản được thực hiện trên cơ sở mỗi kỷ nguyên: thu gom rác, chuyển tiếp nhanh, thay đổi thành viên mạng con, chuyển tiếp bí mật hoạt động và nâng cấp giao thức.
Sự hiểu biết về công nghệ phát triển chuỗi, nghĩa là sự hiểu biết về việc triển khai kỹ thuật bảo mật giao thức đồng thuận IC. Công nghệ tiến hóa chuỗi bao gồm hai thành phần cơ bản: khối tóm tắt và gói bắt kịp (CUP).
**4.1 Khối tóm tắt **
Khối đầu tiên của mỗi kỷ nguyên là khối tiêu hóa. Khối tóm tắt chứa dữ liệu đặc biệt được sử dụng để quản lý các đoạn chính cho các lược đồ chữ ký ngưỡng khác nhau. Có hai sơ đồ chữ ký ngưỡng:
Trong kịch bản có cấu trúc ngưỡng f + 1 / n, khóa ký mới được tạo cho mỗi kỷ nguyên;
Trong kịch bản có cấu trúc ngưỡng n-f/n, khóa ký được chia sẻ lại một lần mỗi kỷ nguyên.
Các kịch bản có ngưỡng thấp được sử dụng cho đèn hiệu ngẫu nhiên và băng ngẫu nhiên, trong khi các kịch bản có ngưỡng cao được sử dụng để xác minh trạng thái sao chép của mạng con. Hãy nhớ lại rằng giao thức DKG yêu cầu rằng đối với mỗi khóa ký, có một tập hợp các giao dịch và mỗi bản sao nút có thể lấy đoạn khóa chữ ký của nó không tương tác dựa trên tập hợp các giao dịch này. Nhớ lại một lần nữa, trong số những thứ khác, NNS duy trì một sổ đăng ký xác định các thành viên mạng con. Sổ đăng ký (và các thành viên mạng con) thay đổi theo thời gian. Do đó, các mạng con phải đồng ý về phiên bản đăng ký sẽ được sử dụng tại các thời điểm khác nhau và cho các mục đích khác nhau. Thông tin này cũng được lưu trữ trong khối tóm tắt.
4.2 CỐC
Với bản tóm tắt, chúng ta hãy xem xét các gói bắt kịp, hoặc CUP. Trước khi chúng tôi giải thích chi tiết về CUP, trước tiên chúng tôi cần chỉ ra một chi tiết về đèn hiệu ngẫu nhiên: các đèn hiệu ngẫu nhiên của mỗi vòng phụ thuộc vào các đèn hiệu ngẫu nhiên của vòng trước. Nó không phải là một tính năng cơ bản của CUP, nhưng nó ảnh hưởng đến thiết kế của CUP. CUP là một thông điệp đặc biệt (không có trên blockchain) có mọi thứ mà một nút cần để hoạt động tại điểm bắt đầu của một kỷ nguyên mà không biết bất kỳ thông tin nào về kỷ nguyên trước đó. Nó chứa các trường dữ liệu sau:
Gốc của cây băm Merkel cho toàn bộ trạng thái được sao chép (trái ngược với trạng thái một phần của mỗi vòng xác nhận trong Chương 1.6).
giai đoạn.
Đèn hiệu ngẫu nhiên cho vòng đầu tiên của kỷ nguyên.
Chữ ký ngưỡng của mạng con cho (n - f)/n cho các trường trên.
Để tạo CUP cho một kỷ nguyên nhất định, bản sao nút phải đợi cho đến khi khối tiêu hóa của kỷ nguyên đã được hoàn thành và trạng thái tròn tương ứng đã được xác minh. Như đã đề cập trước đó, toàn bộ trạng thái sao chép phải được xử lý thành cây Merkle bằng hàm băm. Mặc dù có nhiều kỹ thuật được sử dụng để tăng tốc quá trình này, nhưng chi phí vẫn còn đáng kể, đó là lý do tại sao mỗi kỷ nguyên chỉ được xử lý một lần. Vì CUP chỉ chứa gốc của cây Merkle này, chúng tôi sử dụng giao thức con đồng bộ hóa trạng thái cho phép bản sao nút trích xuất bất kỳ trạng thái nào nó cần từ peer. Một lần nữa, chúng tôi đã sử dụng rất nhiều công nghệ để tăng tốc quá trình này và nó vẫn tốn kém. Bởi vì chúng tôi sử dụng chữ ký ngưỡng cao cho CUP, chúng tôi có thể đảm bảo rằng chỉ có một CUP hợp lệ trên bất kỳ kỷ nguyên nào và trạng thái đó có thể được trích xuất từ nhiều đồng nghiệp.
**4.3 Triển khai công nghệ tiến hóa chuỗi **
Thu gom rác: Vì CUP chứa thông tin về một kỷ nguyên cụ thể, mỗi bản sao của nút có thể xóa tất cả các đầu vào được xử lý một cách an toàn trước kỷ nguyên đó, cũng như các thông điệp lớp đồng thuận đã sắp xếp các đầu vào đó.
Chuyển tiếp nhanh: Nếu một bản sao của một nút trong mạng con chậm hơn đáng kể so với nút đồng bộ của nó (vì nó bị hỏng hoặc ngắt kết nối trong một thời gian dài) hoặc nếu một bản sao mới của nút được thêm vào mạng con, chúng có thể nhanh chóng chuyển tiếp đến điểm bắt đầu của kỷ nguyên mới nhất mà không cần phải chạy giao thức đồng thuận và xử lý tất cả đầu vào trước thời điểm đó. Bản sao của nút này có thể được thực hiện bằng cách lấy CUP mới nhất. Với các khối tiêu hóa và đèn hiệu ngẫu nhiên chứa từ CUP, cũng như các thông điệp đồng thuận (chưa bị xóa) từ các bản sao nút khác, bản sao nút có thể chạy giao thức đồng thuận về phía trước từ điểm bắt đầu của kỷ nguyên tương ứng. Nút cũng có thể sử dụng giao thức con đồng bộ hóa trạng thái để lấy trạng thái sao chép ở đầu kỷ nguyên tương ứng, do đó nó cũng có thể bắt đầu xử lý các đầu vào được tạo bởi lớp đồng thuận.
Sơ đồ sau đây mô tả chuyển tiếp nhanh. Ở đây, giả sử rằng chúng ta cần một bản sao nút cần bắt kịp tại điểm bắt đầu kỷ nguyên, (giả sử) với chiều cao khối là 101 và CUP. CUP này chứa gốc của cây Merkle được sao chép với chiều cao khối là 101, khối tóm tắt có chiều cao khối là 101 và đèn hiệu ngẫu nhiên có chiều cao khối là 101. Nút sử dụng giao thức con đồng bộ hóa trạng thái để lấy tất cả trạng thái sao chép chiều cao khối 101 từ các đồng nghiệp của nó và xác minh trạng thái này với cây Merkle trong CUP. Sau khi có được trạng thái này, bản sao nút có thể tham gia vào giao thức, lấy các khối có chiều cao khối là 102, 103, v.v. (và các thông điệp liên quan đến sự đồng thuận khác) từ đồng đẳng và cập nhật bản sao trạng thái sao chép của nó. Nếu các đồng nghiệp của nó đã xác nhận các khối ở cấp cao hơn, bản sao của nút sẽ xử lý (cũng như công chứng và hoàn thiện) các khối đã hoàn thiện thu được từ các đồng nghiệp càng sớm càng tốt (nhanh như lớp thực thi cho phép).
5
Lời bạt
Giống như Ethereum, tầm nhìn của DFINITY là xây dựng “siêu máy tính của thế giới”, thông qua việc giải thích một phần nói trên và giải thích kỹ thuật về sách trắng của nó. IC theo tầm nhìn này có một cơ hội tuyệt vời để được thực hiện.
Chúng ta có thể thấy sự đổi mới công nghệ và tính khả thi kỹ thuật của IC để hiện thực hóa tầm nhìn của nó từ mô hình lai DAO của giao thức đồng thuận, từ sự đổi mới công nghệ của việc tạo khối nhanh và thông lượng cao, và từ hệ thống tế bào thần kinh BNS và sơ đồ quản trị sinh thái của nó. Không giống như mã Ethereum hiện tại, là luật, quản trị mã IC bổ sung các yếu tố trí tuệ đám đông vào nền tảng, không phải với mục tiêu thiết lập một kiến trúc mã hoàn hảo, mà với mục tiêu hệ thống có thể nhanh chóng điều chỉnh các quy tắc. Đây không chỉ là một sáng tạo công nghệ, mà còn là một bản chất con người tỏa sáng. Trong thế giới blockchain, việc thiết lập, duy trì và sửa đổi sự đồng thuận không thể chỉ được mã hóa, mà bản chất của cốt lõi phải là con người. Sự đồng thuận hợp lệ và công bằng giữa các nhóm lấy con người làm trung tâm là trung tâm của ngành công nghiệp blockchain và là điểm thu hút của nhiều Dapps phi tập trung.
Bài viết này trích dẫn và giải thích một số nội dung của sách trắng IC, trong đó mô tả thêm chi tiết về NNS, trạng thái xác thực của từng vòng mạng con trên lớp đồng thuận, truy vấn và cập nhật các cuộc gọi của thông điệp nhập, phân phối khóa phân tán trong mật mã khóa chuỗi, sơ đồ PVSS, giao thức cơ bản và giao thức chia sẻ lại, v.v. Đối với các nhà phát triển muốn hiểu toàn diện và chi tiết hơn về công nghệ cơ bản của IC, đọc sách trắng gốc có thể cung cấp các giải thích và giải thích chi tiết hơn.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
DFINITY, chuyên về các công nghệ cơ bản, có thể hình dung Web3 có thực sự được hiện thực hóa không?
**Khuyến nghị: Thị trường đang tăng và giảm và gặp phải tình hình ở Ukraine, bấm vào đây để tham gia nhóm PANews để hâm nóng **
Tiêu đề gốc: Giải thích sách trắng mới của DFINITY, chuỗi cổ phiếu tiềm năng công khai Công nghệ nền tảng trong kỷ nguyên kết nối Web 3.0 là gì?
Tác giả: TinTinLand
1
Chì
Vào đầu tháng 2/2022, Dmail, DApp email cá nhân đầu tiên được phát triển dựa trên hệ sinh thái DFINITY, đã nhận được khoản đầu tư chiến lược từ Amino Capital. Được biết, Dmail có thể gửi email đến và đi từ các hộp thư truyền thống, và so với các hộp thư truyền thống, Dmail với các thuộc tính blockchain cũng có thể nhận ra việc truyền thông tin và NFT được mã hóa của tên hộp thư. Đây là sự chuẩn bị cho phần mềm truyền thông trong kỷ nguyên Web 3.0, đóng vai trò là lối vào các trang web phi tập trung và DApp dưới dạng “nhận dạng kỹ thuật số”. Câu hỏi tôi muốn đặt ra là, tại sao Dmail lại chọn Dfinity?
So với các chuỗi công khai của blockchain, Dfinity đã không xuất hiện nhiều lần. Không có lửa DeFi khi có một tia lửa nhỏ và không kiếm được chỗ ngồi trong năm đầu tiên của “NFT”. Tuy nhiên, kể từ khi ra mắt, không có gì lạ khi những người như Dmail có cái nhìn thoáng qua về việc triển khai cụ thể của Web 3.0 sẽ như thế nào.
DFINITY đã phát hành phiên bản mã nguồn mở của phần mềm xã hội video ngắn “CanCan” vào tháng 7 năm 2020, mà chúng ta có thể đơn giản so sánh với Douyin của Web 2.0. CanCan dựa trên ngôn ngữ lập trình của DFINITY, Motoko và có ít hơn 1.000 dòng mã. Điều này có thể gọi là tuyệt vời so với hàng chục triệu dòng mã trên Douyin và Facebook. Đồng thời, mã của CanCan là mã nguồn mở và quyền sở hữu sản phẩm không thuộc về bất kỳ cơ quan tập trung nào. Vào ngày 1 tháng 10 cùng năm, DFINITY đã tiết lộ hệ thống quản trị và mô hình kinh tế mã thông báo của mình, và định giá của dự án từng đạt 9,5 tỷ đô la, xếp hạng trong số 5 công ty hàng đầu. Vào cuối tháng 12 cùng năm, sự phát triển quan trọng của năm mạng lưới từ đồng sang thủy ngân đã hoàn thành. Dominic Williams, Người sáng lập và Nhà khoa học trưởng của Quỹ DFINITY, cho biết tại “Diễn đàn và Lễ trao giải thưởng kỷ nguyên giá trị FAT 2020” rằng máy tính Internet là sự đổi mới lớn thứ ba của blockchain.
Bài viết này sẽ giải thích văn bản gốc của sách trắng của DFINITY, bắt đầu từ logic thấp nhất của lời giải thích chính thức, để xem DFINITY có thể bắt đầu từ công nghệ, phá vỡ công nghệ lớn của Internet và cho phép các phần mềm Web2.0 khác nhau sử dụng phần mềm tự trị và quản trị phi tập trung để đạt được sức mạnh tổng hợp của kinh doanh nguồn mở, để thực sự nhận ra Web3.0; Độc giả không có kinh nghiệm trong ngành công nghiệp blockchain có thể có ngưỡng đọc khi đọc bài viết này, nhưng họ cũng được hoan nghênh bình luận về các câu hỏi phát sinh bên dưới và họ có thể nhận được câu trả lời bất ngờ.
2
Đường nét
Trong suốt lịch sử và quá trình hiện tại của blockchain, BTC đã mang đến kỷ nguyên của tiền phi tập trung, ETH đại diện cho lĩnh vực hệ điều hành, Filecoin đại diện cho lưu trữ và DFINITY đại diện cho sự đổi mới của lĩnh vực điện toán và triển khai Web 3.0. Internet Computer (sau đây gọi tắt là IC) là mạng chính, là giao thức lớp 1, nhằm phát triển mạng công cộng phi tập trung, DFINITY là một máy tính và công nghệ blockchain ảo mở, mở rộng hệ sinh thái Ethereum đến một loạt các kịch bản ứng dụng kinh doanh. Trong bài viết này, chúng tôi sẽ sử dụng thuật ngữ chính thức “Máy tính Internet” trong sách trắng để chỉ chuỗi “DFINITY” thường được sử dụng trong kịch bản truyền thông hiện tại. Phần này chủ yếu giải thích các thuật ngữ kỹ thuật liên quan đến một số IC, cũng như sự khác biệt về công nghệ và triển khai so với các chuỗi công cộng khác, hoặc các điểm sáng trong công nghệ và chức năng. Có thể nói, IC là một nỗ lực mới trong việc kết hợp giữa khả năng mở rộng, phân cấp và bảo mật.
2.1 Giao thức đồng thuận
Nhìn vào IC và một số chuỗi công cộng lớn khác từ góc độ của các giao thức đồng thuận, IC áp dụng mạng điều khiển DAO mô hình lai, cung cấp nhiều lợi ích của giao thức PoS phi tập trung trong khi có hiệu quả của giao thức được phép. Các giao thức đồng thuận Bitcoin, Ethereum và Algorand dựa trên blockchain, sử dụng Proof of Work (PoW) hoặc Proof of Stake (POS). Mặc dù các giao thức này được phân cấp hoàn toàn, nhưng chúng kém hiệu quả hơn các giao thức được phép.
DAO hoạt động theo giao thức đồng thuận được phép cho mỗi mạng con và DAO quyết định thực thể nào có thể cung cấp bản sao của các nút, định cấu hình mạng, cung cấp cơ sở hạ tầng khóa công khai và kiểm soát phiên bản của giao thức trong đó các bản sao của các nút được triển khai. DAO của IC được gọi là Hệ thống thần kinh mạng (NNS) và dựa trên giao thức Pos, nghĩa là các quyết định liên quan đều do các thành viên cộng đồng quyết định và quyền biểu quyết của các thành viên cộng đồng được xác định bởi số lượng mã thông báo quản trị gốc của IC (ICP) mà họ cổ phần trong NNS. Cơ chế quản trị dựa trên PoS này cho phép bạn tạo các mạng con mới và thêm hoặc xóa bản sao của các nút khỏi các mạng hiện có, cũng như triển khai các bản cập nhật phần mềm và thực hiện các điều chỉnh khác cho IC.
Từ quan điểm này, chúng ta cũng có thể hiểu tại sao DFINITY gọi IC là một mạng lưới các máy trạng thái được sao chép, bởi vì bản thân NNS là một máy trạng thái được sao chép. Giống như các máy trạng thái khác, chúng chạy trên một mạng con cụ thể và tư cách thành viên của chúng được xác định bởi cùng một hệ thống quản trị dựa trên PoS được đề cập ở trên. Đồng thời, một cơ sở dữ liệu được gọi là sổ đăng ký được duy trì, ghi lại bản sao nút nào thuộc về mạng con nào, khóa công khai của bản sao nút, v.v. Do đó, mạng điều khiển DAO đóng vai trò như một giao thức đồng thuận phi tập trung, cho phép IC có được sự đồng thuận hiệu quả, nhưng đồng thời, do cơ chế hoạt động của DAO, IC cũng giữ lại những ưu điểm hiện có của phân cấp.
Giao thức đồng thuận của IC cũng sử dụng mật mã khóa công khai, chẳng hạn như sổ đăng ký được duy trì bởi NNS để liên kết khóa công khai với bản sao nút và mạng con để tạo thành một tổng thể, được gọi là mật mã khóa chuỗi và IC cũng hình dung mô hình truyền thông cho giao thức đồng thuận và giao thức thực thi máy trạng thái sao chép: nó hy vọng sẽ áp dụng một mô hình không đồng bộ khả thi và mạnh mẽ hơn (đối với bất kỳ thông điệp nào được gửi, kẻ thù có thể trì hoãn việc gửi bất kỳ thông điệp nào trong một thời gian tùy ý, do đó không có giới hạn thời gian cho việc gửi tin nhắn) để đối phó với các thất bại của Byzantine. Tuy nhiên, hiện tại, không có mô hình đồng thuận nào thực sự khả thi theo mô hình không đồng bộ và trong cách giải thích sau đây về kiến trúc vi mạch, bài viết này sẽ giải thích chi tiết hơn về cách tiếp cận kỹ thuật đối với IC cho tình huống thực tế này.
**2.2 Mật mã khóa chuỗi **
Như đã đề cập ở trên, giao thức đồng thuận của IC cũng sử dụng mật mã khóa công khai - mật mã khóa chuỗi và có một số phần chính tạo nên mật mã khóa chuỗi. Thành phần đầu tiên của mật mã khóa chuỗi là chữ ký ngưỡng: chữ ký ngưỡng là một kỹ thuật mật mã trưởng thành cho phép mạng con có khóa ký xác minh chung và khóa riêng ký tương ứng được chia thành nhiều bản sao và phân phối cho các nút trong mạng con, trong khi phân bổ đảm bảo rằng nút xấu không thể giả mạo bất kỳ chữ ký nào và đoạn khóa riêng thuộc sở hữu của nút trung thực cho phép mạng con tạo chữ ký phù hợp với các nguyên tắc và giao thức IC.
Một ứng dụng chính của các chữ ký ngưỡng này là đầu ra riêng lẻ của một mạng con có thể được xác minh bởi một mạng con khác hoặc bởi người dùng bên ngoài và việc xác minh có thể được thực hiện đơn giản bằng cách xác minh việc triển khai chữ ký điện tử bằng khóa ký xác minh công khai của mạng con đã sửa đổi (mạng con đầu tiên).
Như chúng ta có thể thấy, có rất nhiều ứng dụng khác của các chữ ký ngưỡng này trong IC. Một nên được sử dụng để làm cho mỗi bản sao của một nút trong một mạng con có thể truy cập được vào các chữ số giả ngẫu nhiên không thể đoán trước (bắt nguồn từ các chữ ký ngưỡng như vậy). Đây là cơ sở cho các đèn hiệu ngẫu nhiên được sử dụng bởi lớp đồng thuận và các băng ngẫu nhiên được sử dụng bởi lớp thực thi.
Để triển khai chữ ký ngưỡng một cách an toàn, IC sử dụng giao thức Tạo khóa phân tán (DKG) sáng tạo để xây dựng khóa xác minh chữ ký công khai và cung cấp cho mỗi bản sao nút một đoạn khóa riêng ký tương ứng cho lỗi Byzantine đã đề cập trước đó và các mô hình không đồng bộ.
2.3 ICP
ICP có các tính năng sau:
NNS staking, tức là tạo điều kiện thuận lợi cho quản trị mạng.
ICP có thể được sử dụng để cổ phần trong NNS để giành quyền biểu quyết và do đó tham gia vào DAO kiểm soát mạng IC. Người dùng đặt cược mã thông báo trong NNS và tham gia quản trị NNS cũng nhận được mã thông báo ICP mới được đúc làm phần thưởng biểu quyết. Số lượng phần thưởng được xác định bởi các chính sách được thiết lập và thực thi bởi NNS.
Redeem Cycles, tức là như một sức mạnh sản xuất.
ICP được sử dụng để thanh toán cho việc sử dụng IC. Cụ thể hơn, ICP có thể được đổi thành các chu kỳ (tức là bị đốt cháy), có thể được sử dụng để thanh toán cho các tài nguyên (lưu trữ, CPU và băng thông) được sử dụng để tạo xe tăng và xe tăng. Tỷ lệ ICP trên chu kỳ được xác định bởi NNS.
Các nhà cung cấp nút được trả tiền, tức là được trao làm phần thưởng cho người tham gia.
ICP được sử dụng để thanh toán cho các nhà cung cấp nút - các thực thể sở hữu và vận hành các nút tính toán để lưu trữ các bản sao của các nút tạo nên IC. NNS thường xuyên (hiện tại là hàng tháng) xác định ICP mới được đúc mà mỗi nhà cung cấp nút sẽ nhận được và phát hành nó vào tài khoản của họ. Theo các chính sách được thiết lập và thực thi bởi NNS, việc thanh toán ICP dựa trên nhà cung cấp nút cung cấp dịch vụ đáng tin cậy cho IC.
2.4 Thực thi NNS
Như đã đề cập trước đó, máy trạng thái sao chép của IC có thể thực thi các chương trình tùy ý. Đơn vị tính toán cơ bản trong IC được gọi là xe tăng, và nó có khái niệm tương tự như một quá trình, chứa chương trình và trạng thái của nó (thay đổi theo thời gian). Chương trình của bể được mã hóa trong WebAssembly (sau đây gọi là Wasm), là một định dạng lệnh hai cơ chế dựa trên một máy ảo xếp chồng lên nhau. Wasm là một tiêu chuẩn mã nguồn mở và mặc dù ban đầu nó được thiết kế để cho phép các ứng dụng hiệu suất cao trên web, nhưng nó cũng rất phù hợp cho điện toán đa năng.
IC cung cấp một môi trường thời gian chạy để thực hiện các chương trình Wasm trong bể và giao tiếp (thông qua tin nhắn) với các bể khác và người dùng bên ngoài. Mặc dù về nguyên tắc có thể viết một chương trình xe tăng bằng bất kỳ ngôn ngữ nào biên dịch sang Wasm, ngôn ngữ nói trên được gọi là Motoko rất phù hợp với ngữ nghĩa của các hoạt động IC và có thể được sử dụng trong IC.
Motoko là một chương trình lập trình dựa trên diễn viên 2 mạnh mẽ với sự hỗ trợ tích hợp cho sự bền bỉ trực giao 3 và nhắn tin không đồng bộ. Độ bền cầu phương có nghĩa là bộ nhớ được duy trì bởi bể được tự động duy trì (nghĩa là nó không phải được ghi vào tệp). Motoko có một số tính năng năng suất và bảo mật, bao gồm quản lý bộ nhớ tự động, generics, suy luận kiểu, khớp mẫu và số học tùy ý và độ chính xác cố định.
Ngoài Motoko, IC cung cấp ngôn ngữ định nghĩa giao diện tin nhắn và định dạng dữ liệu được gọi là Candid, được sử dụng cho loại cố định, ngôn ngữ cấp cao và khả năng tương tác đa ngôn ngữ. Điều này giúp hai xe tăng bất kỳ, ngay cả khi được viết bằng các ngôn ngữ cấp cao khác nhau, dễ dàng giao tiếp với nhau. Để cung cấp hỗ trợ đầy đủ cho việc phát triển xe tăng cho bất kỳ ngôn ngữ lập trình nào, hỗ trợ thời gian chạy cụ thể phải được cung cấp cùng với trình biên dịch Wasm cho ngôn ngữ đó. Hiện tại, ngoài Motoko, IC còn hỗ trợ đầy đủ việc phát triển xe tăng bằng ngôn ngữ lập trình Rust.
Do đó, IC hỗ trợ các ngôn ngữ lập trình đa ngôn ngữ và an toàn hơn, đây là một trong những yếu tố quan trọng giúp các nhà phát triển hiệu quả và an toàn hơn trong việc tạo IC.
**2.5 Quyết định NNS **
Trong mạng blockchain DFINITY, BNS (Blockchain Nervous System) là hệ thống quản trị mà mạng hoạt động và nó là một trong những khối xây dựng quan trọng nhất trong mạng blockchain, có thể tự động xâm nhập vào hệ thống và có thẩm quyền cao. Nó đảm nhận vai trò của một supernode. Bất cứ ai cũng tham gia quản trị NNS bằng cách đặt ICP vào cái gọi là tế bào thần kinh. Chủ sở hữu tế bào thần kinh có thể đề xuất và bỏ phiếu về cách IC nên được thay đổi, chẳng hạn như cấu trúc liên kết của mạng con hoặc giao thức. Quyền biểu quyết của tế bào thần kinh dựa trên PoS. Theo trực giác, ICP càng được đặt cọc, quyền biểu quyết của tế bào thần kinh càng lớn. Tuy nhiên, quyền biểu quyết cũng phụ thuộc vào các đặc điểm khác của tế bào thần kinh, chẳng hạn như những người nắm giữ tế bào thần kinh sẵn sàng đặt cọc mã thông báo của họ trong một khoảng thời gian dài hơn, được trao quyền biểu quyết lớn hơn.
Mỗi đề xuất có một thời gian biểu quyết xác định. Nếu, vào cuối thời gian bỏ phiếu, đa số đơn giản những người bỏ phiếu ủng hộ đề xuất và số phiếu ủng hộ vượt quá yêu cầu số đại biểu nhất định đối với tổng số quyền biểu quyết (bây giờ là 3%), đề xuất được thông qua. Nếu không, đề xuất đã bị từ chối. Ngoài ra, bất cứ lúc nào một siêu đa số (hơn một nửa tổng số phiếu bầu) ủng hộ hoặc chống lại đề xuất, đề xuất được chấp nhận hoặc từ chối tương ứng.
Theo thuật ngữ giáo dân hơn, quá trình quản trị BNS được chia thành bốn giai đoạn: tạo tế bào thần kinh, đề xuất, bỏ phiếu và thực hiện.
Tạo tế bào thần kinh: Như đã đề cập ở trên, hệ thống thần kinh blockchain cho phép người dùng sử dụng ICP để tạo tế bào thần kinh bỏ phiếu. Bất cứ ai cũng có thể tạo ra một tế bào thần kinh, và trong tương lai hàng chục ngàn tế bào thần kinh có thể được tạo ra, điều này sẽ thể hiện chung ý chí của cộng đồng, qua trung gian thông qua các thuật toán.
Đề xuất: Bất kỳ người dùng nào đang chạy tế bào thần kinh đều có thể đưa ra đề xuất về BNS và BNS sẽ xem xét đề xuất dựa trên tính hợp lý của đề xuất và liệu nó có đưa ra giải pháp hay không. Người dùng đưa ra đề xuất cần phải trả hai khoản phí: một là trả cho những người đánh giá chuyên nghiệp và các tế bào thần kinh đã tham gia bỏ phiếu, và khoản còn lại là tiền gửi đề xuất, sẽ được trả lại cho tế bào thần kinh sau khi đề xuất được thông qua và số tiền này có thể được đặt để khuyến khích các đề xuất chất lượng cao.
Bình chọn: Ngoài người đề xuất, những người dùng khác cũng cần đặt cược mã thông báo vào tế bào thần kinh trong giai đoạn bỏ phiếu và có thể chọn chủ động bỏ phiếu hoặc theo dõi phiếu bầu. Người dùng có khả năng phán đoán độc lập có thể chọn chủ động bỏ phiếu, và kịch bản sau khi bỏ phiếu phù hợp với một số người dùng không thể đánh giá chính xác các đề xuất. Sau khi thời gian bỏ phiếu kết thúc, BNS thu thập kết quả của mạng nơ-ron và tự động xác định xem đề xuất có được chấp thuận hay không.
Thực hiện: Vừa rồi có cách giải thích về sự đồng thuận IC của lớp thực thi, việc triển khai cụ thể hệ thống quản trị BNS là gì? ĐỀ XUẤT THỰC HIỆN THỤ ĐỘNG CHỦ YẾU LIÊN QUAN ĐẾN CÁC THAY ĐỔI THAM SỐ ĐỐI VỚI CÁC HỢP ĐỒNG THÔNG MINH TRÊN DFINITY, CHẲNG HẠN NHƯ CÁC THAM SỐ ĐẶT CỌC CỦA TẾ BÀO THẦN KINH. Các tham số đề xuất cập nhật sẽ được ghi thụ động vào cơ sở dữ liệu hợp đồng thông minh BNS và sẽ có hiệu lực trực tiếp khi chúng được thực hiện sau đó. Có một trường hợp đặc biệt khi đề xuất nằm ngoài tầm kiểm soát của hợp đồng thông minh BNS, ví dụ liên quan đến cấp quy định BNS, sẽ yêu cầu thực thi tích cực của con người để ghi đè lên phần “mã là luật” của DFINITY. Ví dụ: sửa đổi các lỗ hổng trong mã hệ thống hoặc đóng băng các hợp đồng thông minh hoặc tế bào thần kinh vi phạm các quy định của BNS. Quá trình thực thi tích cực được thực hiện bằng cách gọi các opcode đặc biệt được thêm vào EVM. Hoạt động của bước này mang tính nhân văn và hợp lý hơn, thay vì “mã là luật” và “mã là tất cả” hiện tại trong thế giới blockchain hiện tại. Từ quan điểm của bản chất con người, bao gồm các kịch bản mà mã không thể đưa ra quyết định có thể mang lại quản trị hiệu quả và thông minh hơn, và ở một mức độ nào đó, nó cũng thực sự chạm vào mục đích cơ bản của “sự đồng thuận”.
3
Giải thích kiến trúc
Giao thức IC bao gồm bốn lớp (như thể hiện trong hình bên dưới), cụ thể là lớp P2P, lớp đồng thuận, lớp định tuyến và lớp thực thi. Trong phần này, bài viết này chỉ diễn giải vai trò và chức năng của kiến trúc bốn lớp, và phân tích việc xây dựng kiến trúc tổng thể. ĐỂ HIỂU CHI TIẾT HƠN VỀ VIỆC TRIỂN KHAI KỸ THUẬT CỤ THỂ CỦA MỘT LỚP CỤ THỂ, VUI LÒNG THAM KHẢO SÁCH TRẮNG GỐC CỦA DFINITY.
3.1 Lớp P2P
Lớp P2P đóng vai trò là lớp trong lớp giao thức máy tính Internet để tìm nạp và đặt hàng tin nhắn, và nhiệm vụ của nó là cung cấp các thông điệp giao thức trong một bản sao của các nút của mạng con.
Có hai loại thông điệp giao thức: thông điệp được sử dụng để đạt được sự đồng thuận và thông điệp đầu vào do người dùng bên ngoài khởi xướng.
Chúng ta có thể hiểu rằng lớp P2P về cơ bản cung cấp một kênh phát sóng “nỗ lực tốt nhất”, tức là nếu một bản sao nút trung thực phát một thông điệp, thông điệp cuối cùng sẽ được nhận bởi tất cả các nút thành phố trong mạng con.
Lớp P2P được thiết kế với các mục tiêu sau:
Nguồn lực hạn chế. Tất cả các thuật toán chạy với tài nguyên hạn chế (bộ nhớ, băng thông, CPU).
Ưu tiên. Tùy thuộc vào các thuộc tính cụ thể, chẳng hạn như loại, kích thước và lượt, các thư khác nhau sẽ được sắp xếp với các mức độ ưu tiên khác nhau. Và các quy tắc cho những ưu tiên này có thể thay đổi theo thời gian.
Hiệu quả cao. Thông lượng cao quan trọng hơn độ trễ thấp. THÔNG LƯỢNG CAO CŨNG LÀ LÝ DO TẠI SAO DFINITY HIỆU QUẢ HƠN TỪ DƯỚI LÊN SO VỚI CÁC CHUỖI CÔNG KHAI KHÁC.
Chống DOS / SPAM. Các nút bị lỗi sẽ không ảnh hưởng đến giao tiếp giữa các bản sao nút trung thực.
3.2 Lớp đồng thuận
3.2.1 Tổng quan về lớp đồng thuận
Nhiệm vụ của lớp đồng thuận IC là sắp xếp các thông điệp đầu vào để đảm bảo rằng tất cả các bản sao của các nút xử lý các thông điệp đầu vào theo cùng một thứ tự. Có nhiều giao thức trong tài liệu giải quyết vấn đề này. IC áp dụng một giao thức đồng thuận mới, sẽ được mô tả bằng ngôn ngữ chung trong bài viết này. Bất kỳ giao thức đồng thuận an toàn nào cũng phải đảm bảo hai thuộc tính, đại khái là:
Bảo mật: Tất cả các bản sao của các nút trên thực tế đồng ý với cùng một thứ tự đầu vào.
Hoạt động: Tất cả các bản sao nút sẽ cập nhật từng trạng thái một.
Mục tiêu thiết kế của lớp đồng thuận IC thực sự dễ hiểu: khi có các nút độc hại riêng lẻ, hiệu suất sẽ bị suy giảm linh hoạt. Giống như nhiều giao thức đồng thuận, giao thức đồng thuận IC dựa trên blockchain. Khi giao thức tiến triển, cây khối với khối genesis là nút gốc sẽ tiếp tục phát triển. Mỗi khối không phải genesis chứa một payload, bao gồm một loạt các đầu vào và hàm băm của khối cha.
Các bản sao trung thực có một cái nhìn nhất quán về cây khối: Mặc dù mỗi bản sao có thể có một chế độ xem cục bộ khác nhau về cây khối, tất cả các bản sao của nút đều nhìn thấy cùng một cây chunk. Ngoài ra, khi giao thức tiến triển, sẽ luôn có một đường dẫn trong cây khối để hoàn thiện khối. Một lần nữa, các bản sao nút trung thực có chế độ xem nhất quán về đường dẫn này: mặc dù mỗi bản sao nút có thể có chế độ xem cục bộ khác nhau về đường dẫn, tất cả các bản sao nút đều thấy cùng một đường dẫn. Các đầu vào trong tải của các khối dọc theo đường dẫn này là các đầu vào được sắp xếp sẽ được xử lý bởi lớp thực thi của IC.
Giao thức đồng thuận dựa trên chữ ký điện tử để xác minh thông điệp trong một bản sao của nút. Để đạt được điều này, mỗi bản sao của nút được liên kết với một khóa xác thực công khai cho giao thức ký. Mối tương quan giữa bản sao nút và khóa công khai có thể được lấy từ sổ đăng ký được duy trì bởi NNS. Điều này cũng phù hợp với vai trò và vai trò của mật mã khóa chuỗi trong các IC được đề cập ở trên.
3.2.2 Giả định
Như đã thảo luận trong Phần II, IC đề xuất giả thuyết sau:
Một mạng con chứa n bản sao của các nút và tối đa là f
Bản sao nút không thành công có thể thể hiện hành vi tùy ý, độc hại (tức là lỗi Byzantine). Chúng tôi giả định rằng giao tiếp không đồng bộ và không có giới hạn trước về độ trễ tin nhắn giữa các bản sao nút, tức là mô hình không đồng bộ được đề cập ở trên. Tại thời điểm này, lịch trình của tin nhắn có thể hoàn toàn thù địch. Theo giả định giao tiếp yếu này, giao thức đồng thuận IC có thể đảm bảo an ninh. Nhưng để đảm bảo hoạt động, chúng ta cần giả định một hình thức đồng bộ hóa từng phần nhất định, có nghĩa là mạng vẫn được đồng bộ hóa định kỳ trong khoảng thời gian ngắn. Trong khoảng thời gian đồng bộ hóa này, tất cả thông tin chưa gửi sẽ được gửi trong thời gian, tức là giới hạn thời gian cố định δ. Thời hạn δ không được biết trước (giao thức khởi tạo một giá trị biên hợp lý nhưng tự động điều chỉnh giá trị và tăng giá trị giới hạn khi giới hạn thời gian quá nhỏ). Bất kể mạng không đồng bộ hay đồng bộ một phần, chúng tôi giả định rằng các thông điệp được gửi bởi một bản sao nút trung thực đến một bản sao nút khác cuối cùng sẽ được gửi.
3.2.3 Tổng quan về giao thức
Giống như nhiều giao thức đồng thuận, giao thức đồng thuận IC dựa trên blockchain. Khi giao thức tiến triển, các cây khối (xem 3.2.4 ví dụ) với khối genesis vì nút gốc sẽ tiếp tục phát triển. Mỗi khối không phải genesis chứa một payload, bao gồm một loạt các đầu vào và hàm băm của khối cha. Các bản sao trung thực có một cái nhìn nhất quán về cây khối: Mặc dù mỗi bản sao có thể có một chế độ xem cục bộ khác nhau về cây khối, tất cả các bản sao của nút đều nhìn thấy cùng một cây chunk. Ngoài ra, khi giao thức tiến triển, sẽ luôn có một đường dẫn trong cây khối để hoàn thiện khối. Tương tự, các bản sao nút trung thực có chế độ xem nhất quán về đường dẫn này và mặc dù mỗi bản sao nút có thể có chế độ xem cục bộ khác nhau về đường dẫn, tất cả các bản sao nút đều thấy cùng một đường dẫn. Các đầu vào trong tải của các khối dọc theo đường dẫn này đã được sắp xếp và xử lý bởi lớp thực thi, được diễn giải trong phần trước.
3.2.4 Ví dụ thực tế
Hình ảnh dưới đây cho thấy một cây khối. Mỗi khối được đánh dấu bằng chiều cao khối (30, 31, 32, ···· ) và xếp hạng các trình tạo khối, cho thấy mỗi khối trong cây khối được công chứng và đánh dấu bằng ký hiệu N. Điều này có nghĩa là các khối được công chứng trong mỗi cây khối được hỗ trợ bằng cách công chứng ít nhất các bản sao n-f của các nút khác nhau. Có thể thấy rằng có thể có nhiều hơn một khối công chứng ở chiều cao khối được chỉ định. Ví dụ, ở độ cao khối 32, chúng ta có thể thấy 2 khối được công chứng, một khối được đề xuất bởi trình tạo khối ở hạng 1 và khối còn lại được đề xuất bởi hạng 2, và điều tương tự cũng xảy ra ở độ cao khối 34. Chúng ta cũng có thể thấy rằng các khối có chiều cao 36 cũng được xác nhận rõ ràng, như được xác định bởi ký hiệu F. Điều này có nghĩa là các bản sao n-f của các nút khác nhau đã hỗ trợ xác nhận cuối cùng của khối, có nghĩa là các bản sao nút này (hoặc ít nhất là các bản sao nút trung thực của các bản sao này) không hỗ trợ công chứng của bất kỳ khối nào khác. Tất cả các tổ tiên có khối chứa đầy màu xám được coi là đã nhận được xác nhận cuối cùng ngầm.
**3.2.5 Vô tư **
Công bằng là nền tảng của sự đồng thuận, vì vậy một thuộc tính quan trọng khác trong các giao thức đồng thuận là sự công bằng. Thay vì thiết lập một định nghĩa phổ quát, chúng ta chỉ đơn giản quan sát thấy rằng sự bất biến của cuộc sống ngụ ý một tài sản công bằng hữu ích. Tóm lại, bất biến về cơ bản có nghĩa là trong bất kỳ vòng nào, khi masternode trung thực và mạng được đồng bộ hóa, khối được đề xuất bởi masternode cũng sẽ được hoàn thiện. Trong lần lượt điều này xảy ra, nút chính trung thực thực sự đảm bảo rằng nó chứa tất cả các đầu vào mà nó biết trong tải của khối (tùy thuộc vào giới hạn mô-đun của kích thước tải). Vì vậy, nói một cách đơn giản, bất kỳ đầu vào nào được truyền đến đủ số lượng bản sao nút rất có thể sẽ được đưa vào khối được xác nhận cuối cùng trong một khoảng thời gian hợp lý.
**3.3 Lớp định tuyến **
Như đã đề cập trước đó, đơn vị tính toán cơ bản trong IC được gọi là xe tăng. IC cung cấp môi trường hoạt động trong đó các chương trình có thể được thực thi trong bể và có thể giao tiếp (thông qua tin nhắn) với các bể khác và người dùng bên ngoài. Lớp đồng thuận đóng gói đầu vào vào tải của khối và khi khối được xác nhận bởi reddest, tải tương ứng được chuyển đến lớp định tuyến tin nhắn và được xử lý bởi môi trường thực thi. Lớp thực thi sau đó cập nhật trạng thái trong bể tương ứng trong máy trạng thái sao chép và chuyển đầu ra sang lớp định tuyến tin nhắn để xử lý.
Cần phân biệt giữa hai loại đầu vào:
Thông báo ngõ vào: Thư từ người dùng bên ngoài.
Tin nhắn mạng con chéo: Tin nhắn từ các bể chứa trong các mạng con khác.
Chúng ta cũng có thể phân biệt giữa hai loại đầu ra:
Phản hồi tin nhắn ngõ vào: Phản hồi cho thông báo xâm nhập (người dùng bên ngoài có thể truy xuất).
Tin nhắn mạng con chéo: Tin nhắn được truyền đến các bể mạng con khác.
Khi nhận được tải từ sự đồng thuận, các đầu vào trong các tải đó được đặt vào các hàng đợi đầu vào khác nhau. Đối với mỗi bể C trong một mạng con, có nhiều hàng đợi đầu vào: một thông báo nhập vào C, một bể riêng biệt C 'để giao tiếp với C và một thông điệp mạng con chéo từ C đến C '.
Trong mỗi vòng, lớp thực thi tiêu thụ một số đầu vào từ các hàng đợi này, cập nhật trạng thái sao chép trong bể tương ứng và đặt các đầu ra trong một hàng đợi khác. Đối với mỗi bể chứa trong một mạng con, có nhiều hàng đợi đầu ra: đối với mỗi bể giao tiếp, có một hàng đợi cho các tin nhắn mạng con chéo từ C đến C '. Lớp định tuyến của tin nhắn lấy các tin nhắn trong hàng đợi tin nhắn và đặt chúng vào lưu lượng mạng con đến mạng con để được xử lý bởi giao thức truyền tải mạng con chéo, thực sự truyền tin nhắn đến các mạng con khác.
Ngoài các hàng đợi đầu ra này, còn có một cấu trúc dữ liệu lịch sử cho các thông điệp xâm nhập. Khi một thông điệp xâm nhập đã được xử lý bởi tank, phản hồi cho thông điệp xâm nhập đó được ghi lại trong cấu trúc dữ liệu đó. Tại thời điểm này, người dùng bên ngoài đã cung cấp thông báo xâm nhập sẽ có thể nhận được phản hồi có liên quan. (Lưu ý: Lịch sử xâm nhập không lưu giữ lịch sử đầy đủ của tất cả các thông điệp xâm nhập).
Có hai điểm cần được làm rõ, thứ nhất, trạng thái của bản sao nút bao gồm trạng thái của bể cũng như “trạng thái hệ thống”. “Trạng thái hệ thống” bao gồm hàng đợi, luồng dữ liệu và cấu trúc dữ liệu của lịch sử xâm nhập được đề cập ở trên. Kết quả là, cả lớp định tuyến tin nhắn và lớp thực thi đều tham gia vào việc cập nhật và duy trì trạng thái sao chép của mạng con. Tất cả trạng thái này phải được cập nhật với chủ nghĩa xác định hoàn chỉnh, để tất cả các nút duy trì cùng một trạng thái chính xác.
Điểm thứ hai cần lưu ý là lớp đồng thuận đứng trước lớp định tuyến thông điệp và lớp thực thi, có nghĩa là bất kỳ nhánh nào trong blockchain đồng thuận đã được giải quyết trước khi tải được thông qua. Trên thực tế, lớp đồng thuận cho phép hoạt động sớm và không cần phải nằm trong cùng lịch trình với lớp định tuyến tin nhắn.
Giải thích và giải thích về lớp định tuyến cho chúng ta hiểu rõ hơn về cách giao thức đồng thuận được truyền đến và đi từ giao thức đồng thuận thông qua định tuyến thông điệp và cách nó được kết nối với lớp thực thi, để thúc đẩy sự phối hợp và nhất quán của giao thức đồng thuận.
3.4 Lớp thực thi
Môi trường thực thi xử lý một đầu vào tại một thời điểm, được lấy từ một trong các hàng đợi đầu vào và hướng đến một bể chứa, tùy thuộc vào trạng thái của đầu vào và bể chứa, môi trường thực thi cập nhật trạng thái của bể và có thể thêm thông báo vào hàng đợi đầu ra. và cập nhật lịch sử xâm nhập (có thể cùng với phản hồi cho thông báo xâm nhập trước đó). Trong một lượt nhất định, môi trường thực thi sẽ xử lý nhiều đầu vào. Bộ lập lịch xác định đầu vào nào sẽ được thực hiện theo thứ tự cho một lượt nhất định. Thay vì đi vào quá nhiều chi tiết về lịch trình, chúng tôi sẽ nêu bật một số mục tiêu:
Nó phải là xác định, tức là chỉ phụ thuộc vào dữ liệu đã cho;
Nó nên phân phối khối lượng công việc một cách công bằng trên các bể chứa (nhưng tối ưu hóa cho thông lượng hơn là độ trễ).
Số lượng công việc hoàn thành trong mỗi vòng được đo bằng chu kỳ và phải gần với một số lượng được xác định trước.
Một nhiệm vụ khác mà môi trường thực thi phải giải quyết là tình huống một trong các bể chứa của một mạng con tạo ra tin nhắn trên các mạng con nhanh hơn các mạng con khác có thể tiêu thụ. Để đối phó với tình hình này, chúng tôi đã thực hiện một cơ chế tự điều chỉnh để làm chậm bể sản xuất. Có nhiều nhiệm vụ quản lý tài nguyên và sổ sách kế toán khác cần được xử lý bởi môi trường thời gian chạy, nhưng tất cả các tác vụ này phải được xử lý một cách xác định.
4
Mật mã khóa chuỗi
Trong phần tóm tắt, chúng tôi giải thích rằng giao thức đồng thuận của IC cũng sử dụng kỹ thuật mật mã khóa công khai - mật mã khóa chuỗi và một phần quan trọng của mật mã khóa chuỗi là chữ ký ngưỡng. Trên thực tế, mật mã khóa chuỗi bao gồm một tập hợp các kỹ thuật phức tạp được sử dụng để duy trì mạnh mẽ và an toàn các máy trạng thái sao chép dựa trên blockchain theo thời gian, được gọi chung là kỹ thuật tiến hóa chuỗi. Mỗi mạng con hoạt động trong các kỷ nguyên chứa nhiều vòng (thường là khoảng vài trăm). Công nghệ phát triển chuỗi cho phép nhiều nhiệm vụ bảo trì cơ bản được thực hiện trên cơ sở mỗi kỷ nguyên: thu gom rác, chuyển tiếp nhanh, thay đổi thành viên mạng con, chuyển tiếp bí mật hoạt động và nâng cấp giao thức.
Sự hiểu biết về công nghệ phát triển chuỗi, nghĩa là sự hiểu biết về việc triển khai kỹ thuật bảo mật giao thức đồng thuận IC. Công nghệ tiến hóa chuỗi bao gồm hai thành phần cơ bản: khối tóm tắt và gói bắt kịp (CUP).
**4.1 Khối tóm tắt **
Khối đầu tiên của mỗi kỷ nguyên là khối tiêu hóa. Khối tóm tắt chứa dữ liệu đặc biệt được sử dụng để quản lý các đoạn chính cho các lược đồ chữ ký ngưỡng khác nhau. Có hai sơ đồ chữ ký ngưỡng:
Trong kịch bản có cấu trúc ngưỡng f + 1 / n, khóa ký mới được tạo cho mỗi kỷ nguyên;
Trong kịch bản có cấu trúc ngưỡng n-f/n, khóa ký được chia sẻ lại một lần mỗi kỷ nguyên.
Các kịch bản có ngưỡng thấp được sử dụng cho đèn hiệu ngẫu nhiên và băng ngẫu nhiên, trong khi các kịch bản có ngưỡng cao được sử dụng để xác minh trạng thái sao chép của mạng con. Hãy nhớ lại rằng giao thức DKG yêu cầu rằng đối với mỗi khóa ký, có một tập hợp các giao dịch và mỗi bản sao nút có thể lấy đoạn khóa chữ ký của nó không tương tác dựa trên tập hợp các giao dịch này. Nhớ lại một lần nữa, trong số những thứ khác, NNS duy trì một sổ đăng ký xác định các thành viên mạng con. Sổ đăng ký (và các thành viên mạng con) thay đổi theo thời gian. Do đó, các mạng con phải đồng ý về phiên bản đăng ký sẽ được sử dụng tại các thời điểm khác nhau và cho các mục đích khác nhau. Thông tin này cũng được lưu trữ trong khối tóm tắt.
4.2 CỐC
Với bản tóm tắt, chúng ta hãy xem xét các gói bắt kịp, hoặc CUP. Trước khi chúng tôi giải thích chi tiết về CUP, trước tiên chúng tôi cần chỉ ra một chi tiết về đèn hiệu ngẫu nhiên: các đèn hiệu ngẫu nhiên của mỗi vòng phụ thuộc vào các đèn hiệu ngẫu nhiên của vòng trước. Nó không phải là một tính năng cơ bản của CUP, nhưng nó ảnh hưởng đến thiết kế của CUP. CUP là một thông điệp đặc biệt (không có trên blockchain) có mọi thứ mà một nút cần để hoạt động tại điểm bắt đầu của một kỷ nguyên mà không biết bất kỳ thông tin nào về kỷ nguyên trước đó. Nó chứa các trường dữ liệu sau:
Gốc của cây băm Merkel cho toàn bộ trạng thái được sao chép (trái ngược với trạng thái một phần của mỗi vòng xác nhận trong Chương 1.6).
giai đoạn.
Đèn hiệu ngẫu nhiên cho vòng đầu tiên của kỷ nguyên.
Chữ ký ngưỡng của mạng con cho (n - f)/n cho các trường trên.
Để tạo CUP cho một kỷ nguyên nhất định, bản sao nút phải đợi cho đến khi khối tiêu hóa của kỷ nguyên đã được hoàn thành và trạng thái tròn tương ứng đã được xác minh. Như đã đề cập trước đó, toàn bộ trạng thái sao chép phải được xử lý thành cây Merkle bằng hàm băm. Mặc dù có nhiều kỹ thuật được sử dụng để tăng tốc quá trình này, nhưng chi phí vẫn còn đáng kể, đó là lý do tại sao mỗi kỷ nguyên chỉ được xử lý một lần. Vì CUP chỉ chứa gốc của cây Merkle này, chúng tôi sử dụng giao thức con đồng bộ hóa trạng thái cho phép bản sao nút trích xuất bất kỳ trạng thái nào nó cần từ peer. Một lần nữa, chúng tôi đã sử dụng rất nhiều công nghệ để tăng tốc quá trình này và nó vẫn tốn kém. Bởi vì chúng tôi sử dụng chữ ký ngưỡng cao cho CUP, chúng tôi có thể đảm bảo rằng chỉ có một CUP hợp lệ trên bất kỳ kỷ nguyên nào và trạng thái đó có thể được trích xuất từ nhiều đồng nghiệp.
**4.3 Triển khai công nghệ tiến hóa chuỗi **
Thu gom rác: Vì CUP chứa thông tin về một kỷ nguyên cụ thể, mỗi bản sao của nút có thể xóa tất cả các đầu vào được xử lý một cách an toàn trước kỷ nguyên đó, cũng như các thông điệp lớp đồng thuận đã sắp xếp các đầu vào đó.
Chuyển tiếp nhanh: Nếu một bản sao của một nút trong mạng con chậm hơn đáng kể so với nút đồng bộ của nó (vì nó bị hỏng hoặc ngắt kết nối trong một thời gian dài) hoặc nếu một bản sao mới của nút được thêm vào mạng con, chúng có thể nhanh chóng chuyển tiếp đến điểm bắt đầu của kỷ nguyên mới nhất mà không cần phải chạy giao thức đồng thuận và xử lý tất cả đầu vào trước thời điểm đó. Bản sao của nút này có thể được thực hiện bằng cách lấy CUP mới nhất. Với các khối tiêu hóa và đèn hiệu ngẫu nhiên chứa từ CUP, cũng như các thông điệp đồng thuận (chưa bị xóa) từ các bản sao nút khác, bản sao nút có thể chạy giao thức đồng thuận về phía trước từ điểm bắt đầu của kỷ nguyên tương ứng. Nút cũng có thể sử dụng giao thức con đồng bộ hóa trạng thái để lấy trạng thái sao chép ở đầu kỷ nguyên tương ứng, do đó nó cũng có thể bắt đầu xử lý các đầu vào được tạo bởi lớp đồng thuận.
Sơ đồ sau đây mô tả chuyển tiếp nhanh. Ở đây, giả sử rằng chúng ta cần một bản sao nút cần bắt kịp tại điểm bắt đầu kỷ nguyên, (giả sử) với chiều cao khối là 101 và CUP. CUP này chứa gốc của cây Merkle được sao chép với chiều cao khối là 101, khối tóm tắt có chiều cao khối là 101 và đèn hiệu ngẫu nhiên có chiều cao khối là 101. Nút sử dụng giao thức con đồng bộ hóa trạng thái để lấy tất cả trạng thái sao chép chiều cao khối 101 từ các đồng nghiệp của nó và xác minh trạng thái này với cây Merkle trong CUP. Sau khi có được trạng thái này, bản sao nút có thể tham gia vào giao thức, lấy các khối có chiều cao khối là 102, 103, v.v. (và các thông điệp liên quan đến sự đồng thuận khác) từ đồng đẳng và cập nhật bản sao trạng thái sao chép của nó. Nếu các đồng nghiệp của nó đã xác nhận các khối ở cấp cao hơn, bản sao của nút sẽ xử lý (cũng như công chứng và hoàn thiện) các khối đã hoàn thiện thu được từ các đồng nghiệp càng sớm càng tốt (nhanh như lớp thực thi cho phép).
5
Lời bạt
Giống như Ethereum, tầm nhìn của DFINITY là xây dựng “siêu máy tính của thế giới”, thông qua việc giải thích một phần nói trên và giải thích kỹ thuật về sách trắng của nó. IC theo tầm nhìn này có một cơ hội tuyệt vời để được thực hiện.
Chúng ta có thể thấy sự đổi mới công nghệ và tính khả thi kỹ thuật của IC để hiện thực hóa tầm nhìn của nó từ mô hình lai DAO của giao thức đồng thuận, từ sự đổi mới công nghệ của việc tạo khối nhanh và thông lượng cao, và từ hệ thống tế bào thần kinh BNS và sơ đồ quản trị sinh thái của nó. Không giống như mã Ethereum hiện tại, là luật, quản trị mã IC bổ sung các yếu tố trí tuệ đám đông vào nền tảng, không phải với mục tiêu thiết lập một kiến trúc mã hoàn hảo, mà với mục tiêu hệ thống có thể nhanh chóng điều chỉnh các quy tắc. Đây không chỉ là một sáng tạo công nghệ, mà còn là một bản chất con người tỏa sáng. Trong thế giới blockchain, việc thiết lập, duy trì và sửa đổi sự đồng thuận không thể chỉ được mã hóa, mà bản chất của cốt lõi phải là con người. Sự đồng thuận hợp lệ và công bằng giữa các nhóm lấy con người làm trung tâm là trung tâm của ngành công nghiệp blockchain và là điểm thu hút của nhiều Dapps phi tập trung.
Bài viết này trích dẫn và giải thích một số nội dung của sách trắng IC, trong đó mô tả thêm chi tiết về NNS, trạng thái xác thực của từng vòng mạng con trên lớp đồng thuận, truy vấn và cập nhật các cuộc gọi của thông điệp nhập, phân phối khóa phân tán trong mật mã khóa chuỗi, sơ đồ PVSS, giao thức cơ bản và giao thức chia sẻ lại, v.v. Đối với các nhà phát triển muốn hiểu toàn diện và chi tiết hơn về công nghệ cơ bản của IC, đọc sách trắng gốc có thể cung cấp các giải thích và giải thích chi tiết hơn.