Amber avatar
Coin98 Insights
Nơi chia sẻ tất cả những kiến thức Crypto từ cơ bản đến nâng cao, kinh nghiệm đầu tư Bitcoin và các hình thức đầu tư tiền điện tử khác.

Cryptography là gì? Vai trò của mật mã học trong blockchain

Chứng kiến kỷ nguyên công nghệ lên ngôi, mọi người đều có khả năng tiếp cận nhiều dữ liệu, tài nguyên hơn. Nhưng đi kèm với sự tiện lợi do công nghệ mang lại, người dùng đối mặt với nhiều rủi ro như rò rỉ thông tin cá nhân, đánh cắp tài sản…
Amber avatar
nguyennsh
7 min read
Published Oct 23 2023
Updated Dec 07 2023
Amber media

Và cryptography là một trong những giải pháp giải quyết vấn đề trên. Vậy cryptography là gì? Tại sao cryptography quan trọng trong ngành blockchain?

Cryptography là gì?

Cryptography (mật mã học) là giải pháp bảo mật dữ liệu và thông tin giao dịch của người gửi, thông qua việc biến đổi chúng thành những đoạn mật mã, mà chỉ những người được uỷ quyền (gồm người nhận và người gửi) mới có khả năng xử lý và tiếp cận thông tin.

Đối với blockchain, cryptography bảo vệ dữ liệu, thông tin của tất cả giao dịch trong mạng lưới, bao gồm: giao dịch giữa người dùng, node hay thậm chí giữa các block với nhau. Nhằm mục đích duy trì tính minh bạch và độ tin cậy của dữ liệu trên mạng lưới, và ngăn ngừa vấn đề liên quan tới double spending.

Thông thường, quá trình cryptography có hai giai đoạn đó là:

Mã hoá (encrypt): Quá trình chuyển đổi thông tin và dữ liệu thành những đoạn mật mã không có ý nghĩa.
Giải mã (decrypt): Quá trình chuyển đổi những đoạn mật mã thành thông tin và dữ liệu dễ hiểu và dễ đọc cho người được uỷ quyền.
advertising
cryptography là gì
Cryptography là  phương pháp để bảo mật dữ liệu trên blockchain

Nguồn gốc của Cryptography

Mặc dù vẫn từ “crypto" xuất hiện trong cryptography, phương pháp bảo mật này đã tồn tại hàng ngàn năm về trước. Cryptography lần đầu xuất hiện vào năm 1900 trước Công Nguyên dưới dạng chữ tượng hình trên một ngôi mộ tại Ai Cập. Và thuật ngữ cryptography bắt đầu từ tiếng Hy Lạp cổ, khi được ghép bởi hai từ là “kryptos" (ẩn giấu) và “graphein" (viết/vẽ).

Vào năm 40 trước Công Nguyên, Julius Caesar - hoàng đế La Mã,  đã sử dụng một mật mã riêng để thay đổi các ký tự trên bức thư của ông, đề phòng các nội dung của bức thư rơi vào tay kẻ thù. Cách giải mã hiển nhiên chỉ có Julius và những cận thần xung quanh ông biết.

Và cho đến thời đại công nghệ lên ngôi, mục đích của cryptography cũng tương tự như cách của Julius Caesar. Đó là khiến nội dung, thông tin nội bộ trở thành những đoạn mã không thể đọc được bởi người ngoài.

văn bản của julius caesar
Một trong những văn bản đã “mã hoá" của Hoàng đế Julius Caesar. Ảnh: Naked Security

Các loại Cryptography trong Blockchain

Cryptography trong blockchain được chia làm hai loại chính, gồm:

Symmetric encryption

Symmetric encryption (mã hoá đối xứng) là loại bảo mật mà người dùng có thể sử dụng một chìa khoá (key) giống nhau, để mã hoá và giải mã. Vì vậy, với tính chất sử dụng cùng một chìa cho hai việc, nên symmetric là phương thức bảo mật được sử dụng ở những tình huống thuộc nội bộ hoặc cần sự riêng tư.

Trong thị trường crypto, chìa khoá để giải mã và mã hoá cùng lúc là private key. Thông thường, người dùng sử dụng private key để lưu trữ những thông tin bảo mật, mã hoá mật khẩu… Và nếu muốn giải mã, họ sẽ sử dụng lại private key đó.

symmetric encryption
Symmetric encryption là loại hình vừa mã hoá và giải mã chỉ bằng 1 key.

Asymmetric encryption

Asymmetric encryption (mã hoá bất đối xứng) là loại bảo mật sử dụng hai chìa khoá cho việc mã hoá và giải mã, trái ngược với symmetric encryption. Vì sử dụng hai loại chìa khoá khác nhau, nên độ bảo mật của asymmetric cao hơn so với symmetric.

Tại thị trường crypto, hai chìa khoá ở đây là public key và private key, trong đó:

Public key: Loại chìa khoá được sử dụng để mã hoá tin nhắn, và tất cả mọi người đều có quyền tiếp cận public key.
Private key: Loại chìa khoá được sử dụng để giải mã tin nhắn, và chỉ những cá nhân được uỷ quyền mới có thể tiếp cận.

Ví dụ, A gửi một thông điệp đến B và đảm bảo rằng chỉ có B mới có thể hiểu được thông điệp đó, A có thể mã hóa thông điệp bằng khóa public key sao cho chỉ B mới có thể giải mã thông điệp bằng private key của B.

