Cơ sở hạ tầng Web3 an toàn, có thể mở rộng và có thể nâng cấp
Bản tóm tắt
Với sự gia tăng của chuỗi khối cơ sở hạ tầng Internet mới, các nhà phát triển đang triển khai hàng chục nghìn ứng dụng phi tập trung với tốc độ nhanh chóng. Thật không may, do tính ổn định kém, chi phí cao, thông lượng thấp và một số vấn đề bảo mật, blockchain vẫn chưa được áp dụng rộng rãi. Để được sử dụng rộng rãi trong kỷ nguyên Web3, cơ sở hạ tầng chuỗi khối phải mô phỏng các đặc điểm của cơ sở hạ tầng đám mây, nghĩa là cung cấp một nền tảng đáng tin cậy, có thể mở rộng, tiết kiệm chi phí và được tối ưu hóa liên tục cho nhiều ứng dụng phi tập trung.
Để giải quyết những thách thức này, chúng tôi đã ra mắt chuỗi khối Aptos với các nguyên tắc thiết kế cốt lõi là khả năng mở rộng, bảo mật, độ tin cậy và khả năng nâng cấp. Chuỗi khối Aptos đã được hơn 350 nhà phát triển trên khắp thế giới cùng phát triển trong ba năm qua [1]. Nó cung cấp những cải tiến mới về sự đồng thuận, thiết kế hợp đồng thông minh, bảo mật hệ thống, hiệu suất và phân cấp. Sự kết hợp của những công nghệ này sẽ cung cấp một nền tảng vững chắc để đưa Web3 đến với nhiều đối tượng hơn:
1. Chuỗi khối Aptos tích hợp và sử dụng ngôn ngữ Move để thực hiện giao dịch nhanh chóng và an toàn [2]. Move prover, một công cụ xác minh chính thức cho các hợp đồng thông minh được phát triển bằng ngôn ngữ Move, cung cấp các đảm bảo bổ sung cho các hằng số và hoạt động của hợp đồng. Phương pháp tập trung vào bảo mật này cho phép các nhà phát triển bảo vệ phần mềm tốt hơn khỏi các thực thể độc hại.
2. Mô hình dữ liệu Aptos cho phép quản lý khóa linh hoạt và các tùy chọn lưu trữ kết hợp. Điều này, cùng với tính minh bạch của giao dịch trước khi ký và giao thức ứng dụng khách nhẹ thực tế, cùng nhau mang lại trải nghiệm người dùng an toàn và đáng tin cậy hơn.
3. Để đạt được thông lượng cao và độ trễ thấp, chuỗi khối Aptos sử dụng phương pháp tiếp cận theo mô-đun và theo đường ống ở các giai đoạn chính của quá trình xử lý giao dịch. Cụ thể, các hoạt động như phân phối giao dịch, đặt hàng siêu dữ liệu khối, thực hiện giao dịch song song, lưu trữ hàng loạt và xác minh sổ cái sẽ chạy đồng thời. Cách tiếp cận này tận dụng tối đa tất cả các tài nguyên phần cứng có sẵn, cải thiện hiệu suất phần cứng và đạt được mức độ xử lý song song cao.
4. Không giống như công cụ thực thi song song cần lấy dữ liệu để đọc và ghi trước khi đọc và ghi, điều này phá hủy tính nguyên tử của giao dịch, chuỗi khối Aptos không đặt ra những hạn chế như vậy đối với các nhà phát triển. Nó cung cấp các ứng dụng có thông lượng cao hơn và độ trễ thấp hơn, đồng thời đơn giản hóa quá trình phát triển bằng cách đảm bảo tính nguyên tử của các giao dịch phức tạp.
5. Kiến trúc mô-đun Aptos đảm bảo tính linh hoạt của máy khách và được tối ưu hóa để nâng cấp thường xuyên. Ngoài ra, để nhanh chóng triển khai các cải tiến công nghệ mới và hỗ trợ các trường hợp sử dụng Web3 mới, chuỗi khối Aptos cung cấp một giao thức quản lý thay đổi trên chuỗi nhúng.
6. Chuỗi khối Aptos đang thử nghiệm các sáng kiến trong tương lai ngoài hiệu suất của một trình xác thực duy nhất: thiết kế mô-đun và công cụ thực thi song song của nó hỗ trợ quá trình phân đoạn nội bộ của trình xác thực, trong khi quá trình phân đoạn trạng thái đồng nhất (phân đoạn trạng thái đồng nhất) cung cấp thông lượng theo chiều ngang. giới thiệu độ phức tạp bổ sung cho các nhà khai thác nút.
[1] Tuyên bố miễn trừ trách nhiệm pháp lý: Sách trắng này và nội dung của nó không phải là lời đề nghị bán bất kỳ mã thông báo nào, cũng không phải là đề nghị khuyến khích mua bất kỳ mã thông báo nào. Chúng tôi xuất bản sách trắng này chỉ để chấp nhận phản hồi và nhận xét của công chúng. Không có nội dung nào trong tài liệu này được hiểu là sự đảm bảo hoặc lời hứa về cách chuỗi khối Aptos hoặc mã thông báo của nó (nếu có) sẽ phát triển, sử dụng hoặc tích lũy giá trị. Aptos mới chỉ phác thảo các kế hoạch hiện tại của mình, những kế hoạch này có thể thay đổi theo quyết định của họ và thành công của họ sẽ phụ thuộc vào một số yếu tố nằm ngoài tầm kiểm soát của họ. Những tuyên bố trong tương lai như vậy nhất thiết phải liên quan đến những rủi ro đã biết và chưa biết, có thể khiến hiệu suất và kết quả thực tế trong các giai đoạn tương lai khác biệt đáng kể so với những gì chúng tôi mô tả hoặc ngụ ý trong sách trắng này. Aptos không có nghĩa vụ phải cập nhật các kế hoạch của mình. Không thể đảm bảo rằng bất kỳ tuyên bố nào trong sách trắng sẽ được chứng minh là chính xác, vì kết quả thực tế và các sự kiện trong tương lai có thể khác biệt đáng kể. Vui lòng không đặt sự phụ thuộc quá mức vào các tuyên bố trong tương lai.
1. Lời mở đầu
Trong kỷ nguyên Web2, các dịch vụ như truyền thông, mạng xã hội, tài chính, trò chơi, mua sắm và phương tiện phát trực tuyến âm thanh và video được cung cấp bởi các công ty tập trung có quyền truy cập dữ liệu người dùng (chẳng hạn như Google, Amazon, Apple và Meta). Các công ty này tận dụng phần mềm dành riêng cho ứng dụng để tối ưu hóa cơ sở hạ tầng phát triển cho các trường hợp sử dụng được nhắm mục tiêu và triển khai các ứng dụng đó cho người dùng sử dụng cơ sở hạ tầng đám mây. Cơ sở hạ tầng đám mây cung cấp quyền truy cập vào các dịch vụ cơ sở hạ tầng ảo hoặc vật lý, chẳng hạn như dịch vụ cho thuê máy ảo (VM) và phần cứng kim loại thô chạy trong các trung tâm dữ liệu trên khắp thế giới (chẳng hạn như AWS, Azure và Google Cloud). Do đó, việc xây dựng các dịch vụ Internet Web2 có khả năng mở rộng tới hàng tỷ người dùng chưa bao giờ dễ dàng hơn ngày nay. Tuy nhiên, Web2 yêu cầu người dùng tin tưởng một cách rõ ràng vào các thực thể tập trung, một yêu cầu ngày càng gây lo ngại cho xã hội.
Để giải quyết vấn đề này, một kỷ nguyên Internet mới đã bắt đầu: Web3. Trong phiên bản Web 3 của Internet, chuỗi khối đã nổi lên để cung cấp một sổ cái bất biến, phi tập trung, cho phép người dùng giao tiếp với nhau một cách an toàn và đáng tin cậy mà không cần phải tin tưởng vào một bên trung gian kiểm soát hoặc một thực thể tập trung. Tương tự như cách các ứng dụng và dịch vụ Internet Web2 dựa trên cơ sở hạ tầng đám mây, các ứng dụng phi tập trung có thể sử dụng blockchain làm lớp cơ sở hạ tầng phi tập trung để tiếp cận hàng tỷ người dùng trên khắp thế giới.
Tuy nhiên, bất chấp sự tồn tại của nhiều chuỗi khối, Web3 vẫn chưa được áp dụng rộng rãi [3]. Trong khi công nghệ tiếp tục phát triển ngành, các chuỗi khối hiện tại vẫn không đáng tin cậy. Phí giao dịch cao, thông lượng thấp, tổn thất tài sản thường xuyên do vấn đề bảo mật và không có khả năng hỗ trợ phản hồi theo thời gian thực. So với cơ sở hạ tầng đám mây trao quyền cho các dịch vụ Web2 và tiếp cận thành công hàng tỷ người, chuỗi khối vẫn chưa đưa các ứng dụng Web3 lên cùng một tầm cao.
2. Tầm nhìn Aptos
Tầm nhìn của Aptos là cung cấp một chuỗi khối có thể mang lại sự áp dụng chính thống cho Web3 và trao quyền cho một hệ sinh thái các ứng dụng phi tập trung để giải quyết các điểm khó khăn của người dùng trong thế giới thực. Nhiệm vụ của chúng tôi là nâng cao độ tin cậy, bảo mật và hiệu suất của chuỗi khối bằng cách cung cấp một kiến trúc chuỗi khối linh hoạt và theo mô-đun. Kiến trúc phải hỗ trợ nâng cấp thường xuyên, áp dụng nhanh các công nghệ mới nhất và hỗ trợ tốt nhất trong phân khúc cho các trường hợp sử dụng mới nổi.
Chúng tôi hình dung việc xây dựng các mạng phi tập trung, an toàn và có thể mở rộng do quản trị cộng đồng điều hành. Khi nhu cầu về cơ sở hạ tầng phát triển trên khắp thế giới, tài nguyên điện toán chuỗi khối mở rộng theo chiều ngang và chiều dọc để đáp ứng những nhu cầu đó. Khi các trường hợp sử dụng mới và tiến bộ công nghệ xuất hiện, mạng phải được nâng cấp thường xuyên và liền mạch mà không làm gián đoạn người dùng. Để người dùng không còn chú ý đến các vấn đề liên quan đến cơ sở hạ tầng. Các nhà phát triển và người dùng sẽ có quyền truy cập vào nhiều tùy chọn khác nhau để khôi phục khóa, lập mô hình dữ liệu, tiêu chuẩn hợp đồng thông minh, cân bằng sử dụng tài nguyên, quyền riêng tư và khả năng kết hợp. Người dùng tự tin rằng tài sản của họ an toàn, có sẵn và có thể truy cập mà hầu như không mất phí. Bất kỳ ai cũng có thể thực hiện các giao dịch bất biến một cách an toàn và dễ dàng với các bên không đáng tin cậy trên khắp thế giới. Chuỗi khối sẽ phổ biến như cơ sở hạ tầng đám mây.
Để hiện thực hóa tầm nhìn này, cần phải có những tiến bộ đáng kể trong công nghệ. Kinh nghiệm của chúng tôi trong việc phát triển, nâng cấp và triển khai chuỗi khối Diem (tiền thân của chuỗi khối Aptos) trong ba năm qua đã chứng minh rằng mạng có thể liên tục nâng cấp giao thức mà không làm gián đoạn máy khách [4]. Vào đầu năm 2020, mạng chính của Diem đã được triển khai tới hàng chục nút với nhiều nhà cung cấp ví. Trong năm tiếp theo, nhóm của chúng tôi đã thực hiện hai nâng cấp lớn đối với giao thức đồng thuận và khung cốt lõi. Cả hai nâng cấp đã hoàn thành mà không có bất kỳ thời gian chết nào cho người dùng. Trong chuỗi khối Aptos, chúng tôi đã thực hiện một loạt cải tiến triệt để đối với kho công nghệ, đồng thời coi tính bảo mật, tính minh bạch và nâng cấp thường xuyên là các chức năng cốt lõi lấy cảm hứng từ chuỗi khối Diem. Chúng tôi đặc biệt nhấn mạnh vào các phương pháp xử lý giao dịch mới (như được mô tả trong Phần 7) và các cách tiếp cận mới để phân cấp và quản trị mạng.
Với sự cải tiến và phát triển liên tục của chuỗi khối Aptos, chúng tôi sẽ tiếp tục cập nhật giao thức và thiết kế, đồng thời phát hành phiên bản sách trắng mới nhất tại thời điểm đó. Trong phần sau đây, chúng tôi mô tả trạng thái hiện tại của chuỗi khối Aptos và các kế hoạch cho tương lai.
3. Tổng quan
Như được hiển thị trong Hình 1, chuỗi khối Aptos bao gồm một nhóm các trình xác nhận (Validators), những người sử dụng cơ chế đồng thuận Byzantine Fault Tolerance (BFT) và Proof of Stake (POS) để nhận và xử lý các giao dịch của người dùng. Chủ sở hữu mã thông báo khóa hoặc cầm cố mã thông báo của họ trong trình xác thực đã chọn (Trình xác thực). Trọng số biểu quyết đồng thuận của mỗi trình xác thực tỷ lệ thuận với số lượng mã thông báo được đặt cọc. Trình xác thực có thể hoạt động và tham gia vào các quyết định đồng thuận. Tương tự, nếu một nút xác minh không có đủ mã thông báo đã cam kết hoặc bị xoay ra khỏi bộ trình xác thực hoặc ngoại tuyến khi đồng bộ hóa trạng thái chuỗi khối hoặc giao thức đồng thuận từ chối sự tham gia của nó vào sự đồng thuận do hiệu suất lịch sử kém, thì trình xác thực cũng có thể không hoạt động.
Máy khách là bất kỳ phần nào của hệ thống cần gửi giao dịch hoặc truy vấn trạng thái và lịch sử của chuỗi khối. Khách hàng có thể chọn tải xuống và xác minh dữ liệu đã được ký và xác minh bởi người xác thực. *Full Node* là ứng dụng khách sao chép các giao dịch và trạng thái chuỗi khối từ một nút xác thực hoặc các nút đầy đủ khác trong mạng. Họ có thể cắt bớt một số lịch sử giao dịch và hồ sơ trạng thái chuỗi khối khi cần thiết để lấy lại đủ dung lượng lưu trữ. Các máy khách nhẹ chỉ duy trì một tập hợp các nút xác thực hiện tại và có thể truy vấn một phần trạng thái chuỗi khối một cách an toàn từ các nút đầy đủ. Ví là ví dụ phổ biến của khách hàng nhẹ.
Để đáp ứng nhu cầu về cơ sở hạ tầng Web3 an toàn, nhanh chóng, đáng tin cậy và có thể mở rộng để áp dụng rộng rãi, chuỗi khối Aptos được xây dựng dựa trên các nguyên tắc thiết kế cốt lõi sau:
- Thông qua ngôn ngữ lập trình hợp đồng thông minh mới Move [5], việc thực thi logic trên chuỗi nhanh chóng và an toàn, cũng như khả năng kiểm toán và phân tích thủ tục đơn giản. Chuỗi khối Aptos kế thừa từ chuỗi khối Diem và tiếp tục phát triển Move.
- Thông lượng cực cao và độ trễ thấp đạt được thông qua các phương pháp xử lý giao dịch theo đợt, theo đường ống và song song.
- Không giống như công cụ thực thi song song hiện tại xác định trước dữ liệu sẽ được đọc/ghi và hủy bỏ tính nguyên tử của các giao dịch, chuỗi khối Aptos sử dụng sáng tạo công nghệ Block-STM làm công cụ thực thi song song, hỗ trợ hiệu quả tính nguyên tử của các giao dịch phức tạp tùy ý.
- Tối ưu hóa hiệu suất và quản trị phi tập trung thông qua việc luân chuyển trình xác thực nhanh, đặt cược và theo dõi danh tiếng của trình xác thực.
- Khả năng nâng cấp và khả năng cấu hình là những nguyên tắc thiết kế quan trọng nhất để cơ sở hạ tầng có thể tiếp nhận các trường hợp sử dụng mới và các công nghệ mới nhất.
- Đã vượt qua thử nghiệm cấp độ thành phần nghiêm ngặt như mô hình hóa mối đe dọa và thiết kế mô-đun để triển khai liền mạch, đảm bảo tính bảo mật và độ tin cậy cao của hoạt động.
- Đảm bảo khả năng mở rộng thông lượng ngang phi tập trung. Sharding, bắt nguồn từ mô hình chương trình và dữ liệu, là một khái niệm quan trọng trong quy mô ngang.
Chương 4 giải thích cách các nhà phát triển có thể tương tác với chuỗi khối Aptos thông qua ngôn ngữ Move. Chương 5 mô tả mô hình logic. Chương 6 nêu chi tiết cách chuỗi khối Aptos cho phép trải nghiệm người dùng an toàn thông qua các phương pháp xác minh mạnh mẽ. Chương 7 mô tả các đổi mới hiệu suất chính xung quanh đường ống, theo đợt và song song hóa. Chương 8 nêu chi tiết các tùy chọn khác nhau cho các loại máy khách khác nhau để đồng bộ hóa trạng thái với các nút khác. Chương 9 mô tả các kế hoạch của chúng tôi về quyền sở hữu và quản trị cộng đồng. Cuối cùng, Chương 10 thảo luận về các hướng thực hiện trong tương lai trong khi vẫn duy trì tính phi tập trung.
4. Di chuyển ngôn ngữ lập trình
Move là ngôn ngữ lập trình hợp đồng thông minh mới tập trung vào tính bảo mật và tính linh hoạt. Chuỗi khối Aptos sử dụng mô hình đối tượng của Move để thể hiện trạng thái sổ cái của nó (xem Phần 5.5) và sử dụng mã Move (mô-đun) để mã hóa các quy tắc chuyển đổi trạng thái. Các giao dịch do người dùng gửi có thể bao gồm xuất bản các mô-đun mới, nâng cấp các mô-đun hiện có, thực thi các chức năng giao diện được xác định trong các mô-đun và các tập lệnh có thể tương tác trực tiếp với giao diện chung của mô-đun.
Hệ sinh thái Move bao gồm trình biên dịch, máy ảo và nhiều công cụ phát triển khác. Move lấy cảm hứng từ ngôn ngữ lập trình Rust, ngôn ngữ này làm rõ quyền sở hữu dữ liệu thông qua các khái niệm như loại tuyến tính. Move nhấn mạnh sự khan hiếm, bảo toàn và kiểm soát truy cập tài nguyên. Mô-đun Move xác định vòng đời, chế độ lưu trữ và truy cập của từng tài nguyên. Điều này đảm bảo rằng các tài nguyên như Coin không thể được đúc nếu không có thông tin đăng nhập phù hợp, không thể được chi tiêu gấp đôi và không thể biến mất.
Ngay cả khi có mã không đáng tin cậy, Move vẫn có thể sử dụng các công cụ xác minh mã byte để đảm bảo an toàn cho loại và bộ nhớ. Để giúp viết mã đáng tin cậy hơn, Move bao gồm một trình xác minh loại, Move Prover [6], có thể xác minh tính chính xác về chức năng của các chương trình Move theo một đặc điểm kỹ thuật nhất định.Chức năng xác minh loại này đã được tích hợp vào ngôn ngữ Move.
Ngoài tài khoản người dùng và nội dung tài khoản tương ứng, trạng thái của sổ cái phân tán cũng chứa cấu hình trên chuỗi của chuỗi khối Aptos. Cấu hình mạng này bao gồm tập hợp các trình xác thực hiện đang hoạt động, các thuộc tính của cam kết và cấu hình của các dịch vụ khác nhau trong chuỗi khối Aptos. Move hỗ trợ khả năng nâng cấp mô-đun và khả năng lập trình đầy đủ cho phép thay đổi cấu hình liền mạch, cũng như hỗ trợ nâng cấp lên chính chuỗi khối Aptos (cả hai loại nâng cấp này đã được thực hiện nhiều lần trên mạng chính riêng và không có hồ sơ thời gian ngừng hoạt động).
Nhóm Aptos đã bổ sung thêm các tính năng Move để hỗ trợ nhiều trường hợp sử dụng Web3 hơn. Như được mô tả trong Phần 5.5 bên dưới, chuỗi khối Aptos cho phép kiểm soát tài nguyên chi tiết. Tính năng này không chỉ hỗ trợ đắc lực cho việc thực thi song song mà còn gần như khắc phục được chi phí truy cập và thay đổi dữ liệu. Ngoài ra, chuỗi khối Aptos cung cấp hỗ trợ bảng được xây dựng trên cơ sở lưu trữ chi tiết, cho phép các tập dữ liệu quy mô lớn (ví dụ: một tập hợp lớn các NFT) được triển khai trong một tài khoản. Đồng thời, Aptos hỗ trợ các tài khoản dùng chung hoặc tài khoản tự động được thể hiện đầy đủ trên chuỗi. Điều này cho phép các tổ chức tự trị phi tập trung phức tạp (DAO) chia sẻ tài khoản và sử dụng các tài khoản đó làm nơi chứa các bộ sưu tập tài nguyên không đồng nhất.
5. Mô hình logic
Trạng thái sổ cái của chuỗi khối Aptos đại diện cho trạng thái của tất cả các tài khoản trên chuỗi. Trạng thái sổ cái sử dụng số nguyên 64 bit không dấu để phân chia phiên bản, tương ứng với số lượng giao dịch được thực hiện bởi hệ thống hiện tại. Bất kỳ ai cũng có thể gửi giao dịch tới chuỗi khối Aptos để sửa đổi trạng thái của sổ cái. Sau khi giao dịch được thực hiện, một đầu ra giao dịch được tạo ra. Đầu ra của một giao dịch bao gồm 0 hoặc nhiều thao tác để điều khiển trạng thái sổ cái (được gọi là bộ ghi), một tập hợp các sự kiện (xem Phần 5.1.1), gas tiêu thụ và trạng thái của giao dịch được thực hiện.
5.1 Giao dịch
Một giao dịch đã ký chứa các thông tin sau:
- Trình xác thực giao dịch: Người gửi sử dụng trình xác thực giao dịch bao gồm một hoặc nhiều chữ ký điện tử để xác minh rằng giao dịch đã được xác thực.
- Địa chỉ người gửi: Địa chỉ tài khoản của người gửi.
- Tải trọng: Tải trọng đề cập đến một chức năng giao diện hiện có trên chuỗi hoặc chứa một chức năng (được gọi là tập lệnh) sẽ được thực thi dưới dạng mã byte nội tuyến. Ngoài ra, một tập hợp các tham số đầu vào được mã hóa trong một mảng byte. Đối với giao dịch ngang hàng, thông số đầu vào bao gồm thông tin người nhận và số tiền chuyển.
- Giá Gas (theo đơn vị tiền tệ/đơn vị Gas được chỉ định): Đây là số tiền trên mỗi đơn vị Gas mà người gửi sẵn sàng trả để thực hiện giao dịch. Phí gas đề cập đến việc thanh toán phí điện toán, mạng và lưu trữ. Gas là một đơn vị tính toán trừu tượng không có giá trị thực vốn có.
- Lượng gas tối đa: Lượng gas tối đa là số đơn vị gas tối đa được phép tiêu thụ trước khi giao dịch bị hủy bỏ. Ít nhất phải có số dư bằng đơn giá Gas nhân với số đơn vị Gas tối đa trong tài khoản, nếu không giao dịch sẽ bị chấm dứt trong quá trình xác minh.
- SequenceNumber: Số thứ tự của giao dịch. Số thứ tự trong giao dịch phải khớp với số thứ tự được lưu trong tài khoản của người gửi khi thực hiện giao dịch. Sau khi giao dịch được thực hiện thành công, số thứ tự tài khoản được tăng lên để ngăn chặn các cuộc tấn công lặp lại.
- Thời gian hết hạn: Dấu thời gian mà sau đó giao dịch sẽ không còn hiệu lực.
- ID chuỗi khối: Xác định tính hợp lệ của các giao dịch trong chuỗi khối, cung cấp cho người dùng sự bảo vệ hơn nữa chống lại các lỗi ký.
Tại mỗi phiên bản i, thay đổi trạng thái được biểu thị bằng một bộ (Ti, Oi, Si), tương ứng chứa giao dịch, đầu ra giao dịch và trạng thái sổ cái sau giao dịch. Đưa ra một chức năng xác định Áp dụng, thực hiện giao dịch Ti, trạng thái sổ cái Si-1, tạo đầu ra giao dịch Oi và trạng thái sổ cái mới Si. Tức là Áp dụng(Si-1*,Ti*) → 〈Oi,Si〉.
5.1.1 Sự kiện
Các sự kiện được phát ra trong quá trình thực hiện giao dịch. Mỗi mô-đun Move có thể xác định các sự kiện của riêng nó và chọn thời điểm phát ra chúng khi thực hiện. Ví dụ: trong quá trình chuyển tiền, tài khoản của người gửi và người nhận sẽ phát ra SentEvent và ReceivedEvent tương ứng. Dữ liệu sẽ được lưu trữ trong sổ cái và có thể được truy vấn thông qua các nút Aptos. Mỗi sự kiện đã đăng ký có một chỉ mục duy nhất có thể được sử dụng để truy vấn chi tiết sự kiện.
Nhiều sự kiện được phát ra cho cùng một chỉ mục sự kiện dẫn đến một luồng sự kiện, là danh sách các sự kiện với mỗi mục chứa một số, loại và dữ liệu tăng dần từ 0. Mỗi sự kiện phải được xác định với một số loại. Có thể có nhiều sự kiện khác nhau được xác định bởi cùng một loại hoặc tương tự nhau, đặc biệt là khi sử dụng thuốc generic. Sự kiện có dữ liệu liên quan. Nguyên tắc chung cho các nhà phát triển mô-đun Move là bao gồm tất cả dữ liệu cần thiết để hiểu các thay đổi tài nguyên cơ bản gây ra trước và sau khi thực hiện giao dịch, làm thay đổi dữ liệu và gửi các sự kiện.
Giao dịch chỉ có thể tạo sự kiện, không đọc chúng. Thiết kế này cho phép các giao dịch chỉ được thực hiện với trạng thái hiện tại và đầu vào của giao dịch hiện tại (chứ không phải thông tin lịch sử, ví dụ: các sự kiện được tạo trước đó).
5.2 Tài khoản
Mỗi tài khoản được xác định bởi một giá trị 256 bit duy nhất được gọi là địa chỉ tài khoản. Tạo một tài khoản mới ở trạng thái sổ cái (xem Phần 5.5), có thể tạo tài khoản này bằng cách gọi hàm create_account(addr) Move khi một tài khoản hiện có gửi một giao dịch. Điều này thường xảy ra khi một giao dịch cố gắng gửi mã thông báo Aptos đến một địa chỉ tài khoản chưa được tạo. Để thuận tiện, Aptos cũng hỗ trợ chức năng chuyển (từ, đến, số tiền), chức năng này sẽ tạo một tài khoản theo mặc định nếu nó không tồn tại trước khi chuyển.
Để tạo một tài khoản mới, trước tiên người dùng tạo một cặp khóa ký: (vk,sk). Tiếp theo, mã định danh lược đồ chữ ký (ssid) được ghép cùng với khóa công khai vk và địa chỉ tài khoản mới của lược đồ chữ ký cụ thể được lấy thông qua hàm băm được mã hóa H: addr=H(vk, ssid).
Sau khi tạo tài khoản mới tại địa chỉ addr, người dùng có thể ký các giao dịch được gửi từ tài khoản tại addr, sử dụng khóa riêng sk để ký. Người dùng cũng có thể xoay sk, chủ động thay đổi sk hoặc phản ứng với các rò rỉ khóa cá nhân có thể xảy ra. Thao tác thay đổi khóa riêng sẽ không làm thay đổi địa chỉ tài khoản, vì địa chỉ tài khoản chỉ được tạo từ khóa chung.
Chuỗi khối Aptos không liên kết tài khoản với danh tính trong thế giới thực. Người dùng có thể tạo nhiều tài khoản bằng cách tạo nhiều cặp khóa. Các tài khoản được kiểm soát bởi cùng một người dùng về bản chất không được liên kết với nhau.
Tuy nhiên, để dễ quản lý tài sản, một người dùng vẫn có thể quản lý nhiều tài khoản trong một ví. Tính linh hoạt này cung cấp cho người dùng tính ẩn danh và chúng tôi đang cố gắng sử dụng nhiều nguyên tắc bảo vệ quyền riêng tư hơn trong các phiên bản sau (nguyên bản bảo vệ quyền riêng tư). Như được mô tả trong Phần 7.4, nhiều tài khoản do một người dùng hoặc một nhóm người dùng sở hữu cũng cung cấp các phương thức để tăng khả năng thực thi đồng thời.
5.3 Di chuyển mô-đun
Một mô-đun Move chứa Move bytecode khai báo các kiểu dữ liệu (cấu trúc) và các thủ tục. Nó được xác định bởi địa chỉ của tài khoản khai báo mô-đun cùng với tên mô-đun. Ví dụ: mã định danh cho mô-đun tiền tệ đầu tiên trong Hình 2 là 0x1::coin. Một mô-đun có thể phụ thuộc vào các mô-đun khác trên chuỗi, như thể hiện trong mô-đun ví trong Hình 2 và mã của các mô-đun khác có thể được sử dụng lại.
Một mô-đun phải là duy nhất trong một tài khoản, nghĩa là tên mô-đun phải là duy nhất trong mỗi tài khoản. Ví dụ: tài khoản có địa chỉ 0x1 trong Hình 2 không thể yêu cầu một mô-đun khác có tên coin. Mặt khác, tài khoản tại địa chỉ 0x3 có thể khai báo một mô-đun có tên là coin và mã định danh của mô-đun này sẽ là 0x3:coin. Lưu ý rằng 0x1::coin::Coin và 0x3::coin::Coin là các loại khác nhau và không thể sử dụng thay thế cho nhau cũng như không chia sẻ mã mô-đun chung. Ngược lại, 0x1::coin::Coin và 0x1::coin::Coin> là các phiên bản khác nhau của cùng một loại chung và không thể sử dụng thay thế cho nhau, nhưng có thể chia sẻ mã mô-đun chung.
Các mô-đun dưới cùng một địa chỉ sẽ được hợp nhất thành cùng một *gói (gói)* Chủ sở hữu của địa chỉ này xuất bản toàn bộ gói trên chuỗi, bao gồm mã byte và siêu dữ liệu gói. Siêu dữ liệu gói xác định xem gói có thể nâng cấp hay không thay đổi. Đối với các gói phần mềm có thể nâng cấp, kiểm tra tính tương thích được thực hiện trước khi cho phép nâng cấp: không thể thay đổi các chức năng giao diện hiện có và không thể lưu trữ tài nguyên nào trong bộ nhớ. Tuy nhiên, các bản nâng cấp có thể thêm các chức năng và tài nguyên mới.
Khung Aptos bao gồm thư viện lõi và cấu hình của chuỗi khối Aptos, được định nghĩa là gói mô-đun có thể nâng cấp thường xuyên (xem Phần 9.2).
Hình 3: Ví dụ về dữ liệu trên chuỗi
5.4 Tài nguyên
Tương tự như các mô-đun, địa chỉ tài khoản cũng có thể có các giá trị dữ liệu được liên kết với chúng. Trong mỗi địa chỉ tài khoản, giá trị dữ liệu được xác định theo loại của nó và trong mỗi tài khoản, mỗi loại giá trị dữ liệu phải là duy nhất. Sử dụng Hình 3 làm ví dụ, địa chỉ 0x50 chứa một giá trị duy nhất, trong đó 0x3::coin::Coin là loại đủ điều kiện. 0x3 là địa chỉ của mô-đun Coin, Coin là tên của mô-đun và Coin là tên của loại dữ liệu. Các giá trị dữ liệu chung cũng có thể được sử dụng và các trường hợp chung khác nhau được coi là các loại khác nhau. Điều này rất quan trọng đối với khả năng mở rộng, cho phép các phiên bản khác nhau chia sẻ cùng một mã chức năng.
Các quy tắc để thay đổi, xóa và xuất bản một giá trị được mã hóa trong các mô-đun xác định loại dữ liệu. Các quy tắc xác thực và bảo mật của Move ngăn mã hoặc thực thể khác trực tiếp tạo, sửa đổi hoặc xóa các phiên bản của loại dữ liệu được xác định trong các mô-đun khác.
Có nhiều nhất một giá trị cấp cao nhất của mỗi loại trong một địa chỉ nghe có vẻ hạn chế. Tuy nhiên, đây không phải là vấn đề trong thực tế, bởi vì các nhà phát triển có thể tránh bất kỳ hạn chế nào bằng cách xác định các loại trình bao bọc khác nhau có cùng loại dữ liệu làm biến thành viên. Cấu trúc Ví (trong Hình 3) là một ví dụ về cách sử dụng các loại trình bao bọc.
Cũng cần lưu ý rằng không phải tất cả các loại dữ liệu đều có thể được lưu trữ trên chuỗi. Để một phiên bản dữ liệu đủ điều kiện làm giá trị cấp cao nhất, loại dữ liệu phải có khả năng Khóa. Ngoài ra, khả năng Lưu trữ là bắt buộc đối với các giá trị lồng nhau. Kiểu dữ liệu có hai khả năng còn được gọi là tài nguyên.
5.5 Tình trạng sổ cái
Từ quan điểm của Di chuyển máy ảo (Move VM), mỗi tài khoản bao gồm một tập hợp các giá trị và cấu trúc dữ liệu khóa-giá trị. Các cấu trúc dữ liệu này được gọi là các mục nhập và được lưu trữ ở định dạng Tuần tự hóa chuẩn hóa nhị phân (BCS). Thiết kế cấu trúc dữ liệu này cho phép các nhà phát triển viết các hợp đồng thông minh có thể được thực thi hiệu quả khi một lượng nhỏ dữ liệu được sao chép vào một số lượng lớn tài khoản; họ cũng có thể viết các hợp đồng thông minh có thể được thực thi hiệu quả khi một lượng lớn dữ liệu được tập trung vào một số ít tài khoản. Các mô-đun di chuyển được lưu trữ tương tự như dữ liệu tài khoản, nhưng dưới một không gian tên riêng. Trạng thái sổ cái Genesis xác định bộ tài khoản ban đầu và các trạng thái liên quan của chúng khi chuỗi khối được khởi tạo.
Khi ra mắt, chuỗi khối Aptos sẽ được đại diện bởi một trạng thái sổ cái duy nhất. Tuy nhiên, khi việc sử dụng lan rộng và công nghệ phát triển, Aptos sẽ mở rộng số lượng phân đoạn để tăng thông lượng (tức là kích hoạt nhiều trạng thái sổ cái) và hỗ trợ các giao dịch di chuyển hoặc truy cập tài sản trên các phân đoạn. Mỗi trạng thái sổ cái sẽ duy trì tất cả tài sản trên chuỗi của một phân đoạn cụ thể và cung cấp cùng một mô hình tài khoản, cũng như lưu trữ dữ liệu khóa-giá trị chi tiết, cung cấp chi phí gần như cố định cho việc truy cập bộ nhớ.
6. Trải nghiệm người dùng an toàn
Để tiếp cận hàng tỷ người dùng Internet, trải nghiệm người dùng của Web3 phải an toàn và thuận tiện. Trong phần này, chúng tôi sẽ mô tả một số đổi mới của chuỗi khối Aptos để đạt được mục tiêu này.
6.1 Bảo vệ tính khả thi của giao dịch
Ký một giao dịch có nghĩa là người ký ủy quyền cho chuỗi khối gửi và thực hiện giao dịch đó. Đôi khi người dùng ký giao dịch mà không cẩn thận hoặc nhận ra rằng họ đang bị thao túng. Để giảm rủi ro này, chuỗi khối Aptos đặt giới hạn về tính khả thi của giao dịch và bảo vệ người ký khỏi bị khóa trong các hoạt động xác nhận vô hạn. Hiện tại Aptos cung cấp ba biện pháp bảo vệ khác nhau: số sê-ri của người gửi, thời gian hết hạn giao dịch và ID chuỗi được chỉ định.
Số thứ tự của giao dịch chỉ có thể được gửi một lần cho mỗi tài khoản của người gửi. Do đó, nếu người gửi thấy rằng số thứ tự của tài khoản hiện tại ≥ số thứ tự của giao dịch t, thì t đã được thực hiện hoặc t sẽ không bao giờ được thực hiện (vì số thứ tự được sử dụng bởi t đã được thực hiện bởi một giao dịch khác).
Thời gian chuỗi khối được nâng cao với độ chính xác cao và tần suất cao (thường là dưới giây), xem Phần 7.3.1 để biết chi tiết. Nếu thời gian chuỗi khối vượt quá thời gian hết hạn của giao dịch t, thì một lần nữa, t đã được cam kết hoặc t sẽ không bao giờ được cam kết.
Mỗi giao dịch có một ID chuỗi được chỉ định để ngăn chặn các cuộc tấn công lặp lại của các thực thể độc hại giữa các môi trường chuỗi khối khác nhau (ví dụ: trên mạng thử nghiệm và mạng chính).
6.2 Quản lý khóa dựa trên di chuyển
Như đã đề cập trong Phần 5.2, tài khoản Aptos hỗ trợ xoay vòng khóa (xoay vòng khóa), đây là một tính năng quan trọng giúp giảm nguy cơ rò rỉ khóa riêng, tấn công từ xa và bẻ khóa các thuật toán mật mã hiện có trong tương lai. Ngoài ra, tài khoản Aptos đủ linh hoạt để hỗ trợ mô hình lưu ký kết hợp mới, trong đó người dùng có thể ủy quyền khả năng luân phiên khóa riêng tư của tài khoản cho một hoặc nhiều người giám sát và các thực thể đáng tin cậy khác. Sau đó, một chính sách được xác định thông qua mô-đun Move cho phép các thực thể đáng tin cậy này xoay khóa trong một số trường hợp nhất định. Ví dụ: một thực thể có thể là khóa đa chữ ký kout-of-n do nhiều bên đáng tin cậy nắm giữ, do đó cung cấp dịch vụ khôi phục khóa trong trường hợp khóa người dùng bị mất (ví dụ: 20% bitcoin hiện đang bị khóa trong tài khoản [7]) .
Ngoài ra, mặc dù nhiều ví cung cấp các sơ đồ khôi phục khóa khác nhau, chẳng hạn như khóa riêng được hỗ trợ bởi đám mây, tính toán của nhiều bên và khôi phục xã hội, nhưng các sơ đồ này không dựa trên triển khai chuỗi khối (tức là ngoại tuyến). Do đó, mỗi ví phải triển khai sơ đồ quản lý khóa của riêng mình và đối với người dùng, việc quản lý khóa trở thành một hộp đen. Ngược lại, chức năng quản lý khóa trong Aptos cung cấp hoạt động quản lý khóa hoàn chỉnh và minh bạch, đồng thời giúp giảm đáng kể khó khăn khi triển khai các giải pháp quản lý khóa ví.
6.3 Minh bạch giao dịch ký trước
Ngày nay, hầu hết các ví đều không rõ ràng đối với các giao dịch mà chúng ký kết. Do đó, người dùng thường bị lừa bởi các giao dịch ác ý, dẫn đến mất tiền và hàng loạt hậu quả nghiêm trọng. Ngay cả một blockchain có thể truy vấn dữ liệu của từng giao dịch trên chuỗi cũng không tránh khỏi sự mất mát này. Hiện tại có rất ít biện pháp bảo vệ người dùng, khiến người dùng phải đối mặt với nhiều cuộc tấn công khác nhau.
Để giải quyết vấn đề này, hệ sinh thái Aptos cung cấp dịch vụ thực hiện trước giao dịch: kết quả của giao dịch (ở dạng con người có thể đọc được) được cung cấp cho người dùng trước khi họ ký vào giao dịch đó. Aptos sẽ giúp giảm gian lận bằng cách kết hợp các dịch vụ thực hiện trước giao dịch với các cuộc tấn công đã biết trước đó và các hợp đồng thông minh độc hại. Ngoài ra, Aptos cho phép các ví áp đặt các hạn chế đối với các giao dịch trong quá trình thực hiện. Vi phạm các hạn chế này sẽ dẫn đến các giao dịch bị hủy bỏ để bảo vệ người dùng hơn nữa khỏi các ứng dụng độc hại hoặc các cuộc tấn công kỹ thuật xã hội.
6.4 Giao thức Light Client thực tế
Chỉ dựa vào chứng chỉ TLS/SSL của nhà cung cấp API để thiết lập sự tin cậy giữa máy khách và máy chủ chuỗi khối sẽ không bảo vệ máy khách một cách đầy đủ. Ngay cả khi chứng chỉ hợp lệ tồn tại, ví và khách hàng không thể đảm bảo tính xác thực và tính toàn vẹn của dữ liệu được cung cấp cho họ. Do đó, các nhà cung cấp API có thể trả lại dữ liệu chuỗi khối sai hoặc độc hại, đánh lừa các bên thứ ba và thực hiện các cuộc tấn công chi tiêu gấp đôi.
Hình 4: Tất cả các giai đoạn của vòng đời xử lý giao dịch là hoàn toàn độc lập và có thể được song song hóa
Để ngăn điều này xảy ra, Aptos cung cấp các giao thức xác minh bằng chứng trạng thái và ứng dụng khách nhẹ mà ví và khách hàng có thể sử dụng để xác minh tính hợp lệ của dữ liệu được cung cấp bởi các máy chủ bên thứ ba không đáng tin cậy. Ngoài ra, như được mô tả trong Phần 7.6.2, bằng cách sử dụng bằng chứng trạng thái dựa trên dấu thời gian, các ứng dụng khách nhẹ có thể theo dõi các thay đổi trong cấu hình mạng (*thay đổi kỷ nguyên)* hoặc đồng bộ hóa từ các nút hiện đang được tin cậy (*neo)* Cập nhật state [8], để giữ trạng thái tài khoản theo thời gian thực (ví dụ: trong vài giây). Với dấu thời gian tần số cao và bằng chứng trạng thái chi phí thấp, Aptos cung cấp dịch vụ an toàn cho khách hàng.
Ngoài ra, các nút Aptos cũng cung cấp nhiều giao diện lưu trữ hiệu suất cao. Sau khi tinh chỉnh thêm các giao diện này trong tương lai, chúng sẽ hỗ trợ bằng chứng về dữ liệu và tài khoản cụ thể trên chuỗi đăng ký. Điều này cho phép các máy khách nhẹ chỉ giữ lại dữ liệu có thể kiểm chứng tối thiểu trong tương lai mà không cần chạy một nút đầy đủ hoặc xử lý một số lượng lớn giao dịch.
7. Xử lý giao dịch hợp lý, hàng loạt và song song
Để tối đa hóa thông lượng, tăng tính đồng thời và giảm độ phức tạp về kỹ thuật, quy trình xử lý giao dịch của chuỗi khối Aptos được chia thành các giai đoạn khác nhau. Mỗi giai đoạn là hoàn toàn độc lập và có thể được song song hóa một cách độc lập, tương tự như các kiến trúc bộ xử lý siêu vô hướng hiện đại. Điều này không chỉ mang lại lợi ích đáng kể về hiệu suất mà còn cho phép chuỗi khối Aptos cung cấp các mô hình tương tác giữa trình xác nhận và ứng dụng khách mới. Ví dụ:
- Khách hàng được thông báo khi một giao dịch nhất định được đưa vào một lô giao dịch được lưu giữ. Các giao dịch đang bị tạm dừng và hợp lệ thường được thực hiện ngay lập tức.
- Khách hàng được thông báo khi một loạt các giao dịch dành riêng được đặt hàng. Do đó, để giảm độ trễ trong việc xác định kết quả thực thi của giao dịch, khách hàng có thể thực hiện giao dịch cục bộ thay vì chờ nút xác thực từ xa hoàn tất thực thi.
- Khách hàng có thể chọn đợi người xác minh thực hiện giao dịch đã xác thực, sau đó đồng bộ hóa trạng thái giao dịch đã hoàn thành (xem Phần 8).
Thiết kế mô-đun Aptos giúp tăng tốc độ phát triển và chu kỳ phát hành ngắn hơn, đồng thời nhà phát triển có thể tối ưu hóa từng mô-đun thay vì toàn bộ hệ thống. Tương tự, thiết kế mô-đun cung cấp một đường dẫn có cấu trúc để mở rộng trình xác thực, cho phép trình xác thực sử dụng tài nguyên máy tính, mạng và lưu trữ của nhiều máy. Hình 4 cho thấy các giai đoạn xử lý khác nhau của vòng đời xử lý giao dịch.
7.1 Xử lý hàng loạt
Batching là một tối ưu hóa hiệu quả quan trọng đối với mọi giai đoạn xử lý Aptos. Khi phát các giao dịch, trình xác thực nhóm các giao dịch thành các lô; trong giai đoạn đồng thuận, các lô được hợp nhất thành các khối. Các giai đoạn thực thi, lưu trữ và xác thực sổ cái cũng hoạt động theo lô, tạo cơ hội cho việc sắp xếp lại, giảm các hoạt động (chẳng hạn như tính toán kép hoặc xác minh chữ ký) và thực thi song song.
Các giao dịch theo lô có thể bị chậm trễ một chút, chẳng hạn như chờ 200 mili giây để một lô được lấp đầy trước khi truyền giao dịch. Tuy nhiên, thời gian chờ tối đa cho đợt và kích thước lô tối đa có thể định cấu hình, cho phép mạng phi tập trung tự động tối ưu hóa độ trễ và hiệu quả. Batching cho phép ưu tiên thị trường phí hiệu quả của các giao dịch đồng thời tránh các cuộc tấn công từ chối dịch vụ (DoS) của các máy khách độc hại.
7.2 Phát sóng giao dịch liên tục
Theo quan điểm chính của Narwhal & Tusk [9], sự lan truyền giao dịch và sự đồng thuận trong Aptos được tách rời. Trình xác thực liên tục chuyển các lô giao dịch cho nhau trong khi sử dụng tất cả các tài nguyên mạng có sẵn. Mỗi lô được phân phối bởi người xác minh v được duy trì và một bản tóm tắt lô đã ký được gửi lại cho v. Bất kỳ chữ ký có trọng số 2f + 1 nào trên thông báo lô sẽ tạo thành Bằng chứng về tính khả dụng (PoAv) theo các yêu cầu đồng thuận được xác định trong Mục 7.3. Bằng chứng như vậy (PoAv) đảm bảo rằng ít nhất f+1 trình xác thực trung thực có trọng số đã lưu trữ lô, vì vậy tất cả trình xác thực trung thực sẽ có thể truy xuất lô đó trước khi thực thi.
Các giao dịch đang chờ xử lý không giới hạn có thể tạo ra một cuộc tấn công DoS khiến các nút của trình xác thực hết dung lượng lưu trữ và gặp sự cố. Để ngăn chặn điều này, mỗi lô giao dịch có một dấu thời gian liên quan. Dấu thời gian trên lô cho phép trình xác thực thu gom rác hiệu quả. Ngoài ra, cơ chế hạn ngạch cho các nút trình xác nhận đơn lẻ cũng được thiết kế để đảm bảo rằng ngay cả trong những trường hợp cực đoan nhất (chẳng hạn như các cuộc tấn công Byzantine tiềm ẩn), không gian sẽ không bị cạn kiệt. Đồng thời, có giới hạn về lượng dữ liệu theo lô và Aptos sẽ xác minh kích thước dữ liệu trong bộ lưu trữ liên tục. Cuối cùng, thông qua một số tối ưu hóa cho bộ đệm giao dịch và làm sạch dữ liệu giao dịch dư thừa, không chỉ giảm chi phí lưu trữ mà còn đảm bảo tích hợp hiệu suất cao của các công cụ thực thi song song.
7.3 Phân loại siêu dữ liệu khối
Có một quan niệm sai lầm phổ biến rằng tốc độ đồng thuận chậm là nút cổ chai chính đối với thông lượng cao và độ trễ thấp của các chuỗi khối. Một trong những cải tiến quan trọng của chuỗi khối Aptos là tách rời các nhiệm vụ không liên quan đến giao thức khỏi giai đoạn đồng thuận, chẳng hạn như truyền bá giao dịch, thực hiện/lưu trữ giao dịch và xác thực sổ cái. Bằng cách tách riêng quá trình lan truyền giao dịch khỏi giai đoạn đồng thuận, việc đặt hàng có thể được thực hiện ở băng thông cực thấp (chỉ siêu dữ liệu khối và bằng chứng), dẫn đến thông lượng giao dịch cao và độ trễ tối thiểu.
Ngày nay, chuỗi khối Aptos sử dụng phiên bản mới nhất của DiemBFTv4 [10], một giao thức đồng thuận BFT đáp ứng một cách lạc quan. Thông thường, sự đồng thuận chỉ yêu cầu hai chuyến khứ hồi mạng (thời gian toàn bộ chuyến đi khứ hồi mạng thường dưới 300 mili giây) và các trình xác thực bất thường được điều chỉnh động thông qua cơ chế danh tiếng của nhà lãnh đạo [11]. Cơ chế danh tiếng của nhà lãnh đạo trên chuỗi sẽ thúc đẩy danh tiếng của những người xác thực đã gửi khối thành công trong "thời kỳ cửa sổ" và hạ cấp những người xác thực không tham gia. Cơ chế mới lạ này cải thiện đáng kể hiệu suất của các hệ thống phi tập trung, cung cấp các ưu đãi phù hợp cho các nút và giảm thiểu tác động của các trình xác thực không hoạt động đối với thông lượng và độ trễ.
DiemBFTv4 đảm bảo tính sống động dưới sự đồng bộ hóa một phần và bảo mật trong điều kiện không đồng bộ. Khi tổng cổ phần của người xác thực lớn hơn hoặc bằng 3f + 1, có thể có tối đa f người xác thực sai theo trọng số cổ phần. Kể từ năm 2019, DiemBFTv4 đã trải qua quá trình thử nghiệm rộng rãi với hàng chục nhà khai thác nút và hệ sinh thái đa ví trong nhiều lần lặp lại. Chúng tôi cũng đang thử nghiệm nghiên cứu gần đây của mình (ví dụ: Bullshark [12]) và các giao thức khác dựa trên lịch sử khối và các thông tin liên lạc có liên quan để xác định thứ tự và tính hữu hạn của siêu dữ liệu khối.
Các khối đồng thuận và dấu thời gian đề xuất được đề xuất bởi người lãnh đạo và được những người xác nhận khác đồng ý, như trong Hình 5. Điều quan trọng cần lưu ý là mỗi khối đồng thuận chỉ chứa siêu dữ liệu và bằng chứng của lô. Không có giao dịch thực tế nào được yêu cầu trong các khối đồng thuận, vì PoAV đảm bảo rằng các lô giao dịch có sẵn ở giai đoạn thực thi sau khi đặt hàng siêu dữ liệu khối (xem Phần 7.2). Người xác nhận có thể bỏ phiếu cho đề xuất của nhà lãnh đạo sau khi bằng chứng được xác minh và tiêu chí siêu dữ liệu khối được đáp ứng (ví dụ: dấu thời gian đề xuất không được vượt quá thời gian hết hạn khối).
7.3.1 Thời gian chuỗi khối
Chuỗi khối Aptos chỉ định mỗi khối được đề xuất và tất cả các giao dịch tương ứng trong khối đó là một dấu thời gian vật lý gần đúng, đã được thống nhất. Dấu thời gian này hỗ trợ một số trường hợp sử dụng quan trọng. Ví dụ:
- Logic liên quan đến thời gian trong hợp đồng thông minh. Ví dụ: một nhà phát triển muốn viết mã rằng tất cả giá thầu cho một cuộc đấu giá phải được nhận trước 12 giờ trưa ngày thứ Năm.
- Khi các nhà tiên tri xuất bản dữ liệu trên chuỗi, cần có dấu thời gian trên chuỗi chính xác và đáng tin cậy để tương quan các sự kiện và xử lý độ trễ từ dữ liệu trong thế giới thực.
- Khách hàng có thể cho biết mức độ cập nhật của họ trên chuỗi khối. Vì lý do bảo mật, để tránh dữ liệu cũ và các cuộc tấn công từ xa, khách hàng phải có quyền truy cập vào dấu thời gian có độ chính xác cao về thời điểm trạng thái tài khoản được cập nhật.
- Kiểm tra chuỗi khối bằng dấu thời gian đáng tin cậy có thể cung cấp mối tương quan chặt chẽ với các sự kiện ngoài chuỗi, chẳng hạn như đảm bảo rằng chi tiêu được thực thi hợp pháp như mong đợi.
- Hết hạn giao dịch dựa trên dấu thời gian cam kết gần đây nhất. Như một biện pháp bảo vệ bổ sung cho các giao dịch phía khách hàng, khách hàng có thể chọn thời gian hết hạn của giao dịch, như được mô tả trong Phần 6.1.
Chuỗi khối Aptos cung cấp các đảm bảo sau cho việc đánh dấu thời gian của tất cả các giao dịch trong một khối:
- Trong chuỗi khối, dấu thời gian đang tăng lên một cách đơn điệu. Giả sử khối B1
- Nếu dấu thời gian T của một khối giao dịch được xác nhận, thì ít nhất f + 1 người xác thực trung thực tin rằng thời điểm T đã trôi qua. Người xác minh trung thực chỉ có thể bỏ phiếu cho các khối khi đồng hồ của chính họ ≥ dấu thời gian khối T. Xem Phần 7.2.
- Nếu một khối giao dịch có một số chữ ký đồng thuận nhất định trên dấu thời gian T, thì trình xác minh trung thực sẽ
Dấu thời gian gần đây nhất được cập nhật trên mỗi khối đã cam kết và được sử dụng làm dấu thời gian cho tất cả các giao dịch trong khối đó. Khi mạng được đồng bộ hóa, một khối giao dịch được cam kết cho mỗi vòng quay của mạng, cung cấp các bản cập nhật nhanh và thời gian có độ tin cậy cao. Có thể xác định thứ tự chi tiết hơn trong các khối giao dịch nếu muốn.
7.4 Thực hiện giao dịch song song
Khi siêu dữ liệu khối đồng thuận được sắp xếp, bất kỳ nút xác thực, nút đầy đủ hoặc ứng dụng khách nào cũng có thể thực hiện giao dịch. Ít nhất 2f+1 trình xác nhận có trọng số có các giao dịch đang diễn ra có thể xác minh được trên lô được đề xuất. Vì quá trình lan truyền giao dịch diễn ra liên tục nên những người xác thực trung thực khác sẽ nhận được các đợt giao dịch theo thời gian. Nếu một nút của trình xác thực trung thực chưa nhận được lô giao dịch đã đặt hàng vào thời điểm nó đến giai đoạn thực thi, thì nút đó có thể tải chúng xuống từ các trình xác thực có trọng số cổ phần 2f+1, được biết là có ít nhất f+1 trình xác thực có trọng số cổ phần (không kém hơn một nửa số người ký PoAV có trọng số cổ phần) là trung thực.
Một mục tiêu quan trọng của chuỗi khối là đạt được càng nhiều xử lý song song càng tốt. Chuỗi khối Aptos bắt đầu từ hai khía cạnh của mô hình dữ liệu và công cụ thực thi.
7.4.1 Mô hình dữ liệu song song
Mô hình dữ liệu ngôn ngữ Move vốn hỗ trợ địa chỉ toàn cầu của dữ liệu và mô-đun. Các giao dịch với dữ liệu và tài khoản không chồng chéo và xung đột có thể được thực hiện song song. Với thiết kế đường ống được sử dụng trong Aptos, việc sắp xếp lại thứ tự các giao dịch có thể giảm xung đột và do đó cải thiện tính đồng thời.
Ngay cả khi các giao dịch sửa đổi cùng một bộ giá trị trên chuỗi, hầu hết các giao dịch vẫn có thể được thực hiện song song. Chuỗi khối Aptos giới thiệu một khái niệm mới, viết delta, mô tả các sửa đổi đối với trạng thái tài khoản thay vì trạng thái tài khoản đã sửa đổi (ví dụ: tăng một số nguyên thay vì chỉ xác định giá trị cuối cùng). Tất cả quá trình xử lý giao dịch có thể được thực hiện song song và sau đó, việc ghi delta vào các giá trị xung đột được thực hiện theo đúng thứ tự để đảm bảo kết quả xác định.
Theo thời gian, chuỗi khối Aptos sẽ tiếp tục nâng cao mô hình dữ liệu bằng cách tăng tính đồng thời (ví dụ: sử dụng gợi ý đọc/ghi) và cải thiện trải nghiệm của nhà phát triển, cho phép nhà phát triển tạo, sửa đổi và kết hợp các giá trị trên chuỗi một cách tự nhiên hơn. Move cung cấp tính linh hoạt cho các cải tiến tính năng dành riêng cho nền tảng và cấp độ ngôn ngữ.
7.4.2 Công cụ thực thi song song
Công cụ thực thi song song Block-STM phát hiện và quản lý xung đột của các giao dịch được đặt hàng trong khi thực hiện kiểm soát đồng thời tối ưu để đạt được tính song song tối đa theo một đơn đặt hàng cụ thể [13].
Các giao dịch hàng loạt được xử lý song song bằng cách sử dụng các khóa lạc quan và được xác minh sau khi thực hiện. Lỗi xác thực sẽ dẫn đến việc thực thi lại. Block-STM sử dụng cấu trúc dữ liệu đa phiên bản để tránh xung đột ghi-ghi. Tất cả các lần ghi vào cùng một vị trí được lưu trữ cùng với phiên bản của chúng, phiên bản này chứa ID của chúng và số lần chúng được thử lại một cách lạc quan. Khi giao dịch tx đọc dữ liệu bộ nhớ, nó sẽ lấy giao dịch có chiều cao khối cao nhất xuất hiện trước tx từ cấu trúc dữ liệu nhiều phiên bản theo thứ tự đặt trước và ghi giá trị của giao dịch cũng như phiên bản liên quan của nó.
Block-STM đã được tích hợp vào chuỗi khối Aptos Để hiểu tiềm năng hiệu suất của Block-STM, chúng tôi sử dụng cơ sở dữ liệu trong bộ nhớ, với các giao dịch Di chuyển điểm tới điểm (không tầm thường) có ý nghĩa (ví dụ: 8 lần đọc và 5 lần ghi ) dưới dạng điểm chuẩn độc lập, chỉ thực thi (không phải đầu cuối). Trong Hình 6, chúng tôi hiển thị kết quả thực thi của Block-STM. Mỗi khối chứa 10.000 giao dịch và số lượng tài khoản xác định mức độ xung đột và tranh chấp.
Ở mức độ cạnh tranh thấp, TPS của Block-STM gấp 16 lần so với thực thi tuyến tính 32 luồng và ở mức độ cạnh tranh cao, TPS của Block-STM cũng tăng gấp 8 lần. Không giống như các công cụ thực thi song song chuỗi khối khác, Block-STM có thể nắm bắt tính song song nội tại của bất kỳ khối lượng công việc nào một cách linh hoạt và minh bạch (không cần người dùng nhắc nhở). BlockSTM có thể đồng thời hỗ trợ các giao dịch phức tạp hơn so với các môi trường thực thi song song đòi hỏi kiến thức trước về vị trí của dữ liệu sẽ được đọc hoặc ghi. Thuộc tính này dẫn đến giao dịch ít hơn nhưng hiệu quả hơn, giảm chi phí và cung cấp độ trễ thấp hơn cho người dùng. Quan trọng hơn, việc chia nhỏ mọi thứ thành nhiều giao dịch nhỏ sẽ phá vỡ tính nguyên tử của giao dịch (tất cả các hoạt động là không thể chia cắt, tất cả các hoạt động thành công hoặc tất cả đều thất bại). Kết hợp ngữ nghĩa giao dịch rõ ràng với thực thi song song trong Block-STM cho phép các nhà phát triển có được những điều tốt nhất của cả hai thế giới.
Lưu ý rằng bước đặt hàng siêu dữ liệu khối không loại trừ việc sắp xếp lại giao dịch trong giai đoạn thực hiện song song. Để tối ưu hóa hiệu suất đồng thời để thực hiện song song, các giao dịch có thể được sắp xếp lại trên các khối. Yêu cầu duy nhất là việc sắp xếp lại tất cả các trình xác nhận trung thực phải không thể đảo ngược. Việc tối ưu hóa thực thi song song và thêm tính năng ngẫu nhiên vào sắp xếp lại có thể cải thiện hiệu suất và có khả năng ngăn công nghệ giá trị có thể trích xuất (MEV) của công cụ khai thác khỏi bị sắp xếp lại bởi các giao dịch của trình xác thực với động cơ thầm kín. Trong thiết kế đường ống này, một chiến lược chống MEV là "đặt hàng rồi tiết lộ" (Order-then-reveal) cũng có thể được thêm vào.
Block-STM và sắp xếp lại giao dịch là các kỹ thuật bổ sung để tăng khả năng thực thi đồng thời. Chúng có thể được kết hợp với các gợi ý truy cập đọc/ghi giao dịch để có thêm tính đồng thời.
7.5 Lưu trữ số lượng lớn
Kết quả của giai đoạn thực hiện song song là tập ghi của tất cả các giao dịch trong nhóm. Các bộ ghi này có thể được lưu trữ trong bộ nhớ để có tốc độ thực thi tối đa và sau đó được sử dụng làm bộ đệm cho khối hoặc tập hợp các khối tiếp theo sẽ được thực thi. Mọi thao tác ghi chồng chéo chỉ cần được ghi vào bộ lưu trữ ổn định một lần. Nếu trình xác thực không thành công trước khi lưu trữ bộ ghi trong bộ nhớ, thì nó có thể chỉ cần tiếp tục thực thi song song từ giai đoạn đặt hàng siêu dữ liệu khối. Việc tách bộ lưu trữ số lượng lớn các tập ghi khỏi bước thực thi song song đảm bảo rằng quá trình thực thi song song có thể chạy hiệu quả. Tóm lại, các bộ ghi theo lô giúp giảm số lượng thao tác lưu trữ và tận dụng các thao tác I/O lớn hơn, hiệu quả hơn.
Dung lượng bộ nhớ dành riêng cho bộ nhớ đệm ghi có thể được định cấu hình thủ công trên cơ sở từng máy và cung cấp cơ chế áp suất ngược tự nhiên. Mức độ chi tiết của quá trình xử lý hàng loạt có thể khác với mức độ chi tiết của các khối thực thi song song nếu cần điều chỉnh cho các môi trường bộ nhớ và I/O cụ thể.
7.6 Xác thực sổ cái
Tại thời điểm này (lưu trữ theo lô), mỗi trình xác thực riêng lẻ trên đường ống đã tính toán trạng thái mới cho khối giao dịch đã cam kết. Tuy nhiên, để hỗ trợ hiệu quả các ứng dụng khách nhẹ được xác thực và đồng bộ hóa trạng thái, chuỗi khối Aptos triển khai xác thực sổ cái cho lịch sử sổ cái và trạng thái sổ cái. Một điểm khác biệt chính với chuỗi khối Aptos là xác thực sổ cái không nằm trong lộ trình xử lý giao dịch quan trọng và thậm chí có thể chạy hoàn toàn ngoài tầm kiểm soát nếu muốn.
7.6.1 Xác minh lịch sử tài khoản
Trình xác thực nối các giao dịch, cùng với đầu ra thực thi của chúng, vào cấu trúc dữ liệu sổ cái được xác thực toàn cầu. Một phần của đầu ra giao dịch là tập hợp các trạng thái ghi, bao gồm các thay đổi được thực hiện đối với trạng thái chung mà Move có thể truy cập. Trình xác thực ngắn cho cấu trúc dữ liệu này là một cam kết ràng buộc đối với lịch sử sổ cái, bao gồm một lô giao dịch mới được thực hiện. Tương tự như thực hiện giao dịch, việc tạo cấu trúc dữ liệu này là xác định.
Mỗi người xác minh ký vào trình xác thực ngắn vào phiên bản mới của cơ sở dữ liệu. Những người xác thực chia sẻ với nhau bộ xác thực ngắn hạn đã ký gần đây nhất của họ, tổng hợp chung những người xác nhận ngắn có đủ số đại biểu ký và cũng chia sẻ với nhau những trình xác thực ngắn có số đại biểu ký gần đây nhất.
Theo các thuộc tính của giao thức BFT, sử dụng chữ ký tập thể này, khách hàng có thể tin tưởng rằng phiên bản cơ sở dữ liệu đại diện cho lịch sử sổ cái hoàn chỉnh, hợp lệ và không thể đảo ngược. Khách hàng có thể truy vấn bất kỳ trình xác thực nào (hoặc bất kỳ bản sao cơ sở dữ liệu của bên thứ ba nào, chẳng hạn như nút đầy đủ) để đọc các giá trị cơ sở dữ liệu và sử dụng trình xác thực cũng như bằng chứng về dữ liệu được yêu cầu để xác minh kết quả.
7.6.2 Chứng nhận trạng thái định kỳ
Toàn bộ trạng thái toàn cầu có thể truy cập bằng ngôn ngữ Move có thể được tổng hợp tại bất kỳ thời điểm nào trong lịch sử thành một trình xác thực ngắn, tương tự như bản tóm tắt lịch sử của sổ cái. Do tính chất truy cập ngẫu nhiên của trạng thái toàn cầu (không giống như lịch sử sổ cái chỉ có phụ lục), việc duy trì chứng nhận này rất tốn kém. Tuy nhiên, khi cập nhật cấu trúc dữ liệu theo lô lớn, chúng ta có thể tính toán các bản cập nhật song song và cũng tận dụng bất kỳ sự trùng lặp nào giữa các phần phải được cập nhật khi từng giá trị trạng thái riêng lẻ thay đổi. Chuỗi khối Aptos sử dụng có ý thức xác thực định kỳ trạng thái toàn cầu để giảm các bản cập nhật được chia sẻ trùng lặp.
Trong một khoảng thời gian xác định và có thể định cấu hình, mạng xuất bản các giao dịch điểm đối chiếu trạng thái, phần kết quả của giao dịch này bao gồm trình xác thực trạng thái toàn cầu. Phiên bản này được gọi là trạm kiểm soát trạng thái. Khoảng cách giữa hai điểm đối chiếu càng lớn thì chi phí khấu hao của việc cập nhật cấu trúc dữ liệu xác thực trạng thái với mỗi giao dịch càng thấp.
Với một điểm đối chiếu trạng thái, mọi người có thể đọc bất kỳ giá trị trạng thái nào theo cách không tin cậy mà không cần lưu trữ tất cả trạng thái chung. Khả năng này hoạt động tốt cho các ứng dụng như đồng bộ hóa trạng thái gia tăng, lưu trữ phân đoạn trên các nút trình xác thực, nút trình xác thực không trạng thái và ứng dụng khách nhẹ bị giới hạn lưu trữ.
Tuy nhiên, vì các điểm kiểm tra trạng thái là định kỳ, nên việc lấy bằng chứng về một phiên bản cụ thể của trạng thái sổ cái yêu cầu thực hiện luân phiên các giao dịch bổ sung cho các trạng thái bị thiếu hoặc lấy bằng chứng chứa chúng từ lịch sử sổ cái đã được xác minh.
Các điểm kiểm tra trạng thái được liên kết với các phiên bản giao dịch cụ thể trong lịch sử sổ cái và do đó được gắn với các dấu thời gian liên quan đến các đợt giao dịch được đề cập trong Phần 7. Dấu thời gian cho phép khách hàng nhẹ hiểu tính kịp thời của các giá trị trạng thái đã được chứng minh. Trong trường hợp không có dấu thời gian, các bằng chứng về ứng dụng khách nhẹ chỉ có thể đảm bảo tính hợp lệ của các trạng thái trước đó từ rất lâu trước đây, điều này mang lại rất ít sự đảm bảo về tính kết hợp. Ngoài ra, dấu thời gian của bằng chứng trạng thái là cần thiết để theo dõi truy cập và kiểm tra lịch sử (ví dụ: tính số dư trung bình hàng giờ của mã thông báo trong kho dự trữ mã thông báo).
Các điểm kiểm tra trạng thái có thể được tạo dựa trên các điểm kiểm tra trạng thái trước đó và các thay đổi trạng thái tiếp theo trong kết quả giao dịch. Do đó, việc duy trì các điểm kiểm tra trạng thái để lưu trữ ổn định không cần phải nằm trên đường xử lý giao dịch quan trọng. Ngoài ra, việc duy trì các điểm xác minh trạng thái cũng có tác dụng xử lý hàng loạt có lợi. Lưu vào bộ nhớ đệm các điểm kiểm tra trạng thái gần đây nhất (hay đúng hơn là vùng đồng bằng giữa chúng) trong bộ nhớ và chỉ kết xuất các điểm kiểm tra trạng thái định kỳ vào bộ lưu trữ ổn định, có thể giảm đáng kể mức tiêu thụ băng thông lưu trữ. Việc lựa chọn cách giữ lại các điểm kiểm tra không ảnh hưởng đến việc tính toán các cấu trúc dữ liệu đã được xác minh. Do đó, đây là một lựa chọn cho mỗi nút: người vận hành nút có thể thực hiện sự đánh đổi phù hợp giữa dung lượng bộ nhớ và băng thông lưu trữ.
8. Đồng bộ hóa trạng thái
Chuỗi khối Aptos nhằm mục đích cung cấp một hệ thống có thông lượng cao, độ trễ thấp cho tất cả những người tham gia trong hệ sinh thái. Do đó, chuỗi khối phải cung cấp một giao thức đồng bộ hóa trạng thái hiệu quả để truyền bá, xác minh và duy trì dữ liệu chuỗi khối cho các ứng dụng khách nhẹ, các nút đầy đủ và các nút xác minh [14]. Ngoài ra, xem xét các tài nguyên phần cứng khác nhau của người dùng, giao thức đồng bộ hóa cũng phải tương thích với các giới hạn tài nguyên và sự khác biệt đang tồn tại trong mạng. Ví dụ: nó phải cho phép các nút đầy đủ lưu trữ xác minh và lưu trữ toàn bộ trạng thái và lịch sử chuỗi khối, đồng thời cho phép các ứng dụng khách nhẹ chỉ truy cập hiệu quả một phần nhỏ của trạng thái chuỗi khối.
Để đạt được tính năng này, chuỗi khối Aptos sử dụng lịch sử sổ cái được chứng nhận và bằng chứng trạng thái được cung cấp bởi trình xác nhận, nút đầy đủ và các trình đồng bộ hóa khác (xem Phần 7.6.1) để triển khai giao thức đồng bộ hóa linh hoạt và có thể định cấu hình. Cụ thể, những người tham gia mạng có thể chọn các chiến lược đồng bộ hóa khác nhau để tối ưu hóa các trường hợp sử dụng và nhu cầu của riêng họ.
Ví dụ: Aptos cung cấp nhiều chiến lược đồng bộ hóa cho các nút đầy đủ, bao gồm chiến lược đồng bộ hóa đầy đủ; và chiến lược bỏ qua các bản ghi lịch sử và sử dụng các neo để chỉ đồng bộ hóa trạng thái chuỗi khối mới nhất. Aptos cung cấp nhiều chiến lược đồng bộ hóa cho các máy khách nhẹ, bao gồm chiến lược đồng bộ hóa một phần có thể đồng bộ hóa các tài khoản hoặc dữ liệu cụ thể; và chiến lược nhận dữ liệu đã xác minh có thể nhận số dư tài khoản đã xác minh. Trong mọi trường hợp, Aptos cho phép người tham gia thu nhận, xử lý và lưu trữ số lượng và phiên bản cụ thể của dữ liệu thông qua các cấu hình cấu hình.
Thông qua giao thức đồng bộ hóa trạng thái linh hoạt và có thể định cấu hình này, Aptos có thể đáp ứng nhu cầu của nhiều khách hàng khác nhau và cung cấp các chiến lược đồng bộ hóa tiên tiến và hiệu quả hơn trong tương lai.
9. Quản trị cộng đồng
Chuỗi khối Aptos sẽ được sở hữu, vận hành và quản lý bởi một cộng đồng rộng lớn và đa dạng. Mã thông báo Aptos gốc sẽ được sử dụng cho phí giao dịch và mạng, nâng cấp giao thức và bỏ phiếu quản trị cho các quy trình trên chuỗi/ngoài chuỗi, cũng như bảo mật chuỗi khối thông qua mô hình bằng chứng cổ phần (PoS). Mô hình kinh tế cụ thể của mã thông báo Aptos sẽ được phát hành sau.
9.1 Phí giao dịch và mạng lưới
Tất cả các giao dịch Aptos đều có đơn giá phí (được chỉ định trong mã thông báo Aptos), cho phép người xác thực ưu tiên các giao dịch có giá trị cao nhất trong mạng. Ngoài ra, ở mỗi giai đoạn của mô hình đường ống, có nhiều cơ hội để từ bỏ các giao dịch có giá trị thấp (càng xa càng tốt để đảm bảo rằng chuỗi khối vẫn có thể chạy hiệu quả với công suất tối đa của hệ thống). Theo thời gian, việc triển khai tính phí sẽ đảm bảo rằng chi phí sử dụng chuỗi khối Aptos tỷ lệ thuận với chi phí thực tế của việc triển khai, bảo trì và vận hành nút phần cứng. Ngoài ra, các ứng dụng do nhà phát triển thiết kế có thể thực hiện sự đánh đổi giữa tính toán, lưu trữ và kết nối mạng theo các chi phí khác nhau.
9.2 Quản trị mạng
Mỗi lần lặp lại và tối ưu hóa tính năng chính trên chuỗi khối Aptos sẽ trải qua nhiều giai đoạn, bao gồm đề xuất, triển khai, thử nghiệm và triển khai. Cấu trúc này tạo cơ hội cho các bên quan tâm và các bên liên quan đưa ra phản hồi, chia sẻ mối quan tâm và đưa ra đề xuất. Là giai đoạn cuối cùng, việc triển khai thường được thực hiện theo hai bước. Đầu tiên, một phiên bản phần mềm có tính năng mới sẽ được triển khai cho từng nút và thứ hai, tính năng này sẽ được bật, chẳng hạn như thông qua cờ tính năng hoặc biến cấu hình trên chuỗi.
Mọi triển khai phần mềm của các nhà khai thác nút phải tương thích ngược để đảm bảo rằng phần mềm mới có thể tương thích với các phiên bản được hỗ trợ. Quá trình triển khai phiên bản phần mềm mới có thể mất vài ngày do các nhà khai thác ở các múi giờ khác nhau và bất kỳ vấn đề bên ngoài nào. Khi đủ số lượng nút đã được nâng cấp, việc kích hoạt các tính năng mới có thể được kích hoạt bởi một điểm đồng bộ hóa, chẳng hạn như chiều cao khối được thỏa thuận trước hoặc chuyển đổi kỷ nguyên. Trong các tình huống khẩn cấp (ví dụ: khi thời gian ngừng hoạt động là không thể tránh khỏi), việc khởi động lại có thể được kích hoạt thông qua các thay đổi thủ công và bắt buộc của người vận hành nút và trong trường hợp xấu nhất được kích hoạt bởi các nhánh cứng trong mạng.
Trái ngược với các chuỗi khối khác, chuỗi khối Aptos mã hóa cấu hình của nó trên chuỗi. Mỗi trình xác thực có thể đồng bộ hóa với trạng thái hiện tại của chuỗi khối và tự động chọn cấu hình chính xác (ví dụ: giao thức đồng thuận và phiên bản khung Aptos) dựa trên các giá trị trên chuỗi hiện tại. Dựa trên chức năng này, các nâng cấp trong chuỗi khối Aptos diễn ra liền mạch và tức thì.
Để cho phép tính linh hoạt và khả năng cấu hình trong quá trình kích hoạt, chuỗi khối Aptos sẽ hỗ trợ quản trị trên chuỗi nơi chủ sở hữu mã thông báo có thể bỏ phiếu dựa trên trọng số của mã thông báo đã đặt cọc của họ. Các giao thức bỏ phiếu trên chuỗi là công khai, có thể kiểm chứng và có thể ngay lập tức. Quản trị trên chuỗi cũng cho phép các kết quả phi nhị phân mà không cần triển khai phần mềm. Ví dụ: các tham số giao thức bầu chọn người lãnh đạo trên chuỗi có thể được sửa đổi thông qua quản trị trên chuỗi, trong khi các điểm đồng bộ hóa đã biết trước không thể xử lý sửa đổi động, bởi vì tất cả các thay đổi phải được biết trước.
Quản trị trên chuỗi có thể được triển khai trong suốt quá trình quản lý nâng cấp theo thời gian. Ví dụ:
1. Chủ sở hữu mã thông báo bỏ phiếu trên chuỗi để chuyển sang sơ đồ chữ ký kháng lượng tử mới
2. Nhà phát triển triển khai và xác minh kế hoạch chữ ký mới và tạo phiên bản phần mềm mới.
3. Trình xác thực nâng cấp phần mềm của họ lên phiên bản mới hơn.
4. Chủ sở hữu mã thông báo bỏ phiếu trên chuỗi để kích hoạt sơ đồ chữ ký mới, cấu hình trên chuỗi được cập nhật và các thay đổi có hiệu lực.
Là một dự án nguồn mở, việc quản trị chuỗi khối Aptos chủ yếu dựa vào phản hồi mạnh mẽ của cộng đồng và quản trị trên chuỗi. Trong một số trường hợp, vẫn có thể cần kích hoạt nâng cấp ngoài chuỗi, nhưng điều này sẽ được giảm thiểu theo thời gian.
9.3 Đồng thuận bằng chứng cam kết cổ phần
Để tham gia xác thực giao dịch trên chuỗi khối Aptos, người xác thực phải có cổ phần tối thiểu bằng mã thông báo Aptos. Trong quá trình bầu chọn người dẫn đầu trong quá trình lan truyền giao dịch, trọng số biểu quyết và thứ tự siêu dữ liệu khối, số tiền đặt cược ảnh hưởng đến trọng lượng cổ phần 2f + 1 PoAv theo tỷ lệ. Người xác nhận quyết định phân phối phần thưởng giữa họ và những người đặt cược tương ứng của họ. Người đặt cược có thể chọn bất kỳ số lượng trình xác nhận nào để đặt cược mã thông báo của họ để phân phối phần thưởng đã thỏa thuận trước. Vào cuối mỗi kỷ nguyên, người xác thực và người đặt cược tương ứng của họ sẽ được thưởng thông qua mô-đun Di chuyển trên chuỗi được liên kết.
Bất kỳ trình xác thực nào có đủ tài sản thế chấp đều được miễn phí tham gia chuỗi khối Aptos. Tất cả các tham số, bao gồm giá trị cổ phần bắt buộc tối thiểu, có thể được thiết lập bởi trình kích hoạt trên chuỗi được mô tả trong Phần 9.2.
10. Hiệu suất
Như được mô tả trong Phần 7, chuỗi khối Aptos có thể đạt được thông lượng tối ưu và hiệu quả phần cứng thông qua quy trình xử lý giao dịch theo mô-đun, được tối ưu hóa theo lô và song song. Các sáng kiến hiệu suất bổ sung như nâng cấp đồng thuận, ghi chậm, gợi ý giao dịch và bộ nhớ đệm đường dẫn quan trọng sẽ tiếp tục tăng thông lượng và cải thiện hiệu quả theo thời gian.
Ngày nay, thông lượng chuỗi khối thường được đo bằng giao dịch mỗi giây. Tuy nhiên, đây là một cách không chính xác để so sánh các hệ thống với các mức độ phức tạp và chi phí giao dịch, cơ sở hạ tầng khác nhau. Sự chậm trễ của giao dịch cũng có sai sót, vì các cam kết về thời hạn bắt đầu và kết thúc khác nhau trong các thử nghiệm khác nhau.
Ngoài ra, một số hệ thống yêu cầu kiến thức trước về đầu vào và đầu ra của giao dịch và buộc các giao dịch hợp lý phải được chia thành các giao dịch nhỏ hơn, ít phức tạp hơn. Việc chia nhỏ các giao dịch dẫn đến trải nghiệm người dùng kém và ảnh hưởng đến độ trễ và thông lượng một cách giả tạo, bỏ qua những gì nhà phát triển đang cố gắng đạt được. Ngược lại, cách tiếp cận của Aptos cho phép các nhà phát triển tự do không giới hạn để xây dựng và đo lường thông lượng cũng như độ trễ đối với các trường hợp sử dụng trong thế giới thực thay vì các giao dịch tổng hợp.
Aptos Blockchain sẽ tiếp tục tối ưu hóa hiệu suất của các trình xác nhận riêng lẻ, cũng như thử nghiệm các kỹ thuật mở rộng quy mô để bổ sung thêm nhiều trình xác nhận vào mạng. Có sự đánh đổi rõ ràng theo cả hai hướng. Bất kỳ chuỗi khối nào có khả năng thực thi song song đều có thể hỗ trợ đồng thời lớn hơn bằng cách yêu cầu phần cứng mạnh hơn hoặc thậm chí xây dựng mỗi trình xác nhận thành một cụm máy riêng biệt. Tuy nhiên, có một giới hạn thực tế đối với số lượng trình xác thực toàn cầu, tương ứng với chi phí và độ phức tạp của các toán tử trình xác thực. Sự gia tăng và phổ biến của cơ sở dữ liệu không có máy chủ trong các dịch vụ đám mây đã minh họa rằng có rất ít thực thể có khả năng triển khai và duy trì hiệu quả các loại hệ thống phân tán phức tạp này.
10.1 Bảo vệ trạng thái đồng nhất
Ban đầu, chuỗi khối Aptos sẽ khởi chạy với một trạng thái sổ cái duy nhất. Theo thời gian, mạng Aptos sẽ có một cách tiếp cận độc đáo đối với khả năng mở rộng theo chiều ngang trong khi vẫn duy trì tính phi tập trung. Điều này sẽ đạt được thông qua trạng thái của nhiều sổ cái được phân tách, mỗi sổ cái cung cấp một API đồng nhất và sử dụng phân đoạn như một khái niệm chính. Mã thông báo Aptos sẽ được sử dụng cho phí giao dịch, tiền gửi và quản trị của tất cả các phân đoạn.
Dữ liệu có thể được truyền giữa các phân đoạn thông qua các cầu nối đồng nhất. Người dùng và nhà phát triển có thể chọn sơ đồ sharding của riêng họ theo nhu cầu của họ. Ví dụ: nhà phát triển có thể đề xuất một phân đoạn mới hoặc nhóm người dùng trong một phân đoạn hiện có để đạt được khả năng kết nối cao trong một phân đoạn. Ngoài ra, các phân đoạn có thể có các đặc điểm hệ thống khác nhau. Một phân đoạn có thể được tối ưu hóa để tính toán bằng SSD và phân đoạn còn lại có thể được tối ưu hóa cho bộ nhớ lớn hiệu suất thấp. Bằng cách cung cấp tính linh hoạt của phần cứng giữa các phân đoạn khác nhau, nhà phát triển có thể tối đa hóa việc sử dụng tài nguyên hệ thống cho các ứng dụng của họ.
Tóm lại, phân đoạn trạng thái đồng nhất mang lại khả năng mở rộng quy mô thông lượng theo chiều ngang, cho phép các nhà phát triển lập trình với một trạng thái chung duy nhất trên các phân đoạn và cho phép ví dễ dàng kết hợp dữ liệu phân đoạn cho người dùng của họ. Điều này mang lại lợi thế hiệu suất đáng kể, kết hợp với sự đơn giản của nền tảng hợp đồng thông minh Move thống nhất.
Người giới thiệu
- "Aptos-core," 2022.
Tài liệu trực tuyến. Có sẵn tại: https://github.com/aptos-labs/aptos-core - "Di chuyển," 2022.
Tài liệu trực tuyến. Có sẵn tại: https://github.com/move-language/move - Matsuoka, C. Dixon, E. Lazzarin và R. Hackett. (2022) Trình bày báo cáo Tình trạng mã hóa 2022. Tài liệu trực tuyến. Có sẵn tại: https://a16z.com/tag/state-crypto-2022/
- Amsden, R. Arora, S. Bano, M. Baudet, S. Blackshear, A. Bothra, G. Cabrera, C. Catalini, K. Chalkias, Cheng, A. Ching, A. Chursin, G. Danezis, GD Giacomo , DL Dill, H. Ding, N. Doudchenko, Gao, Z. Gao, F. Garillot, M. Gorven, P. Hayes, JM Hou, Y. Hu, K. Hurley, K. Lewi, C. Li, Z . Li, Malkhi, S. Margulis, B. Maurer, P. Mohassel, L. de Naurois, V. Nikolaenko, T. Nowacki, O. Orlov, Perelman, A. Pot, B. Proctor, S. Qadeer, Rain, D. Russi, B. Schwab, S. Sezer, A. Sonnino, H. Venter, L. Wei, N. Wernerfelt, B. Williams, Q. Wu, X. Yan, T. Zakian và R. Zhou, “libra Chuỗi khối," 2019.
Tài liệu trực tuyến. Có tại: https://developers.diem.com/papers/the-diem-blockchain/2020-05-26.pdf - Blackshear, E. Cheng, DL Dill, V. Gao, B. Maurer, T. Nowacki, A. Pott, S. Qadeer, DR Rain, S. Sezer, T. Zakian, và R. Zhou, “Move: A The Ngôn ngữ của tài nguyên có thể lập trình," 2019.
[Trực tuyến]. Có tại: https://developers.diem.com/papers/diem-move-a-language-with-programmableresources/2019-06-18.pdf - Dill, W. Grieskamp, J. Park, S. Qadeer, M. Xu và E. Zhong, "Xác minh chính thức nhanh chóng và đáng tin cậy các hợp đồng thông minh bằng Trình xác thực Move", được xuất bản trong Công cụ và thuật toán để xây dựng và phân tích of Systems, D. Fisman và G. Rosu, Eds. Cham: Springer International Publishing, 2022, pp. 183-200.
- Popper.(2021) Mất mật khẩu khóa vận may bitcoin của các triệu phú.
Tài liệu trực tuyến. Có sẵn tại: https://www.nytimes.com/2021/01/12/technology/bitcoin-passwords-wallets-fortunes.html - Diem Group, "Nhà nước đồng bộ hóa và xác minh thông tin cam kết trong các hệ thống được cấu hình lại", 2020.
Tài liệu trực tuyến. Có tại: https://github.com/aptos-labs/aptoscore/blob/main/documentation/tech-papers/lbft-verification/lbft-verification.pdf - Danezis, L. Kokoris-Kogias, A. Sonnino và A. Spiegelman, "Kỳ lân biển và chiếc ngà: mempool dựa trên dag và sự đồng thuận bft hiệu quả," được xuất bản trong Kỷ yếu của Hội nghị Châu Âu lần thứ 17 về Hệ thống Máy tính, ser. EuroSys' 22. New York, NY, Hoa Kỳ: Hiệp hội Máy tính, 2022, trang 34-50.
Tài liệu trực tuyến. Có tại: https://doi.org/10.1145/3492321.3519594 - Diem Group, "Diembft v4: State Machine Replication in the diem Blockchain", 2021.
Tài liệu trực tuyến. Có tại: https://developers.diem.com/papers/diem-consensus-state-machine-replication-in-the-diemblockchain/2021-08-17.pdf - Cohen, R. Gelashvili, L. Kokoris-Kogias, Z. Li, D. Malkhi, A. Sonnino và A. Spiegelman, “Hãy để các nhà lãnh đạo của bạn biết đến,” CoR, tập abs/2110.00960, 2021.
Tài liệu trực tuyến. Có tại: https://arxiv.org/abs/2110.00960 - Spiegelman, N. Giridharan, A. Sonnino, và L. Kokoris-Kogias, “Bullshark: Triển khai thực tế của giao thức Dag bft,” trong Kỷ yếu của Hội nghị lần thứ 20 về Bảo mật Máy tính và Truyền thông (CCS), ser. CCS [22 ]. Los Angeles, CA, Hoa Kỳ: Hiệp hội Máy tính, 2022.
- Gelashvili, A. Spiegelman, Z. Xiang, G. Danezis, Z. Li, Y. Xia, R. Zhou và D. Malkhi, “Block-stm: Mở rộng quy mô khối bằng cách biến lời nguyền của việc sắp xếp thành một lời chúc cho hiệu suất Chuỗi hành quyết," 2022.
Tài liệu trực tuyến. Có tại: https://arxiv.org/abs/2203.06871 - Lind, "Sự phát triển của đồng bộ hóa trạng thái: Đường dẫn đến hơn 100.000 giao dịch mỗi giây, độ trễ dưới giây trong aptos," 2022.
Tài liệu trực tuyến. Có sẵn tại: https://medium.com/aptoslabs/52e25a2c6f10
Nguồn bài viết: Buidler DAO
Thêm tin tức về scalable web3 servers
- GPortal: Your Go-To Choice for Enshrouded Dedicated ServersTăng giáBearish
- Haru Invest sẽ tạm thời đóng cửa máy chủ vào ngày 4 tháng 11Tăng giáBearish
Thêm tin tức về scalable web3 servers
Solana Foundation 'disagrees' with SEC's claim SOL is a security
The Solana Foundation has tweeted its disagreement with the SEC’s framing of SOL as a security. The regulator called Solana’s native coin a security in its lawsuit against Binance.
TheBlockThe EU Goes Ahead Of The U.S In Crypto Adoption Regulations
The regulation is expected to become active 20 days from the publication date.
NulltxBinance Hit With Suspension Notice In Nigeria By Market Regulator
In a significant move, Nigeria's market regulator has issued a directive to suspend the operations of Binance, the largest cryptocurrency exchange globally, within the country.
BitcoinistCrypto.com Shuts Down US Institutional Exchange Amid Regulatory Concerns
Crypto.com, the Singapore-based exchange, has announced that it will shut down its institutional exchange service for US customers due to limited demand.
BitcoinistCZ Warns Employees After Leak of Binance Internal Chat
Binance CEO has warned staff to consider other career options if they are unsatisfied.
BeincryptoNorth Korean hackers used shadow IT workers to carry out crypto heists
N. Korean hackers employ thousands of shadow workers that pose as recruiters or potential employees to infiltrate crypto firms.
OthersUS SEC Calls These 67 Cryptocurrencies Worth $100 Billion As Securities
The US SEC has expanded the list of cryptocurrency it has deemed securities so far to 67, adding 16 new cryptocurrencies to the list.
OthersSEC Lawsuits Fuel Bitcoin and Ethereum Exodus From Exchanges
In the wake of these events, a substantial amount of bitcoin and ethereum has been withdrawn from exchanges.
OthersDaily Digest - 12 June 2023
Check out important crypto news from the last 24 hours.
Coinlive