
Phá giải điểm nghẽn Bitcoin: Hướng dẫn kiểm toán toàn diện về công nghệ mở rộng lớp 2 BTC
Tuyển chọn TechFlowTuyển chọn TechFlow

Phá giải điểm nghẽn Bitcoin: Hướng dẫn kiểm toán toàn diện về công nghệ mở rộng lớp 2 BTC
Các công nghệ như Mạng lưới Sét (Lightning Network), chuỗi bên (Sidechains), Rollup được gọi chung là các giải pháp mở rộng lớp 2 (BTC Layer2).
Tác giả: Beosin
Bitcoin (BTC) là tiền mã hóa đầu tiên trên thế giới, kể từ khi ra đời năm 2009, dần trở thành nền tảng của tài sản kỹ thuật số và tài chính phi tập trung. Tuy nhiên, cùng với sự gia tăng về số lượng người dùng và khối lượng giao dịch, các vấn đề của mạng lưới BTC ngày càng bộc lộ rõ ràng, chủ yếu thể hiện ở những điểm sau:
-
Phí giao dịch cao: Khi mạng Bitcoin bị tắc nghẽn, người dùng phải trả phí cao hơn để đảm bảo giao dịch được xác nhận nhanh chóng.
-
Thời gian xác nhận giao dịch: Trung bình cứ 10 phút blockchain Bitcoin mới tạo ra một khối mới, điều này có nghĩa là giao dịch trên chuỗi thường cần chờ nhiều khối được xác nhận trước khi được coi là hoàn tất.
-
Hạn chế trong hợp đồng thông minh: Ngôn ngữ kịch bản của Bitcoin có chức năng hạn chế, khó thực hiện các hợp đồng thông minh phức tạp.
Trong bài viết này, chúng tôi sẽ gọi chung các công nghệ như Mạng lưới Sét (Lightning Network), chuỗi bên (Sidechains), Rollup... là các giải pháp mở rộng lớp 2 (Layer2) cho BTC, nhằm đạt được giao dịch nhanh chóng và chi phí thấp, đồng thời duy trì tính phi tập trung và an toàn của mạng BTC. Việc triển khai công nghệ Layer2 có thể nâng cao tốc độ giao dịch, giảm chi phí, cải thiện trải nghiệm người dùng và mở rộng sức chứa mạng, cung cấp hỗ trợ kỹ thuật quan trọng và định hướng đổi mới cho tương lai phát triển của BTC.
Mạng lưới Sét (Lightning Network)
Ý tưởng ban đầu của Mạng lưới Sét là "kênh thanh toán", tư tưởng thiết kế là liên tục cập nhật trạng thái giao dịch chưa được xác nhận thông qua việc thay thế giao dịch, cho đến khi cuối cùng được phát sóng lên mạng Bitcoin. Ngay từ khi Satoshi Nakamoto tạo ra Bitcoin vào năm 2009, ý tưởng về kênh thanh toán đã được đưa ra, và trong Bitcoin 1.0 đã bao gồm bản nháp mã nguồn kênh thanh toán, bản nháp này cho phép người dùng cập nhật trạng thái giao dịch trước khi giao dịch được xác nhận bởi mạng lưới. Tuy nhiên, chỉ đến khi whitepaper The Bitcoin Lightning Network: Scalable Off-Chain Instant Payment được công bố, Mạng lưới Sét mới thật sự ra đời và bước vào tầm nhìn công chúng.
Ngày nay, các phương án triển khai kênh thanh toán và Mạng lưới Sét đã rất trưởng thành. Tính đến nay, Mạng lưới Sét có tổng cộng 13.325 nút, 49.417 kênh kết nối, tổng lượng BTC được đặt cược đạt 4.975 BTC.

https://1ml.com/
Trong Mạng lưới Sét, việc đảm bảo an toàn tài sản người dùng trong quá trình chuyển giao là vô cùng quan trọng. Phần dưới đây sẽ trình bày cách Mạng lưới Sét hoạt động và bảo vệ an toàn tài sản người dùng dựa theo quy mô nút mạng.
Hai bên người dùng gửi hai giao dịch lên mạng chính Bitcoin: một giao dịch để mở kênh, một giao dịch để đóng kênh. Quá trình này cơ bản gồm ba bước sau:
1. Mở kênh:
Đầu tiên, hai bên tham gia sẽ ký quỹ Bitcoin vào ví đa chữ ký trên mạng Lightning Network thuộc BTC. Khi Bitcoin được ký quỹ và khóa thành công, kênh thanh toán được mở, cả hai bên có thể thực hiện giao dịch ngoài chuỗi trong kênh này.

2. Giao dịch ngoài chuỗi:
Sau khi kênh được mở, mọi giao dịch chuyển tiền giữa người dùng sẽ được xử lý trong Mạng lưới Sét, và các giao dịch ngoài chuỗi này không giới hạn số lần. Tất nhiên, những giao dịch này không cần lập tức gửi lên mạng chính Bitcoin, mà được hoàn tất ngay lập tức thông qua cơ chế ngoài chuỗi của Mạng lưới Sét.

