Trong lĩnh vực tiền điện tử, Cryptography được biết đến là một giải pháp hữu hiệu trong việc giải quyết các vấn đề liên quan đến rò rỉ thông tin, mất tài sản,…mà người dùng thường hay gặp phải. Đặc biệt, trong kỷ nguyên công nghệ ngày càng lên ngôi như hiện nay, vấn đề an toàn thông tin càng trở nên cấp thiết hơn bao giờ hết. Vậy cụ thể cryptography là gì và nó ảnh hưởng như thế nào đến blockchain? Hãy cùng Giavang.com tìm hiểu trong bài viết dưới đây nhé!
Mục Lục
Tổng quan về cryptography
Cryptography là gì?
Cryptography (mật mã học) là một phương pháp giúp bảo mật các thông tin và dữ liệu bằng cách chuyển đổi chúng thành các đoạn mã hóa. Theo đó, chỉ những cá nhân được cấp quyền, bao gồm người gửi và người nhận, mới có thể giải mã và tiếp cận được những thông tin này.
Trong hệ thống blockchain, cryptography đóng một vai trò quan trọng trong việc bảo vệ dữ liệu và đảm bảo an toàn cho mọi giao dịch trong mạng lưới này, từ giao dịch giữa các người dùng, node hay thậm chí giữa các block với nhau,…Điều này giúp duy trì tính minh bạch, tăng mức độ tin cậy của dữ liệu và ngăn chặn các vấn đề có liên quan đến chi tiêu gấp đôi (double spending).
- Lịch sử Blockchain: Quá trình Blockchain hình thành và phát triển
- zk-SNARKs (Zero-Knowledge Proofs) là gì? Ưu điểm và hạn chế của công nghệ ZKP
Quá trình cryptography thông thường sẽ trải qua 02 giai đoạn:
- 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.
Nguồn gốc của Cryptography
Tưởng chừng cryptography là một khái niệm hiện đại, nhưng thực ra, nó đã xuất hiện từ hàng ngàn năm về trước. Năm 1900 trước Công Nguyên, đây là cột mốc đánh dấu lần đầu tiên cryptography xuất hiện dưới dạng chữ tượng hình trên một ngôi mộ tại Ai Cập. Theo đó, thuật ngữ “cryptography” có nguồn gốc từ tiếng Hy Lạp, kết hợp giữa 2 từ “kryptos” (ẩn giấu) và “graphein” (viết/vẽ).
Vào năm 40 trước Công Nguyên, hoàng đế La Mã là Julius Caesar muốn đề phòng việc các nội dung trong bức thư của ông sẽ bị rơi vào trong tay của các kẻ thù nên đã sử dụng một mật mã riêng để thay đổi các ký tự trên bức thư. Và đương nhiên, chỉ có Julius và những cận thần xung quanh ông mới biết được cách để giải mã các ký tự đó.
Ngày nay, mặc dù công nghệ đã có những bước phát triển vượt bậc, cryptography vẫn giữ nguyên mục tiêu cốt lõi đó là: chuyển đổi các 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.
Phân loại Cryptography trong Blockchain
Trong mạng lưới của blockchain, cryptography được chia thành 2 loại chính, đó là: Symmetric encryption (mã hoá đối xứng) và Asymmetric encryption (mã hoá bất đối xứng).
Symmetric encryption (mã hoá đối xứng)
Symmetric là phương thức bảo mật được sử dụng trong các hệ thống nội bộ hoặc khi cần đảm bảo tính riêng tư. Về bản chất, phương pháp mã hóa này sẽ sử dụng cùng một khóa (key) cho cả quá trình mã hóa và giải mã.
Trong Crypto, private key đóng vai trò là khóa duy nhất để giải mã và mã hóa các dữ liệu. Theo đó, người dùng thường hay dựa vào khóa này để bảo vệ các loại dữ liệu quan trọng chẳng hạn như mã hóa mật khẩu hoặc lưu trữ thông tin cá nhân,…Và khi cần truy cập lại dữ liệu, họ sẽ sử dụng chính private key này để giải mã.
Asymmetric encryption (mã hoá bất đối xứng)
Ngược lại với symmetric encryption (mã hóa đối xứng), Asymmetric encryption (mã hoá bất đối xứng) sẽ sử dụng 2 chìa khóa cho việc mã hóa và giải mã. Chính vì như thế, xét về mức độ bảo mật thì asymmetric được đánh giá là sẽ có phần nhỉnh hơn so với symmetric.
Tại thị trường crypto, 2 chìa khóa được dùng để giãi mã và mã hóa các dữ liệu đó chính là public key và private key. Trong đó:
- Public key: Là loại khóa đượ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: Là loại khóa đượ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à không muốn ai khác có thể hiểu được thông điệp ấy ngoại trừ B nên đã sử dụng public key để mã hóa thông điệp. Khi đó, chỉ có B (người giữ private key tương ứng) mới có thể giải mã và hiểu được nội dung bên trong thông điệp mà A muốn gửi là gì.
Ứng dụng của Cryptography trong Blockchain
Cung cấp ví blockchain và chữ ký số
Ví blockchain là phần mềm/phần cứng hỗ trợ người dùng trong việc lưu trữ các thông tin giao dịch cũng như thông tin cá nhân của họ. Thông thường, đa phần mọi người sẽ hay nghĩ rằng ví blockchain sẽ là nơi chứa đựng tất cả các loại tài sản, nhưng thực chất, công dụng của chúng chính là chứa private key để người dùng thực hiện việc giải mã và truy cập vào tài sản mà họ sở hữu trên blockchain.
Thêm vào đó, ví blockchain 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. Quy trình này được diễn ra như sau:
Trước tiên, ví blockchain A sẽ tạo một public key để mã hóa các thông tin của giao dịch (bao gồm tài sản crypto, tin nhắn,…) và sau đó gửi đoạn mã hóa này đến ví blockchain B. Tiếp đến, ví blockchain B sẽ sử dụng private key tương ứng thì mới có được quyền để tiếp cận và giải mã toàn bộ những thông tin do chính ví blockchain A gửi đến.
Chữ ký số (digital signature) là một cơ chế giúp xác minh tính chính xác của giao dịch do người gửi thực hiện. Ví dụ, giống như khi chúng ta thực hiện một giao dịch bất kỳ trên ngân hàng thì cần phải nhập password và mã OTP để xác nhận rằng bạn chính là chủ sở hữu hợp pháp của giao dịch.
Cơ chế hoạt động của chữ ký số là sẽ dựa trên giải pháp mã hóa đối xứng (symmetric encryption). Theo đó, người dùng sẽ tạo chữ ký số bằng cách sử dụng private key để mã hóa, và chỉ những ai sở hữu public key tương ứng mới có thể xác minh tính hợp lệ của chữ ký đó.
Lưu ý rằng, trong những giao dịch được xác thực và mã hoá bởi chữ ký số 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 cũng có thể được xem là một nhánh của cryptography, bởi nó cũng mã hóa những dữ liệu thành một chuỗi ký tự. Tuy nhiên, điểm khác biệt là hashing sẽ sử dụng các thuật toán để thực hiện mã hóa thay vì sử dụng key. Chẳng hạn, mạng lưới Bitcoin sử dụng thuật toán SHA-256 để mã hóa dữ liệu thành một chuỗi ký tự dài 256 bits.
Không dừng lại ở đó, hashing còn là một phương thức mã hóa một chiều, điều này có nghĩa là việc giải mã gần như sẽ không có. Trong cryptography, việc sử dụng hashing là rất quan trọng vì nó sẽ hỗ trợ blockchain mã hóa một khối lượng rất lớn các thông tin tuy nhiên không làm cho những dữ liệu gốc bị ảnh hưởng. Điều này giúp tiết kiệm được rất nhiều nguồn tài nguyên.
Ưu và nhược điểm của Cryptography
Ngày nay, Cryptography được xem là một giải pháp bảo mật chính của nhiều blockchain. Tuy nhiên, trên thực tế thì nó vẫn còn có khá nhiều khía cạnh vẫn chưa hoàn thiện. Sau đây là một vài ưu và nhược điểm của cryptography:
Ưu điểm của cryptography
- Độ bảo mật cao: Trên blockchain, cryptography cho phép mã hóa mọi giao dịch, từ đó giúp cho tính bảo mật của mạng lưới ngày càng được nâng cao và đảm bảo được tính toàn vẹn cho dữ liệu.
- Khả năng mở rộng: Cryptography giúp bảo vệ dữ liệu trong mọi giao dịch, ngăn chặn sự truy cập trái phép từ bên thứ ba. Nhờ đó, mạng lưới có thể xử lý số lượng giao dịch lớn hơn mà không lo ngại dữ liệu bị can thiệp hay thay đổi.
- Không thể thay đổi: Chữ ký số giúp ngăn chặn mọi sự can thiệp hoặc chỉnh sửa từ bên thứ ba, đảm bảo cho tính toàn vẹn của dữ liệu. Nếu có xảy ra bất kỳ sự can thiệp nào, chữ ký số sẽ trở trên bất hợp lệ. Do đó, cryptography có thể bảo vệ được dữ liệu khỏi các sự can thiệp trái phép, đồng thời giúp cho quá trình giao dịch được diễn ra một cách trơn tru hơn.
Nhược điểm của cryptography
- Không thể hỗ trợ độ bảo mật cho cơ sở hạ tầng: Cryptography gần như không có khả năng bảo vệ trong những trường hợp 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.
Chẳng hạn: Trong trường hợp blockchain bị 51% Attack (cuộc tấn công 51%), khi đó kẻ xâm nhập sẽ có thể chỉnh sửa được lịch sử của các giao dịch, dẫn đến tình trạng mạng lưới bị double spending. Mặc dù mục tiêu chính của cryptography là duy trì tính toàn vẹn của dữ liệu giao dịch.
- Cần nhiều tài nguyên: Cryptography yêu cầu trình độ kỹ thuật rất cao. Do đó, mọi cở hạ tầng cũng như tài nguyên để xây dựng chúng (bao gồm tiền bạc lẫn con người) cho mạng lưới đều cần phải có nhiều sự đầu tư. Ngoài ra, nếu các dữ liệu và thông tin giao dịch ở một số lượng lớn, việc thực hiện mã hóa và giải mã chúng có thể tiêu tốn rất nhiều thời gian của mạng lưới.
Lời kết
Bài viết trên là toàn bộ những thông tin liên quan đến giải pháp bảo mật Cryptography. Mong rằng với những chia sẻ vừa rồi đã giúp được quý bạn đọc có thể hiểu rõ hơn về cryptography là gì cũng như những ứng dụng quan trọng của nó trong blockchain. Cảm ơn bạn đã dành thời gian đọc toàn bộ bài viết của chúng tôi!