Vào ngày 26 tháng 10, Hội nghị thượng đỉnh toàn cầu về chuỗi khối lần thứ 7 do Wanxiang Blockchain Labs tổ chức đã được tổ chức tại Thượng Hải. Kiến trúc sư mạng Nervos Xie Hanjian đã chia sẻ trong một bài chia sẻ có tiêu đề "Sự trừu tượng hóa và sự tiến hóa của chuỗi khối" rằng quản trị và trừu tượng hóa là một thách thức mới đối với các chuỗi khối. Ethereum đã thay đổi mọi thứ. Nó khái quát hóa công nghệ chuỗi khối. Nó tìm kiếm các ứng dụng sử dụng công nghệ chuỗi khối, phát hiện ra những điểm chung của chúng và sau đó tạo ra một nền tảng cho các ứng dụng, tình huống và nhu cầu khác nhau. Có thể tạo nhiều ứng dụng khác nhau trên Internet, bao gồm cả thanh toán, trò chơi , vân vân. Ethereum là một hệ thống có mức độ trừu tượng cao hơn và chuỗi khối trong tương lai sẽ không theo đuổi hiệu suất tốt hơn mà là mức độ trừu tượng cao hơn và thiết kế tổng quát hơn. Ông tin rằng có ba vấn đề ở cấp độ trừu tượng của chuỗi khối, chẳng hạn như hệ thống tài khoản cụ thể, thuật toán mật mã đặc biệt và thời gian chạy đặc biệt. Chuỗi khối nên theo đuổi mức độ trừu tượng cao hơn và hiệu suất là một sản phẩm phụ.
Sau đây là toàn văn bài phát biểu:
Xin chào tất cả mọi người! Tôi là Xie Hanjian, kiến trúc sư của Nervos Network, rất vui được chia sẻ với các bạn chủ đề mà tôi muốn nói hôm nay - "Sự trừu tượng hóa và sự tiến hóa của chuỗi khối".
Thách thức lớn nhất đối với blockchain là gì?
Tôi không biết bạn đã đọc một câu như vậy chưa, có nghĩa là: Thách thức lớn nhất đối với blockchain mới hiện nay không phải là "tốc độ" và "thông lượng", mà là "quản trị".
Cái gọi là chuỗi khối thế hệ thứ hai, chuỗi khối mới đã phát triển được năm sáu năm, nếu xem lại một số ý kiến trước đây thì có thể thấy suy nghĩ lúc đó có thể không đúng lắm.
Vài năm trước, khi mọi người muốn xây dựng một chuỗi khối mới, họ nghĩ: "Nếu tôi giải quyết vấn đề hiệu suất của chuỗi khối, tôi sẽ tạo ra một thế hệ hệ thống mới có thể đánh bại Ethereum, và sau đó tôi có thể làm gì? Làm thế nào?" nó?" và vân vân.
Tuy nhiên, sự phát triển của ngành công nghiệp blockchain trong vài năm qua đã làm sai lệch ý tưởng này, bởi vì chúng ta có thể thấy rằng các chuỗi khối mới đã ra đời và hiệu suất của chúng thực sự rất tốt, nhưng mọi người vẫn nghĩ rằng chúng ta vẫn đang ở kỷ nguyên Ethereum, đã không bước vào kỷ nguyên tiếp theo và không cảm nhận được kỷ nguyên từ " Bitcoin " đến " Ethereum ", cảm giác này không có, mặc dù chuỗi khối mới ngày nay có hiệu suất rất tốt và có thể xử lý hàng nghìn giao dịch.
Một số người nói rằng thách thức lớn nhất mà chúng ta phải đối mặt là "quản trị".
Trên thực tế, tôi cũng đồng ý rằng "quản trị" thực sự là một vấn đề lớn mà ngành công nghiệp blockchain hiện đang phải đối mặt và câu hỏi này là một "Câu hỏi mở" không có câu trả lời. Các cộng đồng blockchain khác nhau và các nhóm blockchain khác nhau đang thảo luận về nó. Làm thế nào để quản lý một vấn đề như vậy mở dự án tự trị P2P. Quản trị quả thực là một bài toán khó.
Nhưng tôi muốn nói rằng đây không phải là vấn đề duy nhất, vì vậy "Trừu tượng hóa" và "Trừu tượng hóa" cũng rất quan trọng.
Vấn đề được thảo luận trong "quản trị" là - nếu chúng ta với tư cách là một cộng đồng có thể quyết định liệu nền tảng chuỗi khối có nên làm điều gì đó hay không, thì mức độ "trừu tượng" của chuỗi khối là xác định những gì có thể được chuyển đến bảng để được quản lý và thảo luận, thảo luận phải làm gì hoặc không nên làm gì.
Do đó, tôi nghĩ "sự trừu tượng hóa" cũng là một thách thức rất quan trọng đối với các chuỗi khối mới.
"trừu tượng" là gì?
Bản thân từ này là trừu tượng.
Bản thân trừu tượng là một từ tương đối kỹ thuật, và có hai cách giải thích, chúng ta chỉ cần quan tâm đến cách giải thích thứ nhất: cái gọi là trừu tượng hóa là một quá trình, chúng ta loại bỏ tính đặc thù khỏi một hệ thống, sau đó tạo ra tính tổng quát và tính phổ quát từ hệ thống .
Đây là một quá trình tổng quát hóa, bằng cách loại bỏ các thiết kế đặc biệt và tìm ra điểm chung, hệ thống có thể trở nên tổng quát hơn và áp dụng cho nhiều tình huống hơn.
Cách giải thích này có thể còn rất trừu tượng, mọi người nên nhớ từ khóa là phải gạt bỏ cái “đặc thù”, loại bỏ cái “đặc thù” ra khỏi hệ thống, tìm những cái “chung” hơn trong hệ thống và đưa vào thiết kế để tạo ra "chung chung".
Giải thích bằng một ví dụ không quá blockchain.
Bạn có thể đã từng chơi máy chơi game, ít nhất là khi tôi còn nhỏ, tôi sẽ chơi cái gọi là máy trò chơi điện tử lớn trong các trò chơi điện tử. Nếu bạn biết một cỗ máy như vậy, bạn sẽ biết rằng mỗi cỗ máy thực sự tương ứng với một trò chơi, đối với một cỗ máy arcade, thiết kế hệ thống là một thiết kế tích hợp từ phần mềm đến phần cứng, tất cả các thiết kế đều được thiết kế xoay quanh một mục đích, đó là trò chơi này.
Khi chúng tôi cần tạo một trò chơi mới khác, tôi cần thiết kế một máy mới, vì vậy có mười hoặc hai mươi máy trong phòng trò chơi và mỗi máy là một trò chơi khác nhau.
Ngành công nghiệp game đã phát triển đến mức thứ phổ biến nhất hiện nay không còn là máy thùng, mà là những nền tảng game tổng quát hơn như XBox.
XBox là một thiết kế chung, bạn có thể thiết kế nhiều trò chơi khác nhau cho XBox, sau đó bạn chỉ có thể mua các trò chơi khác nhau để chạy và chơi trên hệ thống này.
Do đó, từ arcade đến XBOX là một quá trình chung, nhìn từ một góc độ khác, XBox là một thiết kế có mức độ trừu tượng cao hơn, có thể áp dụng cho nhiều tình huống hơn, có rất ít thứ đặc biệt được xây dựng cho từng trò chơi cụ thể và hầu như không có.
Chính vì nó không có những chi tiết đặc biệt đó mà các nhà phát triển trên nền tảng này có thể điền vào các chi tiết để nền tảng có thể thích ứng với các nhu cầu khác nhau.
Khi chúng tôi kiểm tra sự phát triển của ngành công nghiệp blockchain, quá trình kiểm tra "Bitcoin" và "Ethereum" cũng giống nhau.
"Bitcoin" muốn làm gì?
Từ sách trắng và tiêu đề, chúng ta có thể thấy mục đích ban đầu là hiện thực hóa hệ thống thanh toán ngang hàng, đây là một hệ thống có mục đích duy nhất rất rõ ràng nên thiết kế hệ thống của nó cũng dựa trên mục đích này.
Trong thời đại trước khi Ethereum xuất hiện, nếu bạn vẫn còn ấn tượng, chúng tôi muốn mọi người trên toàn thế giới thấy rằng công nghệ cơ bản của "Bitcoin" là rất có giá trị, cho dù đó là chuỗi khối hay sổ cái phân tán.
Bạn có thể làm gì khi chúng tôi muốn sử dụng công nghệ này để làm những việc khác? Tất cả những gì bạn có thể làm là tập trung vào mã "Bitcoin", không sử dụng mã "Bitcoin" để làm bất cứ điều gì.
Nhưng sự xuất hiện của Ethereum đã thay đổi tất cả điều này. Ethereum nói rằng chúng ta không cần phải rắc rối như vậy. Chúng ta có thể biến Bitcoin và chuỗi khối thành một hệ thống tổng quát hơn. Chúng ta cần tìm ra điểm chung của các yêu cầu ứng dụng sử dụng công nghệ chuỗi khối. Tạo nền tảng loại bỏ thiết kế đặc biệt chỉ dành cho dịch vụ thanh toán mà tìm hiểu đa dạng nhu cầu chung và thiết kế nền tảng cho nhu cầu chung.
Do đó, Ethereum có một máy ảo và một môi trường hoạt động, và các ứng dụng khác nhau có thể được xây dựng trên Ethereum, chẳng hạn như thanh toán, cho vay, trò chơi, v.v.
Từ "Bitcoin" đến "Ethereum" là một quá trình tổng quát hóa.
Nói cách khác, Ethereum thực sự là một mức độ trừu tượng cao hơn so với "Bitcoin", giống như XBox được so sánh với các trò chơi điện tử.
Nếu chúng ta đi theo dòng suy nghĩ này, chúng ta có thể dễ dàng nghĩ ra cách làm tốt hơn, nếu chúng ta thực sự muốn tạo ra một blockchain khác với thế hệ hiện tại, thì thế hệ tiếp theo sẽ như thế nào?
Nó có thể không phải là hiệu suất tốt hơn, nó phải có tính trừu tượng cao hơn.
Làm thế nào để làm cho hệ thống có mức độ trừu tượng cao hơn?
Nhớ lại định nghĩa vừa rồi, cần phải tìm thiết kế đặc biệt và các chi tiết đặc biệt bên trong, nếu nó không phải là thứ phổ biến, hãy cắt bỏ nó và tìm cách biến nó thành một thiết kế tổng quát hơn.
Trong hệ thống blockchain ngày nay, những thiết kế đặc biệt là gì? Tôi tìm thấy một vài điều để chia sẻ với bạn:
(1) Hệ thống tài khoản cụ thể
Blockchain là một hệ thống tương tác giữa con người và tài sản, vì trong đó có con người và người dùng nên bạn cần tạo tài khoản và danh tính cho mỗi người dùng để đại diện cho nó. Làm cách nào để xác minh rằng tài khoản thuộc về ai đó? Mô hình dữ liệu bên trong tài khoản là gì? Những thứ này được mã hóa cứng trong hệ thống chuỗi khối ngày nay và được các nhà thiết kế chuỗi khối lựa chọn để giúp các nhà phát triển và người dùng. Là người dùng hoặc nhà phát triển, bạn không có quyền thay thế nó.
Lấy việc xác minh trong tài khoản làm ví dụ. Cho dù đó là Bitcoin hay Ethereum thì nó đều do hệ thống chỉ định. Khi bạn muốn gửi yêu cầu đến hệ thống và tạo một giao dịch, bạn phải sử dụng một thuật toán mật mã cụ thể để ký vào đó. Điều này là bắt buộc.thiết kế của. Là người dùng blockchain, bạn không có cách nào để thay đổi nó, nó được mã hóa cứng vào hệ thống.
Tuy nhiên, một thiết kế bắt buộc như vậy thực sự sẽ gây ra nhiều vấn đề, trong đó rõ ràng nhất là ngưỡng người dùng blockchain rất cao. Các lựa chọn cụ thể được thực hiện do các lý do lịch sử khác với các thuật toán mật mã được sử dụng trong nhiều tình huống Internet ngày nay. Ví dụ: mọi điện thoại di động hiện nay đều có chip bảo mật và việc sử dụng chip bảo mật để giữ khóa riêng là thuận tiện và an toàn nhất, nhưng chip bảo mật có thể sử dụng thuật toán R1 hoặc RSA thay vì thuật toán mã hóa được lựa chọn bởi blockchain , sự không tương thích sẽ khiến bạn sử dụng công nghệ ghi nhớ để thiết lập lại hệ thống tài khoản thay vì sử dụng hệ thống tài khoản hiện có.
Bây giờ, các hệ thống tài khoản khác là gì? Thực tế có nhiều hộp thư, nhận dạng khuôn mặt, nhận dạng sinh trắc học, v.v., nhưng những hộp thư này không tương thích với hệ thống tài khoản blockchain, đây là một trở ngại do thiết kế cụ thể mang lại.
(2) Thuật toán mật mã đặc biệt
Ví dụ: hôm nay tôi muốn phát triển một ứng dụng trên một chuỗi khối nhất định và tôi không muốn sử dụng các tùy chọn giới hạn do nền tảng này chỉ định, tôi nên làm gì? Bạn không thể làm bất cứ điều gì, bạn không thể làm bất cứ điều gì.
Trong Ethereum, có một Precompiles là một thuật toán mã hóa cụ thể được viết trong máy ảo EVM, nếu bạn không muốn sử dụng thuật toán này, bạn có thể thực hiện lại một thuật toán trong Solidity, nhưng hiệu quả rất thấp, bởi vì Bản thân EVM cũng rất kém hiệu quả.
Điều này gây ra vấn đề gì? Thuật toán mã hóa thực sự là một tiêu chuẩn, các quốc gia khác nhau có các tiêu chuẩn thuật toán mã hóa khác nhau, Hoa Kỳ cũng có bí mật và Trung Quốc có bí mật quốc gia, nhưng việc lựa chọn chuỗi khối không phải là bất kỳ loại tiêu chuẩn nào. Điều này có nghĩa là khi ứng dụng của blockchain muốn đi vào thực tế, rất khó để tương thích với các tiêu chuẩn hiện có, đây thực sự là một trở ngại cho việc thúc đẩy công nghệ blockchain.
(3) Môi trường thời gian chạy
Giờ đây, hầu hết tất cả các nền tảng blockchain đều hỗ trợ hợp đồng thông minh và hợp đồng thông minh cần chạy trong một môi trường thích hợp, có thể bao gồm các máy ảo và mô hình trạng thái. Bản thân môi trường thời gian chạy cũng có thể được chia thành thời gian tính toán, thời gian chạy, thời gian chạy xác minh, v.v., mỗi loại có nhiều tùy chọn khác nhau. Ví dụ, máy ảo có thể sử dụng máy ảo EVM, hoặc RISC-V, v.v. Nhưng mọi thiết kế chuỗi khối được thấy ngày nay là một sự kết hợp cụ thể do nhà thiết kế chuỗi khối lựa chọn cho nhà phát triển và nhà phát triển không thể tự do chọn các tùy chọn khác nhau, điều này sẽ mang lại ngưỡng cho nhà phát triển. Để vào hệ thống chuỗi khối, các nhà phát triển có thể cần phải học một tập hợp những thứ hoàn toàn khác với những thứ được sử dụng trong công việc ngày nay, theo chúng tôi, hạn chế này cũng rất lớn.
Không chỉ có chi phí học tập cho các nhà phát triển mà còn có tác động đến hiệu suất và bảo mật của chuỗi khối. Nói chung, người tạo hệ thống chuỗi khối đã đưa ra lựa chọn cho bạn và miễn là bạn sử dụng hệ thống chuỗi khối, bạn không còn có thể đưa ra lựa chọn nào khác.
Ba khía cạnh trên là những vấn đề tương đối lớn ở cấp độ trừu tượng của chuỗi khối có thể được nhìn thấy ngay bây giờ và chúng tôi cũng hy vọng sẽ giải quyết được những vấn đề này. Cách giải quyết cũng rất đơn giản. Bây giờ vấn đề đã được tìm thấy, cần trừu tượng hóa tài khoản, trừu tượng hóa mật mã và trừu tượng hóa thời gian chạy để cung cấp cho người dùng và nhà phát triển nhiều lựa chọn hơn.
Chúng ta làm điều đó như thế nào? Tại lớp trừu tượng hóa tài khoản, Nervos đã giới thiệu một mô hình tài khoản dữ liệu mới - Mô hình ô. Với tính năng trừu tượng hóa tài khoản, loại hiệu ứng nào có thể đạt được? Các ứng dụng trên tài khoản trừu tượng có thể được sử dụng bởi người dùng ở những nơi khác nhau.
Ví dụ: nếu bạn là người dùng Internet thông thường và bạn chỉ có một địa chỉ email, bạn có thể trực tiếp sử dụng các ứng dụng trên chuỗi khối mà không cần tải xuống mục nhập ví mới và không cần đặt khóa riêng của mình hoặc ghi nhớ. Bạn có thể Chỉ cần sử dụng địa chỉ email làm tài khoản của mình.
Chúng tôi cũng có thể sử dụng chip bảo mật của điện thoại di động để giúp bạn thiết lập tài khoản một cách an toàn và thuận tiện. Nếu chip điện thoại di động của bạn được liên kết với nhận dạng khuôn mặt, bạn có thể trực tiếp sử dụng nhận dạng khuôn mặt để kiểm soát tài khoản, trong toàn bộ quá trình, bạn không cần tìm hiểu bất cứ điều gì đặc biệt về chuỗi khối, chỉ cần sử dụng những gì bạn có.
Đã có nhiều ứng dụng trên Nervos đang làm việc này.Các ứng dụng như Unipass là một hệ thống tài khoản chuỗi khối phi tập trung dựa trên e-mail và các ứng dụng như DAS cũng sử dụng các đặc điểm của tài khoản trừu tượng để tạo ra Người dùng Internet, Người dùng Ethereum và Người dùng EOS có thể trực tiếp vận hành các ứng dụng, không chỉ người dùng Nervos mới có thể vận hành các ứng dụng, đó là khả năng tương tác.
Làm thế nào để làm trừu tượng mật mã?
Trọng tâm của sự trừu tượng hóa mật mã là nhu cầu về các máy ảo rất hiệu quả. Máy ảo hiệu suất cao do chúng tôi tự triển khai là CKB-VM, sử dụng cấp lệnh mở RISC-V. Nhờ các đặc điểm của cấp lệnh RISC-V, CKB-VM cho phép các nhà phát triển sử dụng C và Rust để triển khai các thuật toán mã hóa. , lợi ích không chỉ là hiệu quả cao mà nhiều triển khai thuật toán mã hóa trưởng thành có thể được chuyển trực tiếp sang chuỗi khối để chạy, nghĩa là chúng có thể được chuyển đến Nervos để chạy.
Việc triển khai các thuật toán mật mã thực sự rất khó khăn, nếu chúng ta triển khai các thuật toán mật mã trước sẽ rất dễ xảy ra sai sót. Làm thế nào để đánh giá liệu việc triển khai thuật toán mật mã có an toàn hay không? Tiêu chuẩn kiểm tra tốt nhất duy nhất là thời gian sử dụng và thời gian sử dụng, càng nhiều người sử dụng, sử dụng càng lâu thì càng an toàn.
Ưu điểm của việc có thể ghép trực tiếp mật mã do C và Rust thực hiện là bạn không cần phải triển khai lại một bộ, nếu bạn sử dụng Solidity để triển khai lại một bộ thì tính bảo mật rất đáng để cân nhắc, vì nó là một thứ mới, có thể có lỗi trong đó và sẽ cần thời gian để sửa.
Thông qua EVM hiệu suất cao và EVM hỗ trợ C và Rust, hầu hết các thuật toán mã hóa hiện tại có thể được sử dụng lại một cách hiệu quả, bởi vì hầu hết các thuật toán mã hóa hiện có đều được triển khai trong C và Rust.
Làm thế nào để thực hiện trừu tượng hóa trong thời gian chạy?
Đối với các nhà phát triển, các nhà phát triển sẽ không bị buộc phải sử dụng một ngôn ngữ nhất định để phát triển mà có thể sử dụng ngôn ngữ mà họ đã quen thuộc để phát triển, cho dù đó là JAVAscript, Ruby, Rust, C, v.v., đều có thể được sử dụng để phát triển . Hơn nữa, khi viết một hợp đồng thông minh, bố cục bộ nhớ trong và bố cục dữ liệu của hợp đồng thông minh không được quy định mà có thể được lựa chọn linh hoạt, đó là điều chúng tôi muốn đạt được.
Nervos thực sự đang cải thiện chuỗi khối theo hướng này. Thứ chúng tôi muốn tạo có thể không phải là một chuỗi khối nhanh hơn, mà là một chuỗi khối có mức độ trừu tượng cao hơn. Nhưng khi mức độ trừu tượng có thể được thực hiện cao hơn, chúng ta có thể làm được nhiều việc hơn, cho dù đó là hiệu suất hay thông lượng, nó sẽ là tác dụng phụ của mức độ trừu tượng cao hơn.
Khi mức độ trừu tượng cao hơn, chúng tôi sẽ chuyển nhiều thứ hơn ra khỏi chuỗi hoặc chuyển sang Lớp 2 như Vitalik đã nói sáng nay. Sự tách biệt của Lớp 1 và Lớp 2, hoặc sự tách biệt giữa tính toán và xác minh là tác dụng phụ của sự thay đổi mức độ trừu tượng, vì vậy điều chúng ta nên theo đuổi là sự thay đổi của mức độ trừu tượng, thay vì trực tiếp theo đuổi sự thay đổi hiệu suất.
Giống như chúng ta chuyển từ XBOX sang PC vậy. Mặc dù XBOX là một nền tảng chung nhưng nó vẫn mang đến cho mọi người rất nhiều hạn chế, chúng ta có thể tạo các trò chơi khác nhau cho nó nhưng không thể thay đổi phần cứng của nó. PC cũng đã loại bỏ hạn chế này và cũng đã xử lý tổng thể hơn ở cấp độ phần cứng, PC cho phép mọi người thay đổi card đồ họa, CPU, bộ nhớ, bo mạch chủ và ổ cứng. Vì vậy, PC là một hệ thống tổng quát hơn, nó là một tiêu chuẩn. Ở góc độ này, PC là một hệ thống có mức độ trừu tượng cao hơn XBOX, có khả năng làm những việc cao hơn, đáp ứng nhiều nhu cầu của người dùng hơn và mang lại nhiều tiện ích hơn cho các nhà phát triển.