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

0
535
Trong bài viết ngày hôm nay mình sẽ phân tích cho anh em cryptography là gì? Tại sao cryptography quan trọng trong ngành blockchain nhé!

Let’s go!

Xem thêm 

Cryptography là gì?

Cryptography (mật mã học) là một phương pháp bảo mật thông tin và dữ liệu 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ỉ có đúng duy nhất 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 tiếp cận và giải quyết thông tin.

Riêng đối với blockchain, cryptography bảo vệ dữ liệu, thông tin của toàn bộ giao dịch trong mạng lưới, gồm có: giao dịch giữa người sử dụng, node và giữa các block với nhau. Nhằm để có thể duy trì độ tin cậy và tính minh bạch của dữ liệu trên mạng lưới, và đồng thời cũng có thể ngăn chặn vấn đề liên quan trực tiếp đến double spending.

Từ trước cho đến nay quá trình cryptography gồm có tất cả hai giai đoạn dưới đây:

  • 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.

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

Cryptography là  phương pháp để bảo mật dữ liệu trên blockchain

Cryptography có nguồn gốc từ đâu

Tuy là từ “crypto” vẫn có mặt ở trong cryptography, giải pháp bảo mật này đã có mặt trên thế giới này hàng ngàn năm về trước. Theo như mình tìm hiểu thì 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ã, đã 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 tránh những nội dung của bức thư rơi vào tay người xấu. 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 tới thời đại công nghệ tiên tiến, lên ngôi, mục đích của cryptography cũng giống như cách của Julius Caesar. Đó chính là làm cho 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.

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

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

Những loại Cryptography trong Blockchain

Cryptography trong blockchain được chia ra làm tất cả hai loại chính có thể kể đến như:

Symmetric encryption

Symmetric encryption (mã hóa đối xứng) chính là loại bảo mật mà người sử dụng hoàn toàn có thể dùng một chìa khóa (key) tương tự nhau, để mã hoá và giải mã. Chính vì thế cho nên, với tính chất 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 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 khóa để giải mã và mã hoá cùng lúc là private key. Từ trước cho đến nay người dùng thườ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 như mà muốn giải mã, họ sẽ dùng lại private key đó.

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

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

Asymmetric encryption

Asymmetric encryption (mã hoá bất đối xứng) chính là loại bảo mật dùng hai chìa khóa cho việc giải mã và mã hóa, không giống với symmetric encryption. Nguyên nhân bởi vì dùng hai loại chìa khóa 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 khóa ở đây là public key và private key, trong đấy:

  • Public key: Loại chìa khóa được dùng nhằm để mã hoá tin nhắn, và ai cũng đều có quyền tiếp cận public key.
  • Private key: Loại chìa khóa được dùng nhằm để giả mã tin nhắn, và chỉ có những cá nhân được uỷ quyền mới có thể tiếp cận được mà thôi.

Để anh em có thể dễ hiểu hơn mình sẽ nêu ra cho anh em một thí dụ nhé. 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.

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

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

Asymmetric encryption là loại hình dùng hai loại chìa khóa cho việc mã hóa và giải mã

Ứng dụng của cryptography trong blockchain

Ví blockchain và chữ ký số

Ví blockchain (wallet) chính 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 sử dụng. Từ trước cho đến nay đã có rất nhiều người hiểu lầm wallet chứa đựng tài sản của bạn, tuy nhiên trong 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.

Không chỉ dừng lại ở đó, wallet còn đóng vai trò đó chính là công cụ giao tiếp giữa người sử dụng với nhau và hỗ trợ họ thực hiện những giao dịch.

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

Chữ ký số (digital signature) chính là chứng cứ mà người gửi dùng nhằm để xác minh tính chính xác trong giao dịch của họ. Người dùng khi thực hiện một giao dịch trên ngân hàng, họ bắt buộc cần 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.

Chú ý: Đối với tất cả 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 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ự. Mặc dù vậy nhưng mà, không giống với việc dùng key để thực hiện mã hóa, hashing dùng những thuật toán để mã hoá. Thí dụ, mạng lưới Bitcoin mã hóa dữ liệu thành một chuỗi ký tự dài 256 bits bằng thuật toán SHA-256.

Không những thế mà hashing còn chính là hình thức mã hóa một chiều, đồng nghĩa việc giải mã gần như là không có. Việc dùng cryptography trong hashing vô cùng quan trọng, nguyên nhân bởi 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).

Đọc thêm: Hashrate là gì? Tầm quan trọng của hashrate

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

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

Cryptography có ưu và nhược điểm gì?

Ưu điểm

Có thể kể tới một vài ưu điểm của cryptography như:

  • Độ bảo mật cao: Cryptography cho phép mã hoá tất cả mọi giao dịch trên blockchain, từ đấy trở đi nâng cao tính bảo mật của mạng lưới và bảo toàn tính trọn vẹn của các dữ liệu.
  • Khả năng mở rộng: Cryptography khẳng định chắc chắn rằng 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ừ đấy làm cho 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ố làm cho những bên thứ ba không có quyền sửa đổi hoặc can thiệp. Nếu như mà trong trường hợp bị can thiệp, chữ ký số sẽ không bao giờ có thể hợp lệ. Vì thế cho nên, cryptography có thể bảo vệ dữ liệu khỏi sự can thiệp, và làm cho tốc độ giao dịch diễn ra nhanh và trơn tru hơn.

Nhược điểm

  • Không thể nào có thể hỗ trợ độ bảo mật cho cơ sở hạ tầng: Nếu như mà có những cuộc tấn công do lỗi đến từ cơ sở hạ tầng và lỗi nằm trong thiết kế cấu trúc, cryptography gần như không có khả năng bảo vệ. Thí dụ, nếu như mà có 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: Từ trước cho đến nay 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ừ con người đến của cải, tiền bạc (cryptography đề nghị trình độ kỹ thuật cao). Không chỉ dừng lại ở đó, 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.

Nếu như anh em còn chỗ nào chưa hiểu liên quan đến bài viết thì hãy comment ở phía dưới. Mình sẽ giải đáp những thắc mắc cho anh em.

Xin chào và hẹn gặp lại anh em ở những bài viết tiếp theo.