Để dễ hình dung, bạn hãy tưởng tượng hòm thư của B, nơi mà tất cả mọi người (bao gồm A) có thể bỏ thư vào hòm. Và B là người duy nhất có quyền mở hòm thư và đọc.

asymmetric encryption
Asymmetric encryption là loại hình sử dụng hai loại chìa khoá cho việc mã hoá và giải mã.

Ứng dụng của cryptography trong blockchain 

Ví blockchain và chữ ký số

Ví blockchain (wallet) là phần mềm hoặc phần cứng có khả năng lưu trữ thông tin giao dịch và thông tin cá nhân của người dùng. Nhiều người lầm tưởng wallet chứa đựng tài sản của bạn, thực tế wallet chỉ chứa private key để người dùng giải mã và truy cập vào tài sản mà họ sở hữu trên blockchain.

Ngoài ra, wallet còn đóng vai trò là công cụ giao tiếp giữa người dùng với nhau và hỗ trợ họ thực hiện các giao dịch. 

Đầu tiên, wallet A tạo một public key để mã hoá các thông tin của giao dịch như tài sản crypto, tin nhắn… và gửi đoạn mã hoá đến wallet B. Sau đó, wallet B sẽ sử dụng private key để có quyền tiếp cận, giải mã những thông tin về tài sản, tin nhắn… mà wallet A gửi đến.

Chữ ký số (digital signature) là bằng chứng mà người gửi sử dụng để xác minh tính đúng đắn trong giao dịch của họ. Để dễ hình dung, người dùng khi thực hiện một giao dịch trên ngân hàng, họ phải có mật khẩu và mã OTP, đây được cho là bằng chứng cho việc bạn đang xác thực giao dịch này là của mình.

Digital signature dựa vào cơ chế symmetric encryption, khi người dùng tạo digital signature bằng việc sử dụng private key để mã hoá chữ ký của bản thân.

Lưu ý: Đối với những giao dịch được xác thực và mã hoá bởi digital signature, thì chỉ có public key được uỷ quyền hoặc private key của người gửi mới có thể giải mã.

Hashing

Hashing là có thể được coi là một hình thức của cryptography, khi mã hoá những dữ liệu thành một chuỗi ký tự. Tuy nhiên, khác với việc sử dụng key để thực hiện mã hoá, hashing sử dụng các thuật toán để mã hoá. Ví dụ, mạng lưới Bitcoin mã hoá dữ liệu thành một chuỗi ký tự dài 256 bits bằng thuật toán SHA-256. 

Ngoài ra, hashing là hình thức mã hoá một chiều, đồng nghĩa việc giải mã gần như là không có. Việc sử dụng cryptography trong hashing rất quan trọng, vì chúng hỗ trợ blockchain mã hoá lượng lớn thông tin mà không ảnh hưởng tới dữ liệu gốc (tiết kiệm tài nguyên).

quy trình hashing
Hashing là hình thức mã hoá một chiều

Ưu và nhược điểm của cryptography

Mặc dù cryptography được coi là cơ chế bảo mật chính của nhiều blockchain, cryptography vẫn chưa hoàn thiện ở nhiều khía cạnh. Dưới đây là một số ưu và nhược điểm của cryptography.

Ưu điểm

Một số ưu điểm của cryptography bao gồm:

Độ bảo mật cao: Cryptography cho phép mã hoá mọi giao dịch trên blockchain, từ đó nâng cao tính bảo mật của mạng lưới, đồng thời bảo toàn tính trọn vẹn của các dữ liệu.
Khả năng mở rộng: Cryptography đảm bảo dữ liệu của mọi giao dịch không thể bị tiếp cận bởi những bên thứ ba. Từ đó, khiến mạng lưới có khả năng chạy nhiều giao dịch hơn mà không sợ việc dữ liệu bị thay đổi.
Không thể thay đổi: Chữ ký số khiến các bên thứ ba không có quyền can thiệp hoặc sửa đổi. Nếu như xảy ra trường hợp bị can thiệp, chữ ký số sẽ không thể hợp lệ. Vì vậy, cryptography có thể bảo vệ dữ liệu khỏi sự can thiệp, và khiến tốc độ giao dịch diễn ra mượt mà hơn.

Nhược điểm

Dưới đây là những nhược điểm của cryptography trong blockchain:

Không thể hỗ trợ độ bảo mật cho cơ sở hạ tầng: Nếu như có những cuộc tấn công do lỗi nằm trong thiết kế cấu trúc hay lỗi đến từ cơ sở hạ tầng, cryptography gần như không có khả năng bảo vệ. Ví dụ, nếu một blockchain bị tấn công 51%, kẻ tấn công có khả năng thay đổi lịch sử giao dịch và mạng lưới sẽ bị double spending. Trong khi mục đích của cryptography là bảo vệ tính toàn vẹn của dữ liệu giao dịch.
Cần nhiều tài nguyên: Cơ sở hạ tầng và tài nguyên để xây dựng cryptography cho mạng lưới cần nhiều sự đầu tư, từ tiền bạc cho tới con người (cryptography yêu cầu trình độ kỹ thuật cao). Ngoài ra, việc mã hoá và giải mã có thể tiêu tốn nhiều thời gian của mạng lưới, nếu dữ liệu và thông tin giao dịch lớn.