Chương 1. GIỚI THIỆU CÔNG NGHỆ BLOCKCHAIN 1. Giới thiệu Blockchain (chuỗi khối), tên ban đầu block chain là một cơ sở dữ liệu phân cấp lưu trữ thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và mở rộng theo thời gian. Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm theo thông tin về dữ liệu giao dịch.
[3] Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu: Một khi dữ liệu đã được cập nhật trong mạng thì sẽ khó có thể thay đổi được nó. Nếu một phần của hệ thống blockchain sụp đổ, những máy tính và nút khác sẽ tiếp tục hoạt động để bảo vệ thông tin. Công nghệ Blockchain là một loại chương trình để lưu, xác nhận, vận chuyển và truyền thông dữ liệu trong mạng thông qua các nút phân phối của riêng nó mà không phụ thuộc vào bên thứ ba [5]. Một số trích dẫn đáng chú ý về công nghệ này được liệt kê dưới đây: - “Thế hệ đầu tiên của cuộc cách mạng kỹ thuật số mang lại cho chúng ta thông tin của Internet.
Thế hệ thứ hai - được hỗ trợ bởi công nghệ blockchain - mang lại cho chúng ta giá trị của Internet: một nền tảng mới để định hình lại thế giới kinh doanh và biến đổi thứ tự công việc của con người trở nên tốt hơn.” [3] - “Blockchain là một kho lưu trữ, cơ sở dữ liệu phân tán toàn cầu, chạy trên hàng triệu thiết bị và mở cho mọi người, không chỉ đơn thuần là thông tin mà còn cả những thứ có giá trị, cả danh hiệu, hành vi, danh tính, thậm chí cả phiếu bầu - có thể được di chuyển, lưu trữ và quản lý một cách an toàn và tư nhân. Sự tin tưởng được thiết lập thông qua hợp tác giữa số đông và mã thông minh chứ không phải bởi các nhà trung gian mạnh mẽ như các chính phủ và ngân hàng.” [3] Không lâu sau khi Bitcoin được phát hành trên thế giới, nhiều người nhanh chóng nhận ra công nghệ đằng sau Bitcoin – Blockchain – có thể làm được nhiều hơn là xử lý các giao dịch tiền tệ. Nhà phân phối lớn nhất thế giới cho những hợp đồng tài chính cho rằng có thể làm cho các hợp đồng trở nên an toàn hơn bằng cách xây dựng một hệ thống dựa trên công nghệ Blockchain vào năm 2018. Nếu kế hoạch này đi vào hoạt động, mỗi năm sẽ có 11 nghìn tỷ USD được giao dịch qua hệ thống này [7].
3 TIEU LUAN MOI download : skknchat@gmail. Nền tảng lý thuyết Công nghệ Blockchain [6] được phát triển dựa trên hai nền tảng kỹ thuật chính là hàm băm và chữ ký số. Mỗi người dùng sẽ sở hữu một cặp khóa gồm khóa bí mật và khóa công khai. Khóa bí mật được lưu trữ bí mật và sử dụng để ký kết các giao dịch.
Các giao dịch đã ký dùng chữ ký số được phát đi trên toàn bộ mạng. Chữ ký số liên quan đến hai giai đoạn: giai đoạn ký kết và giai đoạn xác minh. Ví dụ: người dùng A muốn gửi một thông báo cho người dùng B, trong giai đoạn ký, A mã hóa dữ liệu của mình bằng khóa bí mật và gửi cho B kết quả đã được mã hóa và dữ liệu gốc. Trong giai đoạn xác minh, B xác nhận giao dịch bằng khóa công khai của A.
Bằng cách đó, B có thể dễ dàng kiểm tra xem dữ liệu có bị giả mạo hay không [6]. Hàm băm Hàm băm [1] dùng để chuyển đổi từ một thông tin sang một đoạn mã. Bất kỳ nỗ lực gian lận nào để thay đổi bất kỳ phần nào của blockchain sẽ bị phát hiện ngay lập tức vì giá trị băm mới sẽ không phù hợp với thông tin cũ trên blockchain. Bằng cách này, ngành khoa học bảo mật thông tin (cần thiết cho việc mã hóa thông tin và mua sắm trực tuyến, ngân hàng) đã trở thành một công cụ hiệu quả để giao dịch mở.
Khái niệm hàm băm Hàm băm (hash function) là thuật toán dùng để ánh xạ dữ liệu có kích thước bất kỳ sang một giá trị “băm” có kích thước cố định, giá trị băm còn được gọi là “đại diện thông điệp” hay “đại diện bản tin”. [1] Hàm băm là hàm một chiều, theo nghĩa giá trị của hàm băm là duy nhất, và từ giá trị băm này, “khó” có thể suy ngược lại được nội dung hay độ dài ban đầu của thông điệp gốc. Các hàm băm dòng MD: MD2, MD4, MD5 được Rivest đưa ra có kết quả đầu ra với độ dài là 128 bit. Hàm băm MD4 đưa ra vào năm 1990.
Một năm sau phiên bản mạnh MD5 cũng được đưa ra. Chuẩn hàm băm an toàn: SHA, phức tạp hơn nhiều cũng dựa trên các phương pháp tương tự, được công bố trong Hồ sơ Liên bang năm 1992 và được chấp nhận làm tiêu chuẩn vào năm 1993 do Viện Tiêu Chuẩn và Công Nghệ Quốc Gia (NIST), kết quả đầu ra có độ dài 160 bit. Đặc tính của hàm băm [1] Hàm băm h là hàm một chiều (One-way Hash) với các đặc tính sau: 4 TIEU LUAN MOI download : skknchat@gmail. Với thông điệp đầu vào (bản tin gốc) x, chỉ thu được giá trị duy nhất z = h(x).
Nếu dữ liệu trong bản tin x bị thay đổi hay bị xóa để thành bản tin x’, thì giá trị băm h(x’) ≠ h(x). Cho dù chỉ là một sự thay đổi nhỏ, ví dụ chỉ thay đổi 1 bit dữ liệu của bản tin gốc x, thì giá trị băm h(x) của nó cũng vẫn thay đổi. Điều này có nghĩa là: hai thông điệp khác nhau, thì giá trị băm của chúng cũng khác nhau. Nội dung của bản tin gốc “khó” thể suy ra từ giá trị hàm băm của nó.
Nghĩa là: với thông điệp x thì “dễ” tính được z = h(x), nhưng lại “khó” tính ngược lại được x nếu chỉ biết giá trị băm h(x) (Kể cả khi biết hàm băm h). Ứng dụng của hàm băm Hàm băm được sử dụng trong nhiều ứng dụng thực tế, dưới đây là một số ứng dụng nổi bật của hàm băm được sử dụng phổ biến: • Đảm bảo dữ liệu không bị sửa đổi: Khi An muốn gửi tài liệu X cho Bình, An gửi cả giá trị băm của X và thuật toán băm. Khi nhận được tài liệu X, Bình dùng thuật toán băm đó băm lại X và so sánh với giá trị băm An đã gửi, nếu kết quả không trùng khớp chứng tỏ tài liệu X đã bị chỉnh sửa. • Hỗ trợ các thuật toán chữ ký số: Hàm băm giúp tạo ra đại diện tài liệu, các thuật toán ký số thay ví ký trên tài liệu ban đầu có dung lượng lớn, sẽ ký lên đại diện của tài liệu đó.
Thời gian thực hiện của thuật toán ký sẽ nhanh hơn nhiều lần. • Xây dựng cấu trúc dữ liệu bảng băm: Bảng băm là một cấu trúc dữ liệu cho phép tổ chức lưu trữ và tìm kiếm dữ liệu một cách nhanh chóng và thuận tiện. Khái niệm chữ ký số Về mặt công nghệ, chữ ký số [1] là một thông điệp dữ liệu đã được mã hóa gắn kèm theo một thông điệp dữ liệu khác nhằm xác thực người gửi thông điệp đó. Quá trình ký và xác nhận chữ ký như sau: Người gửi muốn gửi thông điệp cho bên khác thì sẽ dùng một hàm băm, băm thông điệp gốc thành một “thông điệp tóm tắt” (Message Digest), thuật toán này được gọi là thuật toán băm (hash function) đã được trình bày trong mục 1.
Người gửi mã hoá bản tóm tắt thông điệp bằng khóa bí mật của mình (sử dụng phần mềm bí mật được cơ quan 5 TIEU LUAN MOI download : skknchat@gmail.com chứng thực cấp) để tạo thành một chữ ký số. Sau đó, người gửi tiếp tục gắn kèm chữ ký số này với thông điệp dữ liệu ban đầu và gửi thông điệp đã gắn kèm với chữ ký một cách an toàn qua mạng cho người nhận. Sau khi nhận được, người nhận sẽ dùng khoá công khai của người gửi để giải mã chữ ký số thành bản tóm tắt thông điệp. Người nhận cũng dùng hàm băm giống hệt như người gửi đã làm đối với thông điệp nhận được để biến đổi thông điệp nhận được thành một bản tóm tắt thông điệp.
Người nhận so sánh hai bản tóm tắt thông điệp này, nếu chúng giống nhau tức là chữ ký số đó là xác thực và thông điệp đã không bị thay đổi trên đường truyền đi. Ngoài ra, chữ ký số có thể được gắn thêm một “nhãn” thời gian: sau một thời gian nhất định quy định bởi nhãn đó, chữ ký gốc sẽ không còn hiệu lực, đồng thời nhãn thời gian cũng là công cụ để xác định thời điểm ký.1: Mô hình thực hiện chữ ký số 1. Ứng dụng của chữ ký số Chữ ký số có ý nghĩa to lớn và trở thành một phần không thể thiếu đối với ngành mật mã học. Ứng dụng của chữ ký số đã được triển khai trên nhiều quốc gia trên thế giới, trong đó có Việt Nam.
So với chữ ký tay, chữ ký số giúp các cá nhân, doanh nghiệp thực hiện việc ký các tài liệu được nhanh chóng, hiệu quả hơn. Một số ứng dụng cụ thể của chữ ký số trong thực tế có thể kể đến như sau: 6 TIEU LUAN MOI download : skknchat@gmail.com • Ứng dụng trong chính quyền điện tử: Các cá nhân và doanh nghiệp sẽ không cần đến các cơ quan nhà nước để xuất trình giấy tờ cũng như ký kết các giấy tờ. Thay vào đó, việc ký và gửi các tài liệu hoàn toàn thông qua hệ thống máy tính. Hiện nay ngành thuế ở Việt Nam đã cho phép gửi tài liệu kê khai thuế qua mạng sử dụng chữ ký số.
• Ứng dụng trong ký kết hợp đồng: Việc ký kết các hợp đồng thường được thực hiện với sự có mặt của tất cả các bên liên quan và cần người chứng kiến, điều này gây tốn thời gian đặc biệt là khi các bên ở xa nhau về khoảng cách địa lý. Chữ ký số có thể cải thiện được việc này, các bên có thể xác thực được chữ ký của các bên liên quan khác thông qua các thuật toán kiểm tra chữ ký. Trong tương lai, tiềm năng của chữ ký số chắc chắn sẽ còn tiến xa hơn nữa và có thể được ứng dụng trong nhiều ứng dụng cụ thể khác như bỏ phiếu điện tử, y tế điện tử, … 1. Các kỹ thuật chính Công nghệ blockchain [6] tương đồng với cơ sở dữ liệu, chỉ khác ở việc tương tác với cơ sở dữ liệu.