Cách xử lý ngoài chuỗi này làm tăng đáng kể tốc độ và hiệu quả giao dịch, tránh tình trạng tắc nghẽn và phí giao dịch cao trên mạng chính Bitcoin.
3. Đóng kênh và thanh toán sổ sách:
Khi một trong hai bên muốn thoát khỏi kênh, sẽ thực hiện thanh toán sổ sách cuối cùng. Quá trình này đảm bảo tất cả tiền trong kênh được phân bổ theo trạng thái mới nhất. Đồng thời, hai bên sẽ rút số dư sau thanh toán từ ví đa chữ ký, số dư này phản ánh phân bổ vốn thực tế tại thời điểm đóng kênh. Cuối cùng, kênh sẽ gửi giao dịch sổ sách trạng thái cuối cùng lên mạng chính Bitcoin.

Ưu điểm của Mạng lưới Sét:
-
Tăng tốc độ giao dịch: Mạng lưới Sét cho phép người dùng giao dịch ngoài chuỗi, nghĩa là giao dịch có thể hoàn tất gần như ngay lập tức, không cần chờ thời gian xác nhận khối. Điều này giúp đạt tốc độ giao dịch cấp độ giây, nâng cao trải nghiệm người dùng đáng kể.
-
Nâng cao tính riêng tư: Giao dịch ngoài chuỗi trên Mạng lưới Sét không cần ghi lại công khai trên chuỗi chính Bitcoin, điều này nâng cao tính riêng tư của giao dịch. Chỉ việc mở và đóng kênh cần ghi lại trên chuỗi chính, do đó hành vi giao dịch của người dùng sẽ không bị công khai hoàn toàn.
-
Hỗ trợ thanh toán vi mô: Mạng lưới Sét rất phù hợp để xử lý các khoản thanh toán nhỏ (thanh toán vi mô), như thanh toán nội dung, thanh toán thiết bị IoT,... Giao dịch Bitcoin truyền thống do phí cao nên không phù hợp với các giao dịch nhỏ lặp lại, còn Mạng lưới Sét giải quyết được vấn đề này.
Thách thức của Mạng lưới Sét:
-
Vấn đề thanh khoản mạng: Mạng lưới Sét phụ thuộc vào lượng Bitcoin được khóa sẵn trong kênh. Nghĩa là người dùng phải gửi trước đủ Bitcoin vào kênh thanh toán của họ để thực hiện giao dịch. Thiếu thanh khoản có thể dẫn đến thất bại thanh toán, đặc biệt là với các khoản thanh toán lớn.
-
Vấn đề định tuyến: Tìm đường đi hiệu quả từ người gửi đến người nhận có thể là vấn đề phức tạp, đặc biệt khi quy mô mạng lớn. Khi số lượng nút và kênh tăng lên, độ khó để đảm bảo hoàn tất thanh toán cũng tăng theo.
-
Vấn đề tin cậy quản lý tiền: Các nút có thể gặp tấn công độc hại, người dùng cần tin tưởng nút họ kết nối sẽ không cố đánh cắp tiền. Nút có thể ngăn chặn rò rỉ khóa riêng hay không?
-
Chuẩn kỹ thuật và khả năng tương tác: Các triển khai khác nhau của Mạng lưới Sét cần có chuẩn kỹ thuật và giao thức thống nhất để đảm bảo khả năng tương tác. Hiện nay, nhiều nhóm phát triển đang xây dựng các phiên bản triển khai khác nhau, có thể gây ra vấn đề tương thích.
-
Vấn đề riêng tư: Mặc dù Mạng lưới Sét nâng cao tính riêng tư giao dịch Bitcoin, nhưng thông tin giao dịch vẫn có thể bị theo dõi hoặc phân tích. Ngoài ra, người vận hành nút mạng có thể thấy các giao dịch đi qua nút của họ, từ đó có thể tiết lộ một số thông tin riêng tư.
An toàn của Mạng lưới Sét ảnh hưởng trực tiếp đến khả năng mở rộng ngoài chuỗi của Bitcoin và an toàn tài sản người dùng. Do đó, ngoài các mục kiểm toán chung dành cho chuỗi công (xem phụ lục cuối bài), Mạng lưới Sét còn cần chú ý đến các rủi ro an toàn quan trọng sau:
-
Tắc nghẽn kênh: Kiểm tra tính toàn diện trong thiết kế hệ thống Mạng lưới Sét, liệu có thể bị tắc kênh do tấn công gây tổn thương hay không.
-
Quấy rối kênh: Kiểm tra tính an toàn cấu trúc kênh Mạng lưới Sét, liệu có thể bị tấn công quấy rối kênh hay không.
-
Khóa và mở khóa tài sản kênh: Xem xét quá trình khóa và mở khóa tài sản trong Mạng lưới Sét, đảm bảo việc chuyển giao tài sản giữa chuỗi và ngoài chuỗi là an toàn và đáng tin cậy khi mở hoặc đóng kênh thanh toán.
-
Cập nhật trạng thái và đóng cửa: Đánh giá quy trình cập nhật trạng thái kênh và cơ chế đóng buộc (force-close), đảm bảo rằng trong trường hợp bất thường, trạng thái mới nhất có thể được xác định và thực thi đúng.
-
Hợp đồng khóa thời gian và khóa băm (HTLC): Đánh giá việc triển khai HTLC, đảm bảo điều kiện khóa thời gian và khóa băm được thực thi đúng, ngăn ngừa mất mát tài sản do vấn đề khoảng thời gian.
-
Phụ thuộc dấu thời gian blockchain: Đánh giá mức độ phụ thuộc của Mạng lưới Sét vào dấu thời gian blockchain Bitcoin, đảm bảo thời gian trên chuỗi và ngoài chuỗi được phối hợp đúng, ngăn chặn tấn công thời gian.
-
An toàn thuật toán định tuyến: Kiểm tra hiệu suất và an toàn của thuật toán định tuyến, ngăn ngừa rủi ro lộ riêng tư người dùng và thao túng định tuyến độc hại.
-
Lưu trữ kênh và phục hồi dữ liệu: Kiểm tra cơ chế lưu trữ kênh và chiến lược phục hồi dữ liệu, đảm bảo rằng khi nút lỗi hoặc ngắt kết nối bất ngờ, trạng thái kênh có thể được phục hồi, tránh mất tiền.
Chuỗi bên (Sidechain)
Khác với Mạng lưới Sét, chuỗi bên (Sidechain) là một blockchain độc lập, chạy song song với chuỗi chính (ví dụ như blockchain BTC) và tương tác với chuỗi chính thông qua neo hai chiều (Two-Way Peg). Mục đích của chuỗi bên là thực hiện thêm chức năng và nâng cao khả năng mở rộng mà không cần thay đổi giao thức chuỗi chính.
Chuỗi bên là một blockchain độc lập, sở hữu cơ chế đồng thuận, nút và quy tắc xử lý giao dịch riêng. Nó có thể áp dụng các công nghệ và giao thức khác với chuỗi chính tùy theo nhu cầu ứng dụng cụ thể. Thông qua cơ chế neo hai chiều (2WP), chuỗi bên và chuỗi chính giao tiếp với nhau, đảm bảo tài sản có thể chuyển đổi tự do và an toàn giữa hai bên. Cơ chế neo hai chiều (2WP) hoạt động cơ bản như sau:

