Byte Jun đầu tiên sẽ giới thiệu với mọi người mật mã là gì. tóm lại,Mật mã học là môn khoa học nghiên cứu cách mã hóa và cách giải mã.。
Mã hóa và giải mã đã có từ thời cổ đại, chẳng hạn như “mật mã Caesar” nổi tiếng. Caesar là người sáng lập Đế chế La Mã. Ông được một số nhà sử học coi là hoàng đế vô danh của Đế chế La Mã và được biết đến với biệt danh “Caesar Đại đế”. Trên thực tế, bản thân Caesar cũng rất quan tâm đến việc viết những văn bản bí mật.
Trong cuộc chiến ở Gaul (nay là miền nam nước Pháp), Caesar không chỉ đánh bại kẻ thù mà còn thiết lập một mạng lưới tình báo sâu rộng và sâu rộng. Trong ghi chép về Chiến tranh Gallic, người ta đề cập đến việc bạn của ông, tướng La Mã Cicero, đã gửi những thông điệp bằng văn bản mật mã cho ông khi ông bị bao vây. Caesar sử dụng hình thức văn bản mật mã để tránh “khi tin bị địch chặn lại, địch sẽ không phát hiện được biện pháp đối phó của ta”.
Văn bản mật mã cổ điển này là “VIMRJSVGIQIRXW SRXLI AEC”, được mã hóa thông qua dịch chuyển bốn bit, chẳng hạn như chữ cái đầu R+4=V. Sau khi giải mã văn bản mật mã, văn bản đơn giản thu được là “TIẾP TỤC TRÊN ĐƯỜNG”, có nghĩa là “quân tiếp viện đang trên đường tới”.
Do đó, mật mã Caesar thực sự mã hóa các chữ cái bằng cách di chuyển các chữ cái trong văn bản thuần túy về phía sau theo một số cố định.
Với sự phát triển của thời đại, mã hóa và giải mã dần phát triển thành một ngành khoa học - mật mã. Trước khi xuất hiện blockchain, mật mã đã có rất nhiều ứng dụng trên Internet, chẳng hạn như thuật toán mã hóa bất đối xứng nổi tiếng nhất RSA. Sau đây Byte Jun trước tiên sẽ giới thiệu với mọi người thế nào là mã hóa đối xứng và thế nào là mã hóa bất đối xứng.
Mã hóa đối xứng có nghĩa là cùng một khóa được sử dụng để mã hóa và giải mã. Để so sánh để giúp mọi người hiểu, chúng tôi so sánh mã hóa với khóa và giải mã với mở khóa. Mã hóa đối xứng có nghĩa là cùng một khóa được sử dụng để khóa và mở khóa. Do đó, nhược điểm là cả hai bên tham gia giao dịch đều sử dụng cùng một khóa và không thể đảm bảo tính bảo mật.
Mã hóa bất đối xứng có hai khóa, một khóa là khóa chung (khóa chung) và khóa còn lại là khóa riêng (khóa riêng). Điều này giống như một chiếc ổ khóa có hai chìa khóa A và B. Để khóa ổ khóa cần có chìa khóa A và chìa khóa B để mở ổ khóa.
Thuật toán mã hóa RSA là một thuật toán mã hóa bất đối xứng. Nhiều giao thức Internet trước đây đã sử dụng RSA và hiện nay RSA cũng là thuật toán mã hóa bất đối xứng được sử dụng rộng rãi và tương thích nhất trong nhiều trình duyệt và giao thức email khác nhau.
Lý do khiến Internet phát triển đến quy mô hiện tại, vừa tính đến tính bảo mật vừa tiện lợi, không thể tách rời khỏi việc sử dụng rộng rãi mật khẩu. Ví dụ: SubtleCrypto, một thuật toán gần như được tìm thấy trong trình duyệt, thậm chí có thể được sử dụng trong môi trường chương trình nhỏ; và thuật toán WebAuthn, đã trở thành tiêu chuẩn được W3C khuyến nghị vào năm 2019, giúp mật mã trình duyệt mạnh mẽ như một ví phần cứng và việc sử dụng nó rất thuận tiện (có thể mở khóa bằng vân tay, quét khuôn mặt, v.v.).
Quay trở lại blockchain, nếu các cơ sở hạ tầng mật mã Internet này có thể được sử dụng trực tiếp, thay vì yêu cầu người dùng tải xuống các ứng dụng và plug-in ví cũng như thực hiện theo quy trình để tự lưu trữ các cụm từ ghi nhớ, thì ngưỡng người dùng đối với dApps có thể được giảm xuống đáng kể.
Tuy nhiên, mật mã của các chuỗi khối chính thống thường được mã hóa cứng ở cấp độ thấp nhất. Ví dụ:
Thuật toán chữ ký của các chuỗi khối này không tương thích với các hệ thống mật mã được sử dụng trên Internet chính thống và không thể sử dụng trực tiếp. Họ chỉ có thể dựa vào các cơ sở được cài đặt lại.
Sự khác biệt giữa chuỗi công khai Nervos CKB là bạn có thể sử dụng mật mã tùy chỉnh và mật mã không được mã hóa cứng ở phía dưới. Điều này có nghĩa là khi bạn phát triển ứng dụng trên Nervos, bạn có thể sử dụng hệ thống mật mã được sử dụng bởi Internet chính thống, hoặc thậm chí gọi trực tiếp đến cơ sở hạ tầng Internet hiện có.
Cụ thể, máy ảo Nervos CKB có thể triển khai mật mã trực tiếp trong lớp ứng dụng (hợp đồng thông minh), nhờ đó chúng ta có thể triển khai các thuật toán mã hóa bất đối xứng RSA, SHA-256, v.v. đã đề cập ở trên. Điều này đặt nền tảng cho việc sử dụng cơ sở hạ tầng hiện có. Tuy nhiên, chỉ điều này thôi là chưa đủ. Nervos cũng cần các khả năng sau -Trừu tượng hóa tài khoản。
Bản thân từ “trừu tượng” đã rất trừu tượng.
Bản thân sự trừu tượng là một từ mang tính kỹ thuật tương đối. Có hai cách giải thích. Chúng ta chỉ cần chú ý đến điều đầu tiên: cái gọi là trừu tượng hóa là một quá trình. Chúng tôi loại bỏ tính đặc thù khỏi hệ thống, sau đó tạo ra tính tổng quát và phổ quát từ hệ thống. Đây là một quá trình khái quát hóa. Bằng cách loại bỏ các thiết kế đặc biệt và tìm ra những điểm chung, hệ thống có thể trở nên tổng quát hơn và có thể áp dụng cho nhiều tình huống hơn.
Lời giải thích này có thể vẫn còn rất trừu tượng, nhưng những từ khóa mà mọi người cần nhớ là Loại bỏ “tính đặc thù”, loại bỏ “tính đặc thù” khỏi hệ thống, tìm thêm những điểm tương đồng trong hệ thống, đưa những điểm chung vào thiết kế và tạo ra “tính tổng quát”。
Hãy giải thích bằng một ví dụ không liên quan đến blockchain. Bạn có thể đã chơi các máy arcade lớn trong phòng trò chơi. Nếu bạn hiểu loại máy này, bạn sẽ biết rằng mỗi máy thực sự tương ứng với một trò chơi. Đối với máy arcade, thiết kế hệ thống là 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 phục vụ 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 khác, vậy nên có mười hoặc hai mươi máy trong trò chơi điện tử, mỗi máy có một trò chơi khác nhau.
Khi ngành công nghiệp game phát triển cho đến ngày nay, thứ phổ biến nhất không còn là máy arcade nữa mà là các nền tảng chơi 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 và sau đó bạn chỉ có thể mua các trò chơi khác nhau để chạy trên hệ thống này.
Vì vậy, từ arcade đến XBOX là một quá trình khái quát hóa. Ở một góc độ khác, XBox là một thiết kế có mức độ trừu tượng cao hơn và có thể áp dụng cho nhiều tình huống hơn. Có rất ít, hầu như không có, những thứ đặc biệt được xây dựng cho từng trò chơi cụ thể. Chính vì không có những chi tiết đặc biệt đó nên các nhà phát triển trên nền tảng này có thể điền các chi tiết đó để nền tảng có thể thích ứng với nhiều nhu cầu khác nhau.
Trở lại Nervos CKB. Ưu điểm kỹ thuật thứ hai của chuỗi công khai CKB là tính trừu tượng hóa tài khoản. Cái gọi là tính trừu tượng hóa tài khoản đề cập đến khả năng khái quát hóa logic mở khóa của các tài khoản blockchain (địa chỉ).
Hiện tại, logic mở khóa của các chuỗi khối chính thống tương đối đơn giản, trực tiếp và được mã hóa cứng ở cấp độ giao thức. Ví dụ: đối với BTC và ETH, khóa chung được khôi phục dựa trên nội dung giao dịch và chữ ký, sau đó khóa chung được chuyển đổi thành địa chỉ theo các quy tắc đã thiết lập. Cuối cùng, nó khớp với địa chỉ cần mở khóa. Nếu chúng nhất quán thì việc mở khóa thành công, nếu không thì việc mở khóa không thành công.
Loại logic được mã hóa cứng này không thể thích ứng với một số tình huống rộng hơn, chẳng hạn như dữ liệu liên quan đến khách hàng được tích hợp trong chữ ký hoặc thậm chí chữ ký không dành riêng cho chính giao dịch. Để dễ hiểu hơn, chúng ta hãy làm một phép tương tự: Logic mở khóa của các chuỗi khối chính thống giống như logic mở khóa cửa cơ học, chỉ có thể mở cửa tài khoản theo một cách.
Nervos, thực hiện khả năng trừu tượng hóa tài khoản ở cấp độ thấp nhất, tương đương với việc có khóa điện tử. Logic mở khóa của nó có thể thông qua mật khẩu, dấu vân tay, Bluetooth, NFC, v.v. Ví dụ: chúng ta có thể sử dụng mật mã của Email để mở khóa và sau đó thực hiện hợp đồng theo hướng dẫn trong Email. Ví dụ đơn giản nhất là gửi CKB trực tiếp đến địa chỉ được chỉ định (hoặc hộp thư khác) bằng cách gửi email và toàn bộ quá trình không yêu cầu bất kỳ bước nào. Yêu cầu sự tham gia của bất kỳ “ví” nào.
Đây là lợi ích của việc trừu tượng hóa tài khoản.
Mời người khác bỏ phiếu
Содержимое
Byte Jun đầu tiên sẽ giới thiệu với mọi người mật mã là gì. tóm lại,Mật mã học là môn khoa học nghiên cứu cách mã hóa và cách giải mã.。
Mã hóa và giải mã đã có từ thời cổ đại, chẳng hạn như “mật mã Caesar” nổi tiếng. Caesar là người sáng lập Đế chế La Mã. Ông được một số nhà sử học coi là hoàng đế vô danh của Đế chế La Mã và được biết đến với biệt danh “Caesar Đại đế”. Trên thực tế, bản thân Caesar cũng rất quan tâm đến việc viết những văn bản bí mật.
Trong cuộc chiến ở Gaul (nay là miền nam nước Pháp), Caesar không chỉ đánh bại kẻ thù mà còn thiết lập một mạng lưới tình báo sâu rộng và sâu rộng. Trong ghi chép về Chiến tranh Gallic, người ta đề cập đến việc bạn của ông, tướng La Mã Cicero, đã gửi những thông điệp bằng văn bản mật mã cho ông khi ông bị bao vây. Caesar sử dụng hình thức văn bản mật mã để tránh “khi tin bị địch chặn lại, địch sẽ không phát hiện được biện pháp đối phó của ta”.
Văn bản mật mã cổ điển này là “VIMRJSVGIQIRXW SRXLI AEC”, được mã hóa thông qua dịch chuyển bốn bit, chẳng hạn như chữ cái đầu R+4=V. Sau khi giải mã văn bản mật mã, văn bản đơn giản thu được là “TIẾP TỤC TRÊN ĐƯỜNG”, có nghĩa là “quân tiếp viện đang trên đường tới”.
Do đó, mật mã Caesar thực sự mã hóa các chữ cái bằng cách di chuyển các chữ cái trong văn bản thuần túy về phía sau theo một số cố định.
Với sự phát triển của thời đại, mã hóa và giải mã dần phát triển thành một ngành khoa học - mật mã. Trước khi xuất hiện blockchain, mật mã đã có rất nhiều ứng dụng trên Internet, chẳng hạn như thuật toán mã hóa bất đối xứng nổi tiếng nhất RSA. Sau đây Byte Jun trước tiên sẽ giới thiệu với mọi người thế nào là mã hóa đối xứng và thế nào là mã hóa bất đối xứng.
Mã hóa đối xứng có nghĩa là cùng một khóa được sử dụng để mã hóa và giải mã. Để so sánh để giúp mọi người hiểu, chúng tôi so sánh mã hóa với khóa và giải mã với mở khóa. Mã hóa đối xứng có nghĩa là cùng một khóa được sử dụng để khóa và mở khóa. Do đó, nhược điểm là cả hai bên tham gia giao dịch đều sử dụng cùng một khóa và không thể đảm bảo tính bảo mật.
Mã hóa bất đối xứng có hai khóa, một khóa là khóa chung (khóa chung) và khóa còn lại là khóa riêng (khóa riêng). Điều này giống như một chiếc ổ khóa có hai chìa khóa A và B. Để khóa ổ khóa cần có chìa khóa A và chìa khóa B để mở ổ khóa.
Thuật toán mã hóa RSA là một thuật toán mã hóa bất đối xứng. Nhiều giao thức Internet trước đây đã sử dụng RSA và hiện nay RSA cũng là thuật toán mã hóa bất đối xứng được sử dụng rộng rãi và tương thích nhất trong nhiều trình duyệt và giao thức email khác nhau.
Lý do khiến Internet phát triển đến quy mô hiện tại, vừa tính đến tính bảo mật vừa tiện lợi, không thể tách rời khỏi việc sử dụng rộng rãi mật khẩu. Ví dụ: SubtleCrypto, một thuật toán gần như được tìm thấy trong trình duyệt, thậm chí có thể được sử dụng trong môi trường chương trình nhỏ; và thuật toán WebAuthn, đã trở thành tiêu chuẩn được W3C khuyến nghị vào năm 2019, giúp mật mã trình duyệt mạnh mẽ như một ví phần cứng và việc sử dụng nó rất thuận tiện (có thể mở khóa bằng vân tay, quét khuôn mặt, v.v.).
Quay trở lại blockchain, nếu các cơ sở hạ tầng mật mã Internet này có thể được sử dụng trực tiếp, thay vì yêu cầu người dùng tải xuống các ứng dụng và plug-in ví cũng như thực hiện theo quy trình để tự lưu trữ các cụm từ ghi nhớ, thì ngưỡng người dùng đối với dApps có thể được giảm xuống đáng kể.
Tuy nhiên, mật mã của các chuỗi khối chính thống thường được mã hóa cứng ở cấp độ thấp nhất. Ví dụ:
Thuật toán chữ ký của các chuỗi khối này không tương thích với các hệ thống mật mã được sử dụng trên Internet chính thống và không thể sử dụng trực tiếp. Họ chỉ có thể dựa vào các cơ sở được cài đặt lại.
Sự khác biệt giữa chuỗi công khai Nervos CKB là bạn có thể sử dụng mật mã tùy chỉnh và mật mã không được mã hóa cứng ở phía dưới. Điều này có nghĩa là khi bạn phát triển ứng dụng trên Nervos, bạn có thể sử dụng hệ thống mật mã được sử dụng bởi Internet chính thống, hoặc thậm chí gọi trực tiếp đến cơ sở hạ tầng Internet hiện có.
Cụ thể, máy ảo Nervos CKB có thể triển khai mật mã trực tiếp trong lớp ứng dụng (hợp đồng thông minh), nhờ đó chúng ta có thể triển khai các thuật toán mã hóa bất đối xứng RSA, SHA-256, v.v. đã đề cập ở trên. Điều này đặt nền tảng cho việc sử dụng cơ sở hạ tầng hiện có. Tuy nhiên, chỉ điều này thôi là chưa đủ. Nervos cũng cần các khả năng sau -Trừu tượng hóa tài khoản。
Bản thân từ “trừu tượng” đã rất trừu tượng.
Bản thân sự trừu tượng là một từ mang tính kỹ thuật tương đối. Có hai cách giải thích. Chúng ta chỉ cần chú ý đến điều đầu tiên: cái gọi là trừu tượng hóa là một quá trình. Chúng tôi loại bỏ tính đặc thù khỏi hệ thống, sau đó tạo ra tính tổng quát và phổ quát từ hệ thống. Đây là một quá trình khái quát hóa. Bằng cách loại bỏ các thiết kế đặc biệt và tìm ra những điểm chung, hệ thống có thể trở nên tổng quát hơn và có thể áp dụng cho nhiều tình huống hơn.
Lời giải thích này có thể vẫn còn rất trừu tượng, nhưng những từ khóa mà mọi người cần nhớ là Loại bỏ “tính đặc thù”, loại bỏ “tính đặc thù” khỏi hệ thống, tìm thêm những điểm tương đồng trong hệ thống, đưa những điểm chung vào thiết kế và tạo ra “tính tổng quát”。
Hãy giải thích bằng một ví dụ không liên quan đến blockchain. Bạn có thể đã chơi các máy arcade lớn trong phòng trò chơi. Nếu bạn hiểu loại máy này, bạn sẽ biết rằng mỗi máy thực sự tương ứng với một trò chơi. Đối với máy arcade, thiết kế hệ thống là 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 phục vụ 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 khác, vậy nên có mười hoặc hai mươi máy trong trò chơi điện tử, mỗi máy có một trò chơi khác nhau.
Khi ngành công nghiệp game phát triển cho đến ngày nay, thứ phổ biến nhất không còn là máy arcade nữa mà là các nền tảng chơi 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 và sau đó bạn chỉ có thể mua các trò chơi khác nhau để chạy trên hệ thống này.
Vì vậy, từ arcade đến XBOX là một quá trình khái quát hóa. Ở một góc độ khác, XBox là một thiết kế có mức độ trừu tượng cao hơn và có thể áp dụng cho nhiều tình huống hơn. Có rất ít, hầu như không có, những thứ đặc biệt được xây dựng cho từng trò chơi cụ thể. Chính vì không có những chi tiết đặc biệt đó nên các nhà phát triển trên nền tảng này có thể điền các chi tiết đó để nền tảng có thể thích ứng với nhiều nhu cầu khác nhau.
Trở lại Nervos CKB. Ưu điểm kỹ thuật thứ hai của chuỗi công khai CKB là tính trừu tượng hóa tài khoản. Cái gọi là tính trừu tượng hóa tài khoản đề cập đến khả năng khái quát hóa logic mở khóa của các tài khoản blockchain (địa chỉ).
Hiện tại, logic mở khóa của các chuỗi khối chính thống tương đối đơn giản, trực tiếp và được mã hóa cứng ở cấp độ giao thức. Ví dụ: đối với BTC và ETH, khóa chung được khôi phục dựa trên nội dung giao dịch và chữ ký, sau đó khóa chung được chuyển đổi thành địa chỉ theo các quy tắc đã thiết lập. Cuối cùng, nó khớp với địa chỉ cần mở khóa. Nếu chúng nhất quán thì việc mở khóa thành công, nếu không thì việc mở khóa không thành công.
Loại logic được mã hóa cứng này không thể thích ứng với một số tình huống rộng hơn, chẳng hạn như dữ liệu liên quan đến khách hàng được tích hợp trong chữ ký hoặc thậm chí chữ ký không dành riêng cho chính giao dịch. Để dễ hiểu hơn, chúng ta hãy làm một phép tương tự: Logic mở khóa của các chuỗi khối chính thống giống như logic mở khóa cửa cơ học, chỉ có thể mở cửa tài khoản theo một cách.
Nervos, thực hiện khả năng trừu tượng hóa tài khoản ở cấp độ thấp nhất, tương đương với việc có khóa điện tử. Logic mở khóa của nó có thể thông qua mật khẩu, dấu vân tay, Bluetooth, NFC, v.v. Ví dụ: chúng ta có thể sử dụng mật mã của Email để mở khóa và sau đó thực hiện hợp đồng theo hướng dẫn trong Email. Ví dụ đơn giản nhất là gửi CKB trực tiếp đến địa chỉ được chỉ định (hoặc hộp thư khác) bằng cách gửi email và toàn bộ quá trình không yêu cầu bất kỳ bước nào. Yêu cầu sự tham gia của bất kỳ “ví” nào.
Đây là lợi ích của việc trừu tượng hóa tài khoản.