Biên soạn bởi: Wuyue & Baiding, geek web3
Bài viết này là bài phát biểu của Nervos Lianchuang Jan tại Hội nghị Câu lạc bộ Blockchain+Crypto HBS năm 2019 chủ đề xoay quanh mối quan hệ giữa Lớp 2 và Lớp 1, đồng thời tuyên bố rõ ràng rằng blockchain mô-đun sẽ là hướng đi đúng đắn. Nó cũng nói về vấn đề cơ chế lưu trữ dữ liệu blockchain. Đồng thờiJan cũng đưa ra một chủ đề khá thú vị: Nếu sự trỗi dậy của Lớp 2 dẫn đến nạn đói của Lớp 1 thì giải quyết thế nào.
Là một trong những nhóm đầu tiên hỗ trợ Lớp 2 và các câu chuyện về blockchain mô-đun, các ý tưởng của Nervos khá có tính tương lai trong năm 2018 và 19. Vào thời điểm đó, cộng đồng Ethereum vẫn lo ngại về sharding Có những ảo tưởng phi thực tế, và câu chuyện về chuỗi nguyên khối hiệu suất cao vẫn đang trong tình trạng hỗn loạn và vẫn chưa được làm sai lệch hoàn toàn.
Nhưng hôm nay, năm 2024, nhìn lại những vấn đề bộc lộ trong Ethereum Lớp 2 trong thực tế, cũng như những thiếu sót của "chuỗi công khai hiệu suất cao" mà Solana đại diện về mặt phân cấp và sự không tin cậy, tôi có phải nói rằng quan điểm của Jan 5 năm trước là rất có căn cứ. Vì quan tâm đến chính Lớp 2, "Geek Web3" đã biên soạn các bài giảng của Jan thành phiên bản văn bản và xuất bản nó tại đây. Những người đam mê Lớp 2 từ các cộng đồng Nervos, Ethereum và Bitcoin đều có thể cùng nhau nghiên cứu và thảo luận.
Sau đây là nguyên văn bài giảng của Jan.
Định nghĩa của Layer1 và Layer2
Đây là định nghĩa của tôi về L1 và L2 (mạng hai lớp), như trong hình.
Trước hết, chúng ta phải nhấn mạnh rằng Nerovs chỉ là một khu vực cố gắng đáp ứng nhu cầu của một nền kinh tế phi tập trung. Mạng blockchain không chịu trách nhiệm giải quyết “mọi vấn đề”. Theo hiểu biết của chúng tôi, chìa khóa tạo nên sự khác biệt giữaLớp 1 và Lớp 2 nằm ở sức mạnh của sự đồng thuận. Mạng L1 phải có sự đồng thuận rộng rãi nhất, tức là "sự đồng thuận toàn cầu". Thông qua sự đồng thuận toàn cầu không được phép, bất kỳ ai trên thế giới đều có thể tham gia vào quá trình đồng thuận của L1 và cuối cùng Lớp 1 có thể đóng vai trò là "mỏ neo" của nền kinh tế phi tập trung. Từ góc độ này, chúng ta có thể gọi L1 là "lớp đồng thuận".
Ngược lại, phạm vi đồng thuận của mạng L2 sẽ nhỏ hơn. Những người tham gia chỉ có thể đến từ một quốc gia nhất định, một ngành nhất định hoặc thậm chí là một công ty hoặc tổ chức nhất định . hoặc một cộng đồng rất nhỏ. Sự hy sinh của L2 trong phạm vi đồng thuận là một cái giá, để đổi lấy sự tiến bộ ở các khía cạnh 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 ta 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 chuỗi chéo.
Phải nhấn mạnh rằng mục đích xây dựng mạng L2 của chúng tôi không chỉ là giải quyết vấn đề về khả năng mở rộng của blockchain mà còn vì kiến trúc phân lớp là làm cho "blockchain mô-đun" trở thành cách tiếp cận dễ dàng nhất . Cái gọi là blockchain mô-đun là đặt các loại vấn đề khác nhau vào các mô-đun khác nhau để giải quyết chúng.
Nhiều người đã thảo luận về các vấn đề tuân thủ và quy định của blockchain, vậy làm cách nào để chúng tôi tích hợp Bitcoin hoặc Ethereum vào khung quy định hiện có? Kiến trúc phân lớp có thể là câu trả lời cho vấn đề này. Việc thêm trực tiếp logic kinh doanh đáp ứng các yêu cầu quy định ở cấp Lớp 1 có thể phá hủy tính phân cấp và tính trung lập của nó, do đó, logic liên quan đến tuân thủ chỉ có thể được triển khai trên Lớp 2.
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ư thiết lập một chuỗi khối nhỏ dựa trên quyền hoặc mạng kênh trạng thái. Bằng cách này, việc tuân thủ đạt được mà không ảnh hưởng đến tính phân cấp và tính trung lập của Lớp 1.
Ngoài ra, chúng tôi cũng có thể giải quyết xung đột giữa bảo mật 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 tính bảo mật cho khóa riêng của mình, bạn phải hy sinh một số tiện lợi nhất định và điều này cũng đúng đối với blockchain. bạn phải hy sinh một cái gì đó. Ví dụ, hiệu suất của dây chuyền, v.v.
Nhưng nếu sử dụng kiến trúc phân lớp, chúng tôi hoàn toàn có thể theo đuổi vấn đề bảo mật trên mạng L1 và hy sinh một chút bảo mật trên mạng L2 để đổi lấy trải nghiệm người dùng tốt hơn. Ví dụ: chúng ta có thể sử dụng các kênh trạng thái trên L2 để tối ưu hóa hiệu suất mạng và giảm độ trễ. Do đó, thiết kế của Lớp 2 không gì khác hơn là sự đánh đổi giữa bảo mật và trải nghiệm người dùng.
Nội dung trên đương nhiên dẫn đến một câu hỏi: Có thể sử dụng bất kỳ blockchain nào làm Layer1 không?
Câu trả lời là không, trước tiên chúng ta phải rõ ràng,< mạnh >Mạng lớp 1 được phân cấp và bảo mật hơn tất cả,bởi vì chúng ta phải đạt được khả năng chống kiểm duyệt thông qua phân cấp. Lý do cơ bản để theo đuổi bảo mật Layer1 là L1 là gốc của toàn bộ mạng blockchain và là mỏ neo của toàn bộ hệ thống kinh tế tiền điện tử.
Theo tiêu chí như vậy,Bitcoin và Ethereum chắc chắn là các mạng L1 cổ điển nhất và chúng có phạm vi đồng thuận cực kỳ mạnh mẽ. Ngoại trừ hai điều này, hầu hết các blockchain đều không đáp ứng tiêu chuẩn L1 và có mức độ đồng thuận thấp. Ví dụ: sự đồng thuận của EOS không đạt tiêu chuẩn và chỉ có thể hoạt động như một mạng L2, chưa kể rằng một số quy tắc của nó chỉ áp dụng cho chính nó.
Các vấn đề tồn tại trong mạng Layer1 hiện tại
Sau khi làm rõ định nghĩa về Layer1, chúng tôi muốn chỉ ra rằng có ba vấn đề trong một số mạng L1 hiện có . Những vấn đề này Ngay cả trong Bitcoin và Ethereum, nó vẫn tồn tại ở một mức độ nhất định:
< strong>1. Bi kịch của vấn đề lưu trữ dữ liệu của Commons
Chúng ta cần phải trả một khoản phí nhất định khi sử dụng blockchain, nhưng trong mô hình kinh tế Bitcoin, thiết kế cấu trúc phí chỉ xem xét Ngoài chi phí tính toán và chi phí băng thông mạng, chi phí lưu trữ dữ liệu không được xem xét một cách chín chắn.
Ví dụNgười dùng chỉ cần trả tiền một lần để lưu trữ dữ liệu trên chuỗi, nhưng thời gian lưu trữ là vĩnh viễn, vì vậy mọi người có thể lạm dụng tài nguyên lưu trữ và đưa bất kỳ thứ gì vào chuỗi vĩnh viễn. Các nút đầy đủ phải chịu chi phí lưu trữ ngày càng cao hơn. Điều này dẫn đến một vấn đề: chi phí của bất kỳ nhà khai thác nút nào muốn tham gia vào mạng sẽ được tối đa hóa.
Giả sử trạng thái/tài khoản của một blockchain nhất định Nếu tổng dữ liệu trên 1TB thì không phải ai cũng có thể dễ dàng đồng bộ hóa toàn bộ trạng thái và lịch sử giao dịch. Trong trường hợp này, ngay cả khi bạn có thể đồng bộ hóa đến trạng thái hoàn chỉnh, việc tự mình xác minh lịch sử giao dịch tương ứng sẽ khó khăn. Điều này sẽ làm suy yếu tính chất không tin cậy của blockchain và không tin cậy chính xác là giá trị cốt lõi của blockchain. chuỗi khối.
Ethereum Foundation nhận thức được các vấn đề nêu trên và do đó đã bổ sung thiết kế về hệ thống cho thuê lưu trữ vào EIP-103, nhưng chúng tôi tin 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 mới ở Nervos, được gọi là "Cell", có thể được coi là phần mở rộng của UTXO. Ở trạng thái Bitcoin UTXO, tất cả những gì bạn có thể lưu trữ là giá trị số dư của Bitcoin, trong khi Cell có thể lưu trữ bất kỳ loại dữ liệu nào và khái quát hóa số lượng và giá trị nguyên của Bitcoin UTXO thành "Dung lượng" để chỉ định cho Ô dung lượng lưu trữ tối đa.
Bằng cách này, chúng tôi liên kết số lượng tài sản gốc trên CKB với quy mô trạng thái. Không gian bị chiếm giữ bởi bất kỳ Ô nào không thể vượt quá giới hạn dung lượng của nó, do đó tổng lượng dữ liệu sẽ duy trì trong một phạm vi nhất định.
Và chúng tôi sử dụng tỷ lệ lạm phát mã thông báo phù hợp hơn để đảm bảo rằng kích thước của dữ liệu trạng thái không gây gián đoạn cho người vận hành nút. Bất kỳ ai cũng có thể tham gia vào mạng CKB. Họ có thể xác minh dữ liệu lịch sử và xác minh xem trạng thái cuối cùng có hợp lệ hay không. Đây là giải pháp của CKB cho vấn đề lưu trữ trong blockchain.
2. Vấn đề đói khát của Lớp 1
Nếu chúng ta mở rộng trên Lớp 2 và đưa một số lượng lớn các hoạt động giao dịch lên Lớp 2, chắc chắn nó sẽ là một kết quả là số lượng giao dịch trên Lớp 1 sẽ giảm và phần thưởng kinh tế của người khai thác/người vận hành nút Lớp 1 cũng sẽ giảm tương ứng. Trong trường hợp này, sự nhiệt tình của những người khai thác/người vận hành nút Lớp 1 sẽ giảm đi,cuối cùng dẫn đến giảm tính bảo mật của Lớp 1. Đây được gọi là vấn đề chết đói ở Lớp 1.
Để đưa ra một ví dụ điển hình, Nếu chuyển mọi hoạt động buôn bán sang L2 thì L1 là nền tảng của nó sẽ không bền vững. Vậy làm thế nào chúng ta có thể giải quyết vấn đề này?
Về vấn đề này, chúng tôi Việc phân biệt các loại người dùng trong mạng blockchain có thể được chia đơn giản thành Người dùng lưu trữ giá trị (người dùng SoV, người dùng lưu trữ giá trị) và Người dùng tiện ích (người dùng ứng dụng).
Vẫn lấy CKB làm ví dụ, Người dùng SoV sử dụng mã thông báo CKB của tài sản gốc làm phương tiện lưu trữ giá trị, trong khi Người dùng Tiện ích sử dụng Di động để lưu trữ trạng thái. Người dùng SoV không bao gồm việc giảm giá do lạm phát mã thông báo CKB gây ra, trong khi Người dùng tiện ích phải trả cho người khai thác một khoản phí lưu trữ trạng thái tỷ lệ thuận với thời lượng và không gian được lưu trữ dữ liệu chiếm giữ.
Chúng tôi sẽ tiếp tục phát hành phiên bản mới Mã thông báo CKB để tạo tỷ lệ lạm phát cố định và trả cho người khai tháctương đương với việc làm loãng giá trị mã thông báo trong tay Người dùng tiện ích (đây là một trong ba phương thức phát hành trong mô hình kinh tế CKB "Phát hành thứ cấp" của phương pháp này là phát hành cố định 1,344 tỷ mã thông báo CKB mỗi năm. Để biết chi tiết, vui lòng xem "Giải thích về Stable++: Thỏa thuận tiền tệ ổn định đầu tiên của Lớp RGB++ chính thức ra mắt").
Trong quá trình này, tài sản của người dùng SoV cũng bị pha loãng, vì vậy chúng tôi có thể cung cấp cho họ một khoản trợ cấp nhất định để bù đắp tổn thất do lạm phát (đây là cổ phiếu NervosDAO sau này). Nói cách khác, lợi ích mà thợ mỏ nhận được từ lạm phát CKB thực tế chỉ được trả bởi Người dùng Tiện ích. Chúng tôi sẽ sớm xuất bản bài báo kinh tế về token của CKB, trong đó các vấn đề liên quan sẽ được giải thích chi tiết.
Dựa trên thiết kế kinh tế mã thông báo như vậy, người khai thác có thể được trả tiền ngay cả khi không có hoạt động giao dịch nào trên chuỗi CKB và chúng tôi có thể tương thích với bất kỳ "lớp lưu trữ giá trị" hoặc Lớp2 nào. Tóm lại, chúng tôi giải quyết vấn đề nạn đói Lớp 1 thông qua lạm phát cố định có chủ ý.
3. Thiếu các nguyên tắc mã hóa
Người dùng cần các nguyên tắc mã hóa khác nhau để sử dụng các phương pháp mã hóa khác nhau hoặc các thuật toán chữ ký khác nhau, chẳng hạn như Schnorr, BLS, v.v.
Muốn trở thành vùng Layer1 Blockchain, phải xem xét cách tương tác với Layer2. Một số người trong cộng đồng Ethereum đã đề xuất sử dụng ZK hoặc Plasma để triển khai Lớp 2, nhưng nếu không có nguyên hàm nào liên quan đến ZK, làm cách nào bạn có thể hoàn tất xác minh trên Lớp 1?
Ngoài ra, Layer1 cũng nên xem xét khả năng tương tác với các Layer1 khác. Vẫn sử dụng Ethereum làm ví dụ, ai đó đã yêu cầu nhóm Ethereum biên dịch trước hàm băm Blake2b thành một opcode tương thích với EVM. Mục đích của đề xuất là kết nối Zcash và Ethereum để người dùng có thể giao dịch giữa hai bên. Mặc dù đề xuất trên đã được đề xuất cách đây hai năm nhưng cho đến nay nó vẫn chưa được thực hiện. Nguyên nhân là do thiếu các nguyên tắc mã hóa tương ứng, điều này đã cản trở nghiêm trọng sự phát triển của Lớp 1.
Để giải quyết vấn đề này, CKB đã xây dựng một máy ảo có tính trừu tượng cao, CKB-VM, hoàn toàn khác với Máy ảo Bitcoin và EVM. Ví dụ: Bitcoin có opcode OP_CHECKSIG chuyên dụng được sử dụng để xác minh chữ ký secp256k1 trong các giao dịch Bitcoin. Trong CKB-VM, chữ ký secp256k1 không yêu cầu xử lý đặc biệt và chỉ có thể xác minh các tập lệnh hoặc hợp đồng thông minh do người dùng xác định.
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 thay vì dưới dạng mã hóa nguyên thủy được mã hóa cứng.
Mục đích ban đầu của CKB khi xây dựng một máy ảo là việc chạy các nguyên tắc mã hóa nguyên thủy trong các máy ảo khác như EVM rất chậm nên tình trạng này cần phải được cải thiện. Việc xác minh một chữ ký secp256k1 trong EVM mất khoảng 9 mili giây, trong khi sử dụng cùng một thuật toán để tính toán trong CKB-VM chỉ mất 1 mili giây, tức là cải thiện hiệu quả gần mười lần.
Vậy giá trị của CKB-VM là như thế giờ đây Người dùng có thể tùy chỉnh các nguyên tắc mã hóa trong đó và hầu hết chúng đều tương thích với CKB-VM, vì CKB-VM áp dụng tập lệnh RISC-V và bất kỳ GCC nào (Bộ sưu tập trình biên dịch GNU, bộ sưu tập trình biên dịch được sử dụng rộng rãi) Tất cả các ngôn ngữ được biên dịch có thể chạy trên CKB.
Ngoài ra, khả năng tương thích cao của CKB-VM cũng giúp cải thiện tính bảo mật của CKB. Như các nhà phát triển luôn nói “Đừng triển khai phiên bản thuật toán mật mã của riêng bạn, bạn sẽ luôn làm sai”, các thuật toán mã hóa tự xác định thường mang đến những rủi ro bảo mật không thể lường trước.
Tóm lại, mạng CKB sử dụng nhiều phương pháp khác nhau để giải quyết ba vấn đề mà mạng L1 mà tôi đề xuất gặp phải.