-
Người dùng khóa BTC trên chuỗi chính, tổ chức đáng tin cậy 1 lấy và sử dụng xác minh SPV 2 để đảm bảo giao dịch khóa của người dùng đã được xác nhận.
-
Tổ chức đáng tin cậy sẽ phát hành token tương đương cho người dùng trên chuỗi bên.
-
Sau khi giao dịch tự do, người dùng khóa lượng token còn lại trên chuỗi bên.
-
Tổ chức đáng tin cậy sau khi xác minh tính hợp lệ giao dịch, sẽ mở khóa và trả lại BTC tương ứng giá trị cho người dùng trên chuỗi chính.
Ghi chú 1: Tổ chức đáng tin cậy đóng vai trò then chốt trong cơ chế neo hai chiều, chịu trách nhiệm quản lý việc khóa và giải phóng tài sản. Những tổ chức này cần có uy tín cao và năng lực kỹ thuật để đảm bảo an toàn tài sản người dùng.
Ghi chú 2: Xác minh SPV cho phép nút xác minh tính hợp lệ của giao dịch cụ thể mà không cần tải toàn bộ blockchain. Nút SPV chỉ cần tải tiêu đề khối và xác minh giao dịch có nằm trong khối qua Merkle Tree.
Dự án tiêu biểu cho chuỗi bên:
CKB (Mạng Nervos)
Mạng Nervos là một hệ sinh thái blockchain công khai mã nguồn mở, nhằm tận dụng lợi thế an toàn và phi tập trung từ cơ chế đồng thuận POW của BTC, đồng thời giới thiệu mô hình UTXO linh hoạt và dễ mở rộng hơn để xử lý giao dịch. Lõi của nó là Cơ sở Tri thức Chung (Common Knowledge Base - CKB), được xây dựng dựa trên RISC-V, sử dụng PoW (Proof of Work) làm đồng thuận lớp 1. Mô hình UTXO được mở rộng thành mô hình Cell, cho phép lưu trữ mọi dữ liệu, hỗ trợ viết kịch bản bằng mọi ngôn ngữ để thực thi như hợp đồng thông minh trên chuỗi.

