Cryptography là gì? Vai trò của mật mã học trong blockchain
![Amber avatar](/_next/image?url=https%3A%2F%2Ffiles.amberblocks.com%2Fuserdata%2Fusr30x0anyf50ghzk3j6xcnisc8u32a8%2Fprofile-pictures%2Ff7uql7wzuz4xiw9klsccjxiii9bbtaws%2Fimg_2486.jpeg&w=3840&q=20)
![Amber media](/_next/image?url=https%3A%2F%2Ffile.coin98.com%2Fimages%2Fcryptography-la-gi-T57KZwoeoGX1JWK1.png&w=3840&q=100)
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à:
![cryptography là gì](/_next/image?url=https%3A%2F%2Ffile.coin98.com%2Fimages%2Fcryptography-G9bIoxkXkTiD5ncs.png&w=3840&q=100)
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](/_next/image?url=https%3A%2F%2Ffile.coin98.com%2Fimages%2Fvan-ban-julius-caesar-AEZEoGVqRRpXnnPL.png&w=3840&q=100)
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](/_next/image?url=https%3A%2F%2Ffile.coin98.com%2Fimages%2Fsymmetric-encryption-5nIjfWqliDQnyThO.png&w=3840&q=100)
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 đó:
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](/_next/image?url=https%3A%2F%2Ffile.coin98.com%2Fimages%2Fasymmetric-encryption-sg8TKPV3DqvbA7iM.png&w=3840&q=100)
Ứ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](/_next/image?url=https%3A%2F%2Ffile.coin98.com%2Fimages%2Fquy-trinh-hashing-hvNBwjOni0ODqlIf.png&w=3840&q=100)
Ư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:
Nhược điểm
Dưới đây là những nhược điểm của cryptography trong blockchain: