Biên tập: Sương Tháng & Bạch Đinh, Geek web3
Bài viết này là bài phát biểu của Jan, đồng sáng lập Nervos, tại Hội nghị Blockchain+Crypto Club của Trường Kinh doanh Harvard vào năm 2019, tập trung vào mối quan hệ giữa Layer2 và Layer1, khẳng định rằng blockchain mô-đun hóa sẽ là hướng đi đúng đắn, và cũng đề cập đến vấn đề cơ chế lưu trữ dữ liệu blockchain. Đồng thời, Jan cũng đưa ra một chủ đề khá thú vị: nếu sự phát triển của Layer2 dẫn đến sự "đói" của Layer1, thì làm thế nào để giải quyết vấn đề này.
Là một trong những đội ngũ tiên phong ủng hộ narrative về Layer2 và blockchain mô-đun hóa, quan điểm của Nervos vào thời điểm 2018-2019 khá tiên phong, khi mà cộng đồng Ethereum vẫn còn ảo tưởng về phân mảnh, và narrative về các chuỗi công khai hiệu suất cao vẫn đang lên ngôi, chưa bị bác bỏ đầy đủ.
Tuy nhiên, nhìn lại vào năm 2024 này, khi nhìn thấy những vấn đề mà Layer2 của Ethereum đã phơi bày, cũng như những hạn chế về tính phi tập trung và minh bạch của các "chuỗi công khai hiệu suất cao" như Solana, thì phải nói rằng quan điểm của Jan 5 năm trước thực sự rất tiên phong. Xuất phát từ sự quan tâm đến Layer2, "Geek web3" đã tổng hợp bài phát biểu của Jan thành bản văn và đăng tải tại đây, chào mời những người yêu thích Layer2 trong cộng đồng Nervos, Ethereum và Bitcoin cùng học tập và thảo luận.
Dưới đây là nội dung bài phát biểu của Jan.
Định nghĩa về Layer1 và Layer2
Đây là định nghĩa của tôi về L1 và L2 (mạng lưới tầng 2), như hình.
Trước hết, cần nhấn mạnh rằng Nervos chỉ là một mạng lưới blockchain cố gắng đáp ứng nhu cầu của nền kinh tế phi tập trung, chứ không phải chịu trách nhiệm giải quyết "tất cả các vấn đề". Trong nhận thức của chúng tôi, sự khác biệt giữa Layer1 và Layer2 nằm ở tính chặt chẽ của đồng thuận. L1 phải có phạm vi đồng thuận rộng nhất, tức là "đồng thuận toàn cầu". Thông qua đồng thuận toàn cầu không cần cấp phép, bất kỳ ai trên thế giới cũng có thể tham gia vào quá trình đồng thuận của L1, và cuối cùng L1 có thể trở thành "neo" của nền kinh tế phi tập trung. Từ góc độ này, chúng tôi có thể gọi L1 là "lớp đồng thuận".
Ngược lại, phạm vi đồng thuận của L2 sẽ nhỏ hơn một chút, với những người tham gia có thể chỉ đến từ một quốc gia, một ngành, thậm chí là một công ty hoặc tổ chức, hoặc một cộng đồng nhỏ. Sự hy sinh về phạm vi đồng thuận của L2 là một sự đánh đổi để đạt được những tiến bộ khác, chẳng hạn như TPS cao hơn, độ trễ thấp hơn và khả năng mở rộng tốt hơn. Chúng tôi có thể gọi L2 là "lớp giao thức", và L1 và L2 thường được kết nối thông qua các cầu nối xuyên chuỗi.
Cần phải nhấn mạnh rằng, mục đích của chúng tôi khi xây dựng L2 không chỉ là giải quyết vấn đề khả năng mở rộng của blockchain, mà còn vì kiến trúc phân lớp là cách dễ nhất để "blockchain mô-đun hóa" đi vào thực tiễn. Blockchain mô-đun hóa có nghĩa là đưa các loại vấn đề khác nhau vào các mô-đun khác nhau để giải quyết.
Nhiều người vẫn đang thảo luận về vấn đề tuân thủ và quản lý đối với blockchain, vậy làm thế nào để đưa Bitcoin hoặc Ethereum vào khuôn khổ quản lý hiện có? Kiến trúc phân lớp có thể là một giải pháp cho vấn đề này. Việc trực tiếp thêm logic nghiệp vụ tuân thủ yêu cầu quản lý vào lớp L1 có thể sẽ phá vỡ tính phi tập trung và trung lập của nó, do đó logic liên quan đến tuân thủ có thể được thực hiện riêng biệt trên Layer2.
Layer2 có thể được tùy chỉnh theo các quy định hoặc tiêu chuẩn cụ thể, chẳng hạn như xây dựng một blockchain nhỏ dựa trên cấp phép, hoặc là mạng lưới kênh trạng thái. Bằng cách này, vừa đạt được tính tuân thủ, vừa không ảnh hưởng đến tính phi tập trung và trung lập của Layer1.
Ngoài ra, chúng tôi cũng có thể giải quyết xung đột giữa an ninh và trải nghiệm người dùng thông qua kiến trúc phân lớp. Tương tự, nếu bạn muốn đảm bảo an toàn cho private key của mình, bạn sẽ phải hy sinh một số tiện lợi, và blockchain cũng tương tự, nếu bạn muốn đảm bảo an ninh tuyệt đối cho blockchain, bạn sẽ phải hy sinh một số thứ, chẳng hạn như hiệu suất của chuỗi.
Nhưng nếu sử dụng kiến trúc phân lớp, chúng tôi có thể hoàn toàn theo đuổi an ninh trên L1, trong khi hy sinh một chút an ninh để đổi lấy trải nghiệm người dùng tốt hơn trên L2. Ví dụ, chúng tôi có thể sử dụng kênh trạng thái trên L2 để tối ưu hóa hiệu suất mạng, giảm độ trễ. Vì vậy, thiết kế Layer2 chỉ là sự cân bằng giữa an ninh và trải nghiệm người dùng.
Những nội dung trên tự nhiên dẫn đến một câu hỏi: Liệu bất kỳ blockchain nào cũng có thể đóng vai trò là Layer1?
Câu trả lời là không, trước hết chúng ta phải rõ ràng rằng, tính phi tập trung và an ninh của Layer1 là trên hết, bởi vì chúng ta phải đạt được tính kháng kiểm duyệt thông qua phi tập trung hóa. Theo đuổi an ninh của L1, về cơ bản, là vì L1 là nền tảng của toàn bộ mạng lưới blockchain, là neo của hệ thống kinh tế mã hóa.
Dựa trên tiêu chí đánh giá này, Bitcoin và Ethereum không nghi ngờ gì là những mạng L1 kinh điển, chúng có phạm vi đồng thuận cực kỳ rộng. Ngoài hai blockchain này, hầu hết các blockchain khác đều không đáp ứng được tiêu chuẩn của L1, mức độ đồng thuận thấp hơn. Ví dụ, mức độ đồng thuận của EOS không đạt tiêu chuẩn, nó chỉ có thể đóng vai trò là một L2, huống hồ một số quy tắc của nó chỉ áp dụng cho chính nó.
Các vấn đề hiện tại của Layer1
Sau khi xác định rõ định nghĩa về Layer1, chúng tôi cần chỉ ra rằng một số L1 hiện tại đang gặp ba vấn đề, và những vấn đề này cũng tồn tại ở một mức độ nhất định trong cả Bitcoin và Ethereum:
1. Vấn đề bi kịch của tài nguyên chung trong lưu trữ dữ liệu
Khi sử dụng blockchain, chúng ta cần phải trả một khoản phí nhất định, nhưng trong mô hình kinh tế của Bitcoin, cấu trúc phí giao dịch chỉ tính đến chi phí tính toán và băng thông mạng, chưa xem xét kỹ chi phí lưu trữ dữ liệu.
Ví dụ, khi người dùng lưu trữ dữ liệu lên chuỗi, chỉ cần trả phí một lần, nhưng thời hạn lưu trữ lại vĩnh viễn, do đó mọi người có thể lạm dụng tài nguyên lưu trữ, đưa bất cứ thứ gì lên chuỗi vĩnh viễn, cuối cùng các nút đầy đủ phải gánh chịu chi phí lưu trữ ngày càng cao. Điều này dẫn đến một vấn đề: chi phí tham gia vào mạng lưới đó sẽ được nâng lên tối đa.
Giả sử tổng dung lượng dữ liệu trạng thái/tài khoản của một blockchain vượt quá 1TB, thì không phải ai cũng có thể dễ dàng đồng bộ toàn bộ lịch sử trạng thái và giao dịch. Trong trường hợp này, ngay cả khi bạn có thể đồng bộ được toàn bộ trạng thái, bạn cũng rất khó tự mình xác minh lịch sử giao dịch tương ứng, điều này sẽ làm suy yếu tính không cần tin cậy, là giá trị cốt lõi của blockchain.
Quỹ Ethereum đã nhận ra vấn đề trên và đưa ra thiết kế về cơ chế cho thuê lưu trữ trong EIP-103, nhưng chúng tôi cho rằng đây không phải là giải pháp tối ưu.
Chúng tôi đã đề xuất một mô hình trạng thái hoàn toàn mới tại Nervos, gọi là "Cell", có thể coi là một sự mở rộng của UTXO. Trong trạng thái UTXO của Bitcoin, bạn chỉ có thể lưu trữ số dư Bitcoin, nhưng trong Cell, bạn có thể lưu trữ bất kỳ loại dữ liệu nào, và số lượng tài sản gốc Bitcoin và giá trị integer được tổng quát hóa thành "Capacity" để xác định dung lượng tối đa của Cell.
Bằng cách này, chúng tôi đã liên kết số lượng tài sản gốc và kích thước trạng thái trên CKB. Mỗi Cell không thể chiếm dụng dung lượng vượt quá giới hạn của nó, do đó tổng dung lượng dữ liệu sẽ được duy trì trong một phạm vi nhất định.
Hơn nữa, chú
Lấy CKB làm ví dụ, Người dùng SoV sử dụng tài sản gốc là token CKB làm phương tiện lưu trữ giá trị, trong khi Người dùng Utility sử dụng Cell để lưu trữ trạng thái. Người dùng SoV từ chối sự pha loãng giá do lạm phát token CKB, trong khi Người dùng Utility phải trả phí lưu trữ trạng thái cho các thợ đào, phí này tỷ lệ với thời gian lưu trữ dữ liệu và không gian chiếm dụng.
Chúng tôi sẽ tiếp tục phát hành các token CKB mới trên mạng để tạo ra tỷ lệ lạm phát cố định và trả cho các thợ đào, điều này sẽ làm giảm giá trị của các token trong tay Người dùng Utility (đây là một trong ba chế độ phát hành trong mô hình kinh tế CKB, được gọi là "Phát hành cấp 2", với 1,344 tỷ token CKB được phát hành mỗi năm, chi tiết có thể xem trong "Giải mã Stable++: Giao thức stablecoin RGB++ chính thức ra mắt").
Tài sản của Người dùng SoV cũng bị pha loãng trong quá trình này, vì vậy chúng tôi có thể cung cấp một số khoản trợ cấp cho họ để bù đắp thiệt hại do lạm phát (đây chính là việc chia sẻ lợi nhuận từ NervosDAO sau này). Có nghĩa là, lợi nhuận mà các thợ đào thu được từ lạm phát CKB thực sự chỉ do Người dùng Utility trả. Chúng tôi sẽ sớm phát hành một bản kinh tế học token CKB, trong đó sẽ giải thích chi tiết các vấn đề liên quan.
Dựa trên thiết kế kinh tế token như vậy, ngay cả khi không có bất kỳ hoạt động giao dịch nào trên chuỗi CKB, các thợ đào vẫn có thể nhận được phần thưởng, do đó chúng tôi có thể tích hợp với bất kỳ "lớp lưu trữ giá trị" hoặc Layer2 nào. Tóm lại, chúng tôi đã giải quyết vấn đề "đói" Layer1 thông qua lạm phát cố định có chủ ý.
3. Thiếu các nguyên tố mã hóa
Người dùng cần các nguyên tố mã hóa khác nhau để sử dụng các phương thức mã hóa hoặc các thuật toán chữ ký khác nhau, chẳng hạn như Schnorr, BLS, v.v.
Để trở thành một chuỗi Layer1, cần phải xem xét cách tương tác với Layer2. Trong cộng đồng Ethereum, một số người đề xuất sử dụng ZK hoặc Plasma để triển khai Layer2, nhưng nếu không có các nguyên tố liên quan đến ZK, làm thế nào để hoàn thành việc xác minh trên Layer1?
Ngoài ra, Layer1 cũng cần xem xét khả năng tương tác với các Layer1 khác. Lấy Ethereum làm ví dụ, một số người yêu cầu nhóm Ethereum tiền xử lý hàm băm Blake2b thành một mã vận hành tương thích với EVM. Mục đích của đề xuất này là để kết nối Zcash và Ethereum, để người dùng có thể giao dịch giữa hai chuỗi. Mặc dù đề xuất này đã được đưa ra từ hai năm trước, nhưng cho đến nay vẫn chưa được thực hiện, nguyên nhân là do thiếu các nguyên tố mã hóa tương ứng, điều này gây ra rào cản nghiêm trọng đối với sự phát triển của Layer1.
Để giải quyết vấn đề này, CKB đã xây dựng một máy ảo trừu tượng hóa cao, đó là CKB-VM, hoàn toàn khác biệt so với máy ảo Bitcoin và EVM. Ví dụ, Bitcoin có một mã vận hành chuyên dụng là OP_CHECKSIG để xác minh chữ ký secp256k1 trong các giao dịch Bitcoin. Trong CKB-VM, chữ ký secp256k1 không cần xử lý đặc biệt, chỉ cần sử dụng các script hoặc hợp đồng thông minh do người dùng tự định nghĩa.
CKB cũng sử dụng secp256k1 làm thuật toán chữ ký mặc định, nhưng nó chạy trong CKB-VM, chứ không phải là một nguyên tố mã hóa được cứng hóa.
Lý do CKB xây dựng máy ảo là vì việc chạy các nguyên tố mã hóa trong các máy ảo khác như EVM rất chậm, vì vậy cần phải cải thiện tình trạng này. Việc xác minh một chữ ký secp256k1 đơn lẻ trong EVM mất khoảng 9 mili giây, trong khi sử dụng cùng một thuật toán trong CKB-VM chỉ mất 1 mili giây, tăng gần 10 lần hiệu suất.
Vì vậy, giá trị của CKB-VM là người dùng có thể tự định nghĩa các nguyên tố mã hóa trong đó, và hầu hết các nguyên tố này đều có thể tương thích với CKB-VM, vì CKB-VM sử dụng tập lệnh RISC-V, bất kỳ ngôn ngữ nào được biên dịch bởi GCC (Bộ sưu tập Trình biên dịch GNU) đều có thể chạy trên CKB.
Ngoài ra, tính tương thích cao của CKB-VM cũng nâng cao độ an toàn của CKB. Như các nhà phát triển thường nói "Đừng tự viết lại các thuật toán mã hóa, bạn sẽ luôn làm sai", việc tự định nghĩa các thuật toán mã hóa thường dẫn đến những rủi ro an ninh không thể lường trước.
Tóm lại, mạng CKB đã sử dụng nhiều phương pháp để giải quyết ba vấn đề mà tôi đã nêu đối với các mạng L1, đây là lý do tại sao CKB có thể được gọi là một mạng Layer1 đủ tiêu chuẩn.