Stacks
Stacks thông qua cơ chế PoX (Proof of Transfer) kết nối mỗi khối Stacks với khối Bitcoin. Để phát triển hợp đồng thông minh, Stacks thiết kế ngôn ngữ lập trình chuyên biệt Clarity. Trong Clarity, hàm get-burn-block-info? cho phép nhập chiều cao khối Bitcoin và lấy hash tiêu đề khối đó. Đồng thời, từ khóa burn-block-height có thể lấy chiều cao khối hiện tại của chuỗi Bitcoin. Hai chức năng này cho phép hợp đồng thông minh Clarity đọc trạng thái chuỗi nền tảng Bitcoin, từ đó giao dịch Bitcoin có thể trở thành bộ kích hoạt hợp đồng. Bằng cách tự động thực thi các hợp đồng thông minh này, Stacks mở rộng chức năng của Bitcoin.
Để tìm hiểu sâu hơn về Stacks, bạn có thể đọc bài nghiên cứu trước đó của Beosin: Stacks là gì? Mạng lớp 2 BTC Stacks có thể đối mặt những thách thức nào?

Ưu điểm của chuỗi bên:
-
Chuỗi bên có thể áp dụng các công nghệ và giao thức khác nhau để thử nghiệm và đổi mới mà không ảnh hưởng đến sự ổn định và an toàn của chuỗi chính.
-
Chuỗi bên có thể bổ sung các chức năng mà chuỗi chính không có, như hợp đồng thông minh, bảo vệ riêng tư, phát hành token,... phong phú hóa các trường hợp sử dụng hệ sinh thái blockchain.
Thách thức của chuỗi bên:
-
Chuỗi bên có cơ chế đồng thuận độc lập, có thể không an toàn bằng chuỗi chính BTC. Nếu cơ chế đồng thuận chuỗi bên yếu hoặc có lỗ hổng, có thể dẫn đến tấn công 51% hoặc các hình thức tấn công khác, ảnh hưởng đến an toàn tài sản người dùng. An toàn chuỗi chính BTC dựa vào lượng lớn sức mạnh tính toán và phân bố nút rộng rãi, trong khi chuỗi bên có thể không đạt được tiêu chuẩn an toàn tương tự.
-
Việc triển khai cơ chế neo hai chiều đòi hỏi các thuật toán và giao thức mã hóa phức tạp, nếu tồn tại lỗ hổng có thể khiến việc chuyển tài sản giữa chuỗi chính và chuỗi bên gặp vấn đề, thậm chí dẫn đến mất mát hoặc đánh cắp tài sản.
-
Để cân bằng giữa tốc độ và an toàn, phần lớn chuỗi bên có mức độ tập trung cao hơn chuỗi chính.
Layer2 là một hệ thống blockchain hoàn chỉnh, do đó các mục kiểm toán chung cho chuỗi công cũng áp dụng cho chuỗi bên, xem chi tiết ở phụ lục cuối bài.
Bên cạnh đó, do tính đặc thù, chuỗi bên cần thêm một số kiểm toán bổ sung:
-
An toàn giao thức đồng thuận: Kiểm tra giao thức đồng thuận chuỗi bên (như PoW, PoS, DPoS) đã được kiểm chứng và thử nghiệm đầy đủ chưa, có lỗ hổng tiềm tàng hay vector tấn công như tấn công 51%, tấn công dài hạn hay không.
-
An toàn nút đồng thuận: Đánh giá an toàn nút đồng thuận, bao gồm quản lý khóa, bảo vệ nút và sao lưu dự phòng, ngăn chặn nút bị xâm nhập hoặc lạm dụng.
-
Khóa và giải phóng tài sản: Kiểm tra cơ chế neo hai chiều tài sản giữa chuỗi bên và chuỗi chính, đảm bảo hợp đồng thông minh khóa và giải phóng tài sản là an toàn và đáng tin cậy, ngăn ngừa hiện tượng tiêu đôi, mất tài sản hoặc khóa thất bại.
-
Xác minh xuyên chuỗi: Kiểm tra tính chính xác và an toàn của xác minh xuyên chuỗi, đảm bảo quá trình xác minh là phi tập trung và chống sửa đổi, ngăn chặn xác minh thất bại hoặc xác minh độc hại.
-
Kiểm toán mã hợp đồng: Kiểm toán sâu tất cả hợp đồng thông minh chạy trên chuỗi bên, phát hiện lỗ hổng hoặc cửa hậu tiềm tàng, đặc biệt là logic hợp đồng xử lý thao tác xuyên chuỗi.
-
Cơ chế nâng cấp: Kiểm tra cơ chế nâng cấp hợp đồng thông minh có an toàn không, có quy trình kiểm toán và đồng thuận cộng đồng phù hợp không, ngăn chặn nâng cấp độc hại hoặc sửa đổi hợp đồng.
-
Thông tin liên lạc giữa các nút: Kiểm tra giao thức liên lạc giữa các nút chuỗi bên có an toàn không, có sử dụng kênh mã hóa để ngăn chặn tấn công man-in-the-middle hoặc rò rỉ dữ liệu không.
-
Thông tin liên lạc xuyên chuỗi: Kiểm tra kênh liên lạc giữa chuỗi bên và chuỗi chính, đảm bảo tính toàn vẹn và xác thực dữ liệu, ngăn chặn việc đánh cắp hoặc sửa đổi thông tin liên lạc.
-
Dấu thời gian và thời gian khối: Kiểm tra cơ chế đồng bộ thời gian chuỗi bên, đảm bảo tính nhất quán và chính xác của thời gian tạo khối, ngăn chặn tấn công hoặc hoàn tác khối do chênh lệch thời gian.
-
An toàn quản trị trên chuỗi: Kiểm tra cơ chế quản trị chuỗi bên, đảm bảo tính minh bạch và an toàn trong quá trình bỏ phiếu, đề xuất và ra quyết định, ngăn chặn kiểm soát độc hại hoặc tấn công.
-
Kiểm toán kinh tế học token: Kiểm tra mô hình kinh tế học token chuỗi bên, bao gồm phân bổ token, cơ chế thưởng và mô hình lạm phát, đảm bảo động lực kinh tế không dẫn đến hành vi độc hại hoặc hệ thống mất ổn định.
-
Cơ chế phí: Kiểm tra cơ chế phí giao dịch chuỗi bên, đảm bảo phù hợp với nhu cầu người dùng chuỗi chính và chuỗi bên, ngăn chặn thao túng phí hoặc tắc nghẽn mạng.
-
An toàn tài sản: Kiểm toán cơ chế quản lý tài sản trên chuỗi, đảm bảo quá trình lưu trữ, chuyển giao và hủy tài sản an toàn và đáng tin cậy, không có rủi ro truy cập trái phép hoặc đánh cắp.
-
Quản lý khóa: Kiểm tra chiến lược quản lý khóa chuỗi bên, đảm bảo tính an toàn và kiểm soát truy cập khóa riêng, ngăn chặn rò rỉ hoặc bị đánh cắp khóa.
Rollup
Rollup là một giải pháp mở rộng lớp 2 (Layer2), nhằm nâng cao thông lượng và hiệu quả giao dịch của blockchain. Nó đóng gói hàng loạt giao dịch (‘Rollup’) và xử lý ngoài chuỗi, chỉ gửi kết quả cuối cùng lên chuỗi chính, từ đó giảm đáng kể gánh nặng cho chuỗi chính.
Rollup chủ yếu chia thành zk-Rollup và op-Rollup. Tuy nhiên, khác với ETH, do BTC không hoàn chỉnh Turing nên không thể dùng hợp đồng để xác minh bằng chứng kiến thức không (zero-knowledge proof) trên BTC. Các giải pháp zk-Rollup truyền thống không thể triển khai trên BTC. Vậy làm thế nào để dùng zk-Rollup cho lớp 2 BTC? Tiếp theo sẽ lấy dự án B² Network làm ví dụ:
Để thực hiện xác minh bằng chứng kiến thức không trên BTC, B² Network tạo ra kịch bản Taproot, kết hợp cả xác minh bằng chứng kiến thức không của zk-Rollup và thách thức khuyến khích của op-Rollup. Cơ chế hoạt động cơ bản như sau:

-
B² Network trước tiên đóng gói tất cả giao dịch do người dùng khởi tạo.
-
Sau khi sắp xếp giao dịch Rollup bằng bộ sắp thứ tự, lưu trữ giao dịch Rollup bằng lưu trữ phi tập trung và đồng thời chuyển cho zkEVM xử lý.
-
Sau khi zkEVM đồng bộ trạng thái chuỗi BTC, xử lý các giao dịch như thực thi hợp đồng, gộp kết quả và gửi đến bộ tổng hợp.
-
Bộ chứng minh (Prover) tạo bằng chứng kiến thức không và gửi đến bộ tổng hợp, sau đó bộ tổng hợp gom giao dịch và bằng chứng gửi đến B² Nodes.
-
B² Nodes xác minh bằng chứng kiến thức không và tạo kịch bản Taproot dựa trên dữ liệu Rollup trong lưu trữ phi tập trung.
-
Taproot là một UTXO có giá trị 1 satoshi, trong cấu trúc dữ liệu B² Inscription lưu trữ toàn bộ dữ liệu Rollup, Tapleaf lưu trữ toàn bộ dữ liệu xác minh bằng chứng. Sau khi vượt qua cơ chế thách thức khuyến khích, nó sẽ được gửi lên BTC như một cam kết dựa trên bằng chứng zk.
Ưu điểm của Rollup:
-
Rollup kế thừa tính an toàn và phi tập trung của chuỗi chính. Bằng cách định kỳ gửi dữ liệu giao dịch và trạng thái lên chuỗi chính, đảm bảo tính toàn vẹn và minh bạch dữ liệu.
-
Rollup có thể tích hợp liền mạch vào các mạng blockchain hiện có như Ethereum, giúp nhà phát triển dễ dàng tận dụng lợi thế mà không cần sửa đổi lớn các hợp đồng thông minh và ứng dụng hiện có.
-
Rollup xử lý hàng loạt giao dịch ngoài chuỗi và đóng gói thành một đợt gửi lên chuỗi chính, nâng cao đáng kể khả năng xử lý giao dịch, làm tăng đáng kể số giao dịch mỗi giây (TPS).
-
Giao dịch Rollup chỉ cần xử lý ngoài chuỗi, giảm đáng kể tài nguyên tính toán và không gian lưu trữ cần thiết trên chuỗi, từ đó giảm đáng kể phí giao dịch cho người dùng.
Thách thức của Rollup:
-
Nếu dữ liệu ngoài chuỗi không khả dụng, người dùng có thể không xác minh được giao dịch và phục hồi trạng thái.
-
Giao dịch Rollup cần xử lý theo lô và cuối cùng gửi lên chuỗi chính, có thể dẫn đến thời gian thanh toán lâu. Đặc biệt trong op-Rollup, có giai đoạn tranh chấp, người dùng có thể phải đợi lâu để xác nhận giao dịch cuối cùng.
-
ZK Rollup mặc dù cung cấp an toàn cao hơn và xác nhận tức thì, nhưng nhu cầu tính toán và lưu trữ cao, việc tạo bằng chứng kiến thức không cần nhiều tài nguyên tính toán.
Do sử dụng giải pháp Rollup, các mục kiểm toán an toàn trọng tâm cơ bản giống với ETH Layer2.
Khác (Babylon)
Ngoài các lớp 2 BTC truyền thống, gần đây xuất hiện một số giao thức bên thứ ba mang khái niệm hoàn toàn mới liên quan đến hệ sinh thái BTC, ví dụ như Babylon:
Mục tiêu của Babylon là biến 21 triệu BTC thành tài sản đặt cược phi tập trung. Không giống các lớp 2 BTC khác, Babylon không mở rộng dung lượng chuỗi BTC. Bản thân nó là một chuỗi độc đáo, có giao thức ký quỹ BTC đặc biệt, mục đích chính là kết nối với các chuỗi PoS, dùng BTC ký quỹ để cung cấp an toàn hơn cho chuỗi PoS, giải quyết các vấn đề như rủi ro tấn công từ xa và tập trung hóa.
Chiến lược gồm ba tầng:
-
Tầng Bitcoin: Đây là nền tảng vững chắc của Babylon, tận dụng sự an toàn nổi tiếng của Bitcoin để đảm bảo mọi giao dịch đều cực kỳ an toàn, giống như trên mạng Bitcoin.
-
Tầng Babylon: Lõi của Babylon là tầng Babylon, một blockchain tùy chỉnh kết nối Bitcoin với nhiều chuỗi Proof-of-Stake (PoS). Nó xử lý giao dịch, chạy hợp đồng thông minh và đảm bảo mọi thứ trong toàn bộ hệ sinh thái diễn ra suôn sẻ.
-
Tầng chuỗi PoS: Tầng trên cùng gồm nhiều chuỗi PoS, mỗi chuỗi được chọn vì ưu điểm riêng biệt. Điều này mang lại khả năng mở rộng và linh hoạt đáng kinh ngạc cho BabylonChain, cho phép người dùng tận hưởng những tính năng tốt nhất từ các blockchain PoS khác nhau.

Cơ chế hoạt động là sử dụng việc ký vào khối cuối cùng trên chuỗi BTC để bảo vệ chuỗi PoS. Về cơ bản là mở rộng giao thức nền tảng bằng vòng ký kết bổ sung. Những chữ ký trong vòng +1 cuối cùng này có đặc điểm độc đáo: chúng là chữ ký một lần có thể trích xuất (EOTS). Mục đích là tích hợp điểm kiểm tra PoS vào BTC, giải quyết vấn đề thời gian rút vốn dài và tấn công từ xa trên PoS.
Ưu điểm của Babylon:
-
Làm rút ngắn thời gian rút vốn trên PoS
-
Do ký quỹ BTC, giá gắn với BTC, có thể giảm áp lực lạm phát cho mạng PoS tương ứng
-
Mở ra con đường kiếm lợi nhuận mới cho BTC
Thách thức của Babylon:
-
Thiết kế kinh tế như tỷ suất lợi nhuận ký quỹ ảnh hưởng lớn đến tính tích cực ký quỹ BTC
-
Thiếu quy định nhất quán về phần thưởng giữa các chuỗi PoS
Các giao thức bên thứ ba tùy theo cách triển khai khác nhau sẽ có các điểm an toàn cần chú ý khác nhau, chỉ lấy Babylon làm ví dụ, một số mục kiểm toán an toàn cần lưu ý như sau:
-
An toàn hợp đồng thông minh: Hợp đồng ký quỹ trên BTC được thực hiện qua kịch bản UTXO, cần chú ý đến tính an toàn của nó.
-
An toàn thuật toán chữ ký: Hợp đồng dùng chữ ký để quản lý ký quỹ người dùng, an toàn thuật toán ảnh hưởng đến việc tạo và xác minh chữ ký.
-
Thiết kế mô hình kinh tế giao thức: Mô hình kinh tế giao thức có được thiết lập hợp lý trong phần thưởng và phạt hay không, có dẫn đến mất mát tài sản người dùng hay không.
Phụ lục:
Các mục kiểm toán chung cho chuỗi công & Layer2
-
Tràn số nguyên: Kiểm tra tràn trên và tràn dưới số nguyên
-
Vòng lặp chết: Kiểm tra điều kiện kiểm soát vòng lặp chương trình có hợp lý không
-
Gọi đệ quy vô hạn: Kiểm tra điều kiện thoát gọi đệ quy chương trình có hợp lý không
-
Điều kiện đua: Kiểm tra thao tác truy cập tài nguyên chia sẻ trong trạng thái đồng thời
-
Sụp đổ ngoại lệ: Kiểm tra mã ném ngoại lệ khiến chương trình chủ động thoát
-
Lỗ hổng chia cho 0: Kiểm tra có trường hợp chia cho 0 không
-
Chuyển đổi kiểu: Kiểm tra chuyển đổi kiểu có đúng không, có mất thông tin quan trọng trong quá trình chuyển đổi không
-
Truy cập ngoài phạm vi mảng: Kiểm tra có truy cập phần tử vượt ngoài giới hạn mảng không
-
Lỗ hổng giải tuần tự: Kiểm tra quá trình giải tuần tự có vấn đề không
-
An toàn thực hiện chức năng: Kiểm tra việc thực hiện các giao diện RPC có lỗ hổng an toàn không, có phù hợp với thiết kế chức năng giao diện RPC không
-
Thiết lập quyền cho giao diện RPC nhạy cảm: Kiểm tra thiết lập quyền truy cập cho các giao diện RPC nhạy cảm có hợp lý không
-
Cơ chế truyền mã hóa: Kiểm tra có dùng giao thức truyền mã hóa như TLS không
-
Giải tích định dạng dữ liệu yêu cầu: Kiểm tra quá trình giải tích định dạng dữ liệu yêu cầu
-
Tấn công mở khóa ví: Khi nút mở khóa ví, bị đánh cắp tiền qua yêu cầu RPC
-
An toàn Web truyền thống: Kiểm tra có tồn tại các lỗ hổng sau không: XSS / tiêm mẫu /
-
Lỗ hổng thành phần thứ ba / ô nhiễm tham số HTTP / SQL injection / tiêm thực thể XXE / giải tuần tự
-
Lỗ hổng / SSRF / tiêm mã / bao gồm tập tin cục bộ / bao gồm tập tin từ xa / tiêm thực thi lệnh và các lỗ hổng truyền thống khác
-
Cơ chế xác thực và nhận diện danh tính nút mạng: Kiểm tra có cơ chế nhận diện danh tính nút không, cơ chế nhận diện danh tính nút có thể bị vòng không
-
Nhiễm bẩn bảng định tuyến: Kiểm tra bảng định tuyến có thể bị chèn hoặc ghi đè dữ liệu tùy ý không
-
Thuật toán khám phá nút: Kiểm tra thuật toán khám phá nút có cân bằng và không thể đoán trước không, ví dụ như vấn đề mất cân bằng thuật toán khoảng cách
-
Kiểm toán chiếm dụng số kết nối: Kiểm tra giới hạn và quản lý số lượng kết nối nút mạng p2p có hợp lý không
-
Tấn công nhật thực (eclipse): Đánh giá chi phí và tác hại của tấn công nhật thực, nếu cần cung cấp phân tích định lượng
-
Tấn công Sybil: Đánh giá cơ chế đồng thuận bỏ phiếu, phân tích chiến lược kiểm tra tư cách bỏ phiếu
-
Tấn công nghe lén: Kiểm tra giao thức truyền thông có tiết lộ riêng tư không
-
Tấn công dị loại: Đánh giá nút có thể nhận diện nút cùng loại hay không
-
Thao túng thời gian: Kiểm tra cơ chế tính thời gian mạng của nút
-
Tấn công cạn kiệt bộ nhớ: Kiểm tra nơi tiêu thụ bộ nhớ lớn
-
Tấn công cạn kiệt ổ cứng: Kiểm tra nơi lưu trữ tập tin lớn
-
Tấn công áp lực socket: Kiểm tra chiến lược giới hạn số lượng kết nối
-
Tấn công cạn kiệt bộ xử lý hạt nhân: Kiểm tra giới hạn tạo bộ xử lý hạt nhân, ví dụ như bộ xử lý tập tin
-
Rò rỉ bộ nhớ kéo dài: Kiểm tra nơi rò rỉ bộ nhớ
-
An toàn thuật toán băm: Kiểm tra tính kháng va chạm của thuật toán băm
-
An toàn thuật toán chữ ký số: Kiểm tra an toàn thuật toán chữ ký, an toàn triển khai thuật toán
-
An toàn thuật toán mã hóa: Kiểm tra an toàn thuật toán mã hóa, an toàn triển khai thuật toán
-
An toàn bộ tạo số ngẫu nhiên: Kiểm tra thuật toán tạo số ngẫu nhiên quan trọng có hợp lý không
-
An toàn triển khai BFT: Đánh giá an toàn triển khai thuật toán BFT
-
Quy tắc lựa chọn phân nhánh: Kiểm tra quy tắc lựa chọn phân nhánh để đảm bảo an toàn
-
Phát hiện mức độ tập trung: Nhận diện trong thiết kế hệ thống có thiết kế tập trung quá mức không
-
Kiểm toán cơ chế khuyến khích: Đánh giá ảnh hưởng của cơ chế khuyến khích đến an toàn
-
Kiểm toán tấn công MEV: Kiểm tra ảnh hưởng của MEV từ nút đóng gói khối đến công bằng chuỗi
-
Kiểm toán quá trình đồng bộ khối: Kiểm tra vấn đề an toàn trong quá trình đồng bộ
-
Kiểm toán quá trình giải tích định dạng khối: Kiểm tra vấn đề an toàn trong quá trình giải tích định dạng, ví dụ như lỗi giải tích gây sập
-
Kiểm toán quá trình tạo khối: Kiểm tra vấn đề an toàn trong quá trình tạo khối, bao gồm cách xây dựng gốc Merkle tree có hợp lý không
-
Kiểm toán quá trình xác minh khối: Kiểm tra nội dung chữ ký khối và logic xác minh có đầy đủ không
-
Kiểm toán logic xác nhận khối: Kiểm tra thuật toán và việc triển khai logic xác nhận khối có hợp lý không
-
Va chạm băm khối: Kiểm tra cách tạo va chạm băm khối và xử lý khi xảy ra va chạm có hợp lý không
-
Giới hạn tài nguyên xử lý khối: Kiểm tra giới hạn tài nguyên như hồ sơ khối mồ côi, tính toán xác minh, định vị ổ cứng có hợp lý không
-
Kiểm toán quá trình đồng bộ giao dịch: Kiểm tra vấn đề an toàn trong quá trình đồng bộ
-
Va chạm băm giao dịch: Kiểm tra cách tạo va chạm băm giao dịch và xử lý khi xảy ra
-
Giải tích định dạng giao dịch: Kiểm tra vấn đề an toàn trong quá trình giải tích định dạng, ví dụ như lỗi giải tích gây sập
-
Xác minh tính hợp lệ giao dịch: Kiểm tra nội dung chữ ký và logic xác minh cho các loại giao dịch có đầy đủ không
-
Giới hạn tài nguyên xử lý giao dịch: Kiểm tra giới hạn tài nguyên như hồ giao dịch, tính toán xác minh, định vị ổ cứng có hợp lý không
-
Tấn công mở rộng giao dịch: Giao dịch có thể thay đổi trường nội bộ (ví dụ ScriptSig) để thay đổi hash giao dịch mà không ảnh hưởng tính hợp lệ giao dịch hay không
-
Kiểm toán tấn công lặp lại giao dịch: Kiểm tra hệ thống phát hiện lặp lại giao dịch
-
Xác minh bytecode hợp đồng: Kiểm tra vấn đề an toàn trong quá trình máy ảo xác minh hợp đồng, ví dụ như tràn số nguyên, vòng lặp chết...
-
Thực thi bytecode hợp đồng: Kiểm tra vấn đề an toàn trong quá trình máy ảo thực thi bytecode, ví dụ như tràn số nguyên, vòng lặp chết...
-
Mô hình gas: Kiểm tra phí xử lý giao dịch/thực thi hợp đồng cho từng thao tác nguyên tử có tỷ lệ thuận với tiêu thụ tài nguyên không
-
Toàn vẹn ghi log: Kiểm tra thông tin quan trọng có được ghi log không
-
An toàn ghi log: Kiểm tra trong quá trình xử lý log, có gây ra vấn đề an toàn do xử lý sai không, ví dụ như tràn số nguyên...
-
Log chứa thông tin riêng tư: Kiểm tra log có chứa thông tin riêng tư như khóa không
-
Lưu trữ log: Kiểm tra log có ghi quá nhiều nội dung, gây tiêu tốn tài nguyên nút không
-
An toàn chuỗi cung cấp mã nguồn nút: Kiểm tra tất cả thư viện, thành phần bên thứ ba và phiên bản framework chuỗi công có vấn đề đã biết không
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














