Đồ án môn Mạng máy tính: Nghiên cứu và ứng dụng công nghệ Blockchain

Đồ án môn học mạng máy tính: Nghiên cứu ứng dụng công nghệ Blockchain. Tìm hiểu về tiềm năng và ứng dụng Blockchain trong lĩnh vực mạng máy tính.

Chuyên ngành

Mạng máy tính

Người đăng

Ẩn danh

Thể loại

Đồ án môn học

2023

45
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn toàn diện đồ án mạng máy tính về blockchain

Đồ án môn học mạng máy tính với đề tài nghiên cứu ứng dụng công nghệ blockchain là một lựa chọn mang tính thời đại, phản ánh sự phát triển vượt bậc của công nghệ số. Công nghệ Blockchain, hay chuỗi khối, không còn là một khái niệm xa lạ mà đã trở thành nền tảng cho nhiều cuộc cách mạng trong các lĩnh vực từ tài chính đến quản lý chuỗi cung ứng. Đề tài này mở ra cơ hội để tìm hiểu sâu về một hệ thống cơ sở dữ liệu phân tán, nơi thông tin được lưu trữ trong các khối liên kết với nhau bằng mã hóa. Đặc điểm cốt lõi của blockchain là tính phi tập trung, bảo mật và minh bạch, giúp chống lại sự thay đổi dữ liệu một khi đã được ghi nhận. Việc thực hiện một đồ án môn học mạng máy tính về chủ đề này không chỉ giúp củng cố kiến thức về mạng, an toàn thông tin mà còn trang bị những kỹ năng thực tiễn về một trong những công nghệ đột phá nhất hiện nay. Đồ án tập trung vào việc làm rõ các khái niệm nền tảng như hàm băm, chữ ký số, và cơ chế Proof of Work (PoW). Đồng thời, nghiên cứu cũng khám phá các ứng dụng thực tiễn nổi bật như tiền số (cryptocurrency) và hợp đồng thông minh (Smart Contracts), qua đó cung cấp một cái nhìn tổng quan nhưng không kém phần chi tiết về tiềm năng và thách thức của công nghệ này. Mục tiêu cuối cùng là xây dựng một ứng dụng blockchain đơn giản để mô phỏng quá trình lưu trữ giao dịch, giúp người học có cái nhìn trực quan và sâu sắc nhất.

1.1. Tầm quan trọng của đề tài nghiên cứu blockchain hiện nay

Trong bối cảnh kỷ nguyên số, công nghệ blockchain nổi lên như một sự đột phá quan trọng, có khả năng cách mạng hóa cách thức lưu trữ và trao đổi thông tin. Sự quan tâm đến blockchain không chỉ giới hạn trong cộng đồng kỹ thuật mà còn lan rộng ra các doanh nghiệp và tổ chức toàn cầu. Lý do chính là khả năng tạo ra một môi trường giao dịch an toàn, minh bạch và không cần bên thứ ba xác thực. Điều này giải quyết được nhiều vấn đề cố hữu của hệ thống tập trung truyền thống, chẳng hạn như rủi ro bảo mật, thiếu minh bạch và chi phí trung gian cao. Một đồ án nghiên cứu ứng dụng công nghệ blockchain giúp sinh viên nắm bắt được xu hướng công nghệ, đồng thời đóng góp vào việc khám phá và phát triển các giải pháp mới cho những thách thức thực tế.

1.2. Mục tiêu chính của đồ án ứng dụng công nghệ blockchain

Đồ án đặt ra các mục tiêu cụ thể và rõ ràng. Trước hết là hiểu sâu về lý thuyết và các thành phần cốt lõi của blockchain, bao gồm hàm băm, chữ ký số và các thuật toán mã hóa liên quan. Mục tiêu tiếp theo là khám phá các kỹ thuật quan trọng như cấu trúc phi tập trung, tính toán tin cậy, và cơ chế đồng thuận Proof of Work (PoW). Đồ án cũng nhằm mục đích phân loại các hệ thống blockchain và nắm vững các ứng dụng điển hình như tiền số (điển hình là Bitcoin) và hợp đồng thông minh. Cuối cùng, mục tiêu thực tiễn là xây dựng thành công một mô hình blockchain đơn giản để mô phỏng việc lưu trữ giao dịch, qua đó kiểm chứng các kiến thức lý thuyết đã học.

1.3. Giới hạn và phạm vi nghiên cứu trong đề tài blockchain

Để đảm bảo tính khả thi và tập trung, đồ án xác định rõ phạm vi nghiên cứu. Đề tài không đi sâu vào các khía cạnh triển khai hệ thống blockchain ở quy mô lớn hay các vấn đề phức tạp về hiệu năng mạng lưới. Thay vào đó, nghiên cứu tập trung vào các khái niệm cơ bản và nền tảng lý thuyết. Các ứng dụng được xem xét chủ yếu là tiền sốhợp đồng thông minh, không mở rộng sang các lĩnh vực chuyên sâu khác. Về mặt kỹ thuật, đồ án tập trung vào việc xây dựng một mô hình mô phỏng đơn giản thay vì một hệ thống sản phẩm hoàn chỉnh, nhằm mục đích chính là học tập và nghiên cứu.

II. Giải mã nền tảng lý thuyết cốt lõi của công nghệ blockchain

Nền tảng của công nghệ blockchain được xây dựng trên các nguyên tắc mật mã học vững chắc, đảm bảo tính an toàn và toàn vẹn cho toàn bộ hệ thống. Hai trụ cột kỹ thuật chính là hàm băm (hash function)chữ ký số (digital signature). Đây là những công cụ mật mã không thể thiếu, giúp tạo ra một sổ cái phân tán bất biến và đáng tin cậy. Hàm băm là một thuật toán một chiều, biến đổi dữ liệu đầu vào có kích thước bất kỳ thành một chuỗi ký tự có độ dài cố định. Bất kỳ thay đổi nhỏ nào ở dữ liệu gốc cũng sẽ tạo ra một giá trị băm hoàn toàn khác, giúp phát hiện gian lận ngay lập tức. Trong khi đó, chữ ký số sử dụng một cặp khóa (khóa bí mật và khóa công khai) để xác thực danh tính người gửi và đảm bảo dữ liệu không bị thay đổi trong quá trình truyền tải. Mỗi người dùng sở hữu một khóa bí mật để ký vào giao dịch, và khóa công khai tương ứng được chia sẻ để người khác có thể xác minh. Sự kết hợp giữa hàm bămchữ ký số trong một đồ án môn học mạng máy tính về blockchain cho thấy mối liên hệ chặt chẽ giữa an toàn dữ liệu và kiến trúc mạng, tạo nên một hệ thống vừa phi tập trung vừa có độ tin cậy cao mà không cần đến một cơ quan trung ương nào.

2.1. Vai trò của hàm băm Hash Function trong chuỗi khối

Hàm băm đóng vai trò xương sống trong việc tạo ra chuỗi khối. Mỗi khối trong blockchain chứa một giá trị băm của chính nó và giá trị băm của khối trước đó. Sự liên kết này tạo thành một chuỗi không thể bị phá vỡ. Nếu một kẻ tấn công cố gắng thay đổi dữ liệu trong một khối bất kỳ, giá trị băm của khối đó sẽ thay đổi. Điều này dẫn đến việc giá trị băm của tất cả các khối theo sau cũng trở nên không hợp lệ, khiến chuỗi bị đứt gãy. Nhờ đặc tính một chiều và chống va chạm, hàm băm đảm bảo tính toàn vẹn và bất biến của dữ liệu. Các thuật toán băm phổ biến như SHA-256 (được sử dụng trong Bitcoin) là công cụ cốt lõi để duy trì sự tin tưởng trong một mạng lưới không tin cậy.

2.2. Cơ chế hoạt động và ứng dụng thực tiễn của chữ ký số

Chữ ký số là cơ chế xác thực quyền sở hữu và ủy quyền giao dịch trong blockchain. Mỗi người dùng có một cặp khóa: khóa công khai (public key) hoạt động như địa chỉ ví và khóa bí mật (private key) dùng để ký, xác nhận giao dịch. Khi một người dùng muốn gửi tài sản (ví dụ: Bitcoin), họ sẽ tạo một giao dịch và ký lên đó bằng khóa bí mật của mình. Giao dịch này sau đó được phát lên mạng. Các nút khác trong mạng có thể sử dụng khóa công khai của người gửi để xác minh rằng chữ ký là hợp lệ và giao dịch thực sự đến từ chủ sở hữu tài khoản. Thuật toán như ECDSA (Elliptic Curve Digital Signature Algorithm) đảm bảo rằng chỉ người nắm giữ khóa bí mật mới có thể chi tiêu tài sản, ngăn chặn gian lận và giả mạo.

III. Phân tích các kỹ thuật chính trong một đồ án blockchain

Để hiểu rõ cách một đồ án blockchain hoạt động, cần phải phân tích các kỹ thuật nền tảng định hình nên cấu trúc và cơ chế vận hành của nó. Kỹ thuật quan trọng nhất là cấu trúc phi tập trung, đối lập hoàn toàn với mô hình máy chủ-máy khách truyền thống. Trong mạng blockchain, không có một máy chủ trung tâm nào kiểm soát dữ liệu. Thay vào đó, mỗi nút (máy tính) trong mạng đều lưu giữ một bản sao của toàn bộ sổ cái. Điều này giúp hệ thống có khả năng chịu lỗi cao và chống lại các cuộc tấn công từ một điểm duy nhất. Kỹ thuật tiếp theo là cơ chế đồng thuận phi tập trung, là tập hợp các quy tắc mà tất cả các nút phải tuân theo để thống nhất về trạng thái hiện tại của sổ cái. Proof of Work (PoW) là cơ chế đồng thuận nổi tiếng nhất, yêu cầu các nút phải giải một bài toán tính toán phức tạp để có quyền thêm khối mới vào chuỗi. Quá trình này, còn gọi là khai thác (mining), không chỉ bảo mật mạng lưới mà còn tạo ra các đồng tiền số mới như một phần thưởng. Những kỹ thuật này là trọng tâm của bất kỳ nghiên cứu ứng dụng công nghệ blockchain nào, vì chúng quyết định tính bảo mật, minh bạch và hiệu quả của hệ thống.

3.1. Tìm hiểu cấu trúc phi tập trung và mạng ngang hàng P2P

Cấu trúc phi tập trung là đặc điểm cốt lõi của blockchain, loại bỏ sự phụ thuộc vào các tổ chức trung gian như ngân hàng hay chính phủ. Dữ liệu được phân phối và đồng bộ trên một mạng ngang hàng (P2P), nơi mỗi nút đều bình đẳng. Khi một giao dịch mới được thực hiện, nó sẽ được phát đến tất cả các nút trong mạng. Mỗi nút tự kiểm tra và xác thực giao dịch trước khi thêm nó vào sổ cái của mình. Mô hình này tăng cường tính minh bạch vì mọi người đều có thể xem lịch sử giao dịch. Đồng thời, nó cũng làm tăng khả năng phục hồi của hệ thống; nếu một vài nút ngừng hoạt động, mạng lưới vẫn tiếp tục vận hành bình thường.

3.2. Bằng chứng công việc Proof of Work và vai trò bảo mật

Proof of Work (PoW) là một cơ chế đồng thuận được thiết kế để ngăn chặn các hành vi gian lận như chi tiêu hai lần (double-spending). Để thêm một khối mới vào chuỗi, các thợ đào (miners) phải cạnh tranh để giải một bài toán mật mã học đòi hỏi sức mạnh tính toán lớn. Người đầu tiên tìm ra lời giải sẽ được quyền thêm khối và nhận phần thưởng. Quá trình này rất tốn kém về mặt năng lượng và thời gian, do đó việc thay đổi một khối đã được xác nhận là gần như không thể. Để làm vậy, kẻ tấn công phải tính toán lại PoW cho khối đó và tất cả các khối sau nó nhanh hơn phần còn lại của mạng, điều này đòi hỏi một sức mạnh tính toán khổng lồ (thường là hơn 51% tổng sức mạnh của mạng).

IV. Cách xây dựng blockchain lưu trữ giao dịch đơn giản từ A Z

Việc hiện thực hóa một đồ án môn học mạng máy tính về blockchain đòi hỏi việc xây dựng một ứng dụng mô phỏng. Quá trình này bao gồm việc định nghĩa kiến trúc tổng quan và các thành phần cơ bản của chuỗi khối. Cấu trúc cốt lõi bao gồm các thực thể BlockBlockchain. Mỗi Block chứa các thông tin như chỉ số (index), dấu thời gian (timestamp), dữ liệu giao dịch, giá trị băm của khối hiện tại và giá trị băm của khối trước đó. Lớp Blockchain sẽ quản lý một chuỗi các khối này, bắt đầu bằng khối nguyên thủy (genesis block). Việc lựa chọn ngôn ngữ lập trình và công cụ hỗ trợ là rất quan trọng. JavaScript cùng với môi trường Node.js là một lựa chọn phổ biến do tính linh hoạt và hệ sinh thái thư viện phong phú, chẳng hạn như crypto-js để thực hiện hàm băm. Các bước xây dựng cụ thể bao gồm: tạo cấu trúc block, triển khai hàm tính hash, khởi tạo chuỗi với genesis block, và thêm các khối mới. Sau đó, áp dụng cơ chế Proof of Work (PoW) bằng cách yêu cầu tìm một giá trị nonce sao cho giá trị băm của khối thỏa mãn một điều kiện độ khó nhất định. Cuối cùng, một giao diện người dùng đơn giản được xây dựng để tương tác, thực hiện và xác nhận giao dịch.

4.1. Lựa chọn ngôn ngữ lập trình và công cụ phát triển phù hợp

Trong đồ án này, JavaScriptNode.js được chọn làm nền tảng phát triển chính. JavaScript là ngôn ngữ phổ biến, dễ tiếp cận, và phù hợp để xây dựng các ứng dụng web tương tác. Việc sử dụng thư viện crypto-js giúp đơn giản hóa việc triển khai các hàm băm như SHA-256. Thư viện elliptic được dùng để tạo cặp khóa và thực hiện chữ ký số, một thành phần quan trọng để xác thực giao dịch. Mặc dù có các ngôn ngữ chuyên dụng như Solidity cho hợp đồng thông minh trên Ethereum, việc sử dụng JavaScript giúp tập trung vào việc hiểu các khái niệm blockchain cơ bản mà không cần học một ngôn ngữ mới phức tạp.

4.2. Các bước triển khai blockchain với Javascript và Node.js

Quá trình triển khai được chia thành các bước rõ ràng. Đầu tiên là tạo lớp Block để định nghĩa cấu trúc của một khối. Tiếp theo, tạo lớp Blockchain chứa một mảng các khối và các phương thức để thêm khối mới (addBlock) và kiểm tra tính hợp lệ của chuỗi (isChainValid). Cơ chế Proof of Work được tích hợp vào phương thức mineBlock, yêu cầu vòng lặp tìm kiếm nonce cho đến khi giá trị băm có một số lượng số không đứng đầu theo yêu cầu của độ khó (difficulty). Việc quản lý giao dịch cũng được thêm vào, bao gồm việc tạo, ký và xác thực các giao dịch trước khi đưa chúng vào một khối mới để khai thác.

4.3. Thiết kế giao diện người dùng để tương tác với chuỗi khối

Để người dùng có thể tương tác trực quan với hệ thống, một giao diện người dùng đơn giản đã được xây dựng bằng framework Angular và thư viện CSS Bootstrap. Giao diện bao gồm các trang chức năng chính: trang chủ hiển thị thông tin tổng quan về chuỗi khối (số khối, số giao dịch đang chờ); trang thực hiện giao dịch cho phép người dùng nhập địa chỉ người gửi, người nhận và số tiền; và trang cài đặt để tùy chỉnh các tham số như độ khó và phần thưởng khai thác. Giao diện này giúp mô phỏng một cách sinh động cách các giao dịch được tạo ra, đưa vào hàng đợi và cuối cùng được xác nhận trên blockchain.

V. Top ứng dụng thực tiễn của công nghệ blockchain hiện nay

Tiềm năng của công nghệ blockchain vượt xa lĩnh vực tài chính và tiền tệ. Đây là một công nghệ nền tảng có khả năng định hình lại nhiều ngành công nghiệp. Ứng dụng nổi bật và được biết đến rộng rãi nhất là tiền số, với Bitcoin (BTC) là đồng tiền tiên phong. Blockchain cung cấp một sổ cái công khai, phi tập trung để ghi lại mọi giao dịch, giải quyết bài toán chi tiêu hai lần mà không cần ngân hàng. Một ứng dụng đột phá khác là hợp đồng thông minh (Smart Contracts), được phổ biến bởi nền tảng Ethereum. Đây là các chương trình máy tính tự động thực thi các điều khoản của một hợp đồng khi các điều kiện định trước được đáp ứng, giúp loại bỏ sự cần thiết của bên trung gian và giảm thiểu rủi ro. Ngoài ra, blockchain còn được ứng dụng mạnh mẽ trong quản lý chuỗi cung ứng, giúp theo dõi nguồn gốc sản phẩm từ nơi sản xuất đến tay người tiêu dùng, như cách Walmart đã làm với thịt lợn từ Trung Quốc. Trong ngành vận tải biển, công ty Maersk đã thử nghiệm blockchain để theo dõi hàng hóa, giảm thiểu giấy tờ và gian lận. Những ví dụ này cho thấy nghiên cứu ứng dụng công nghệ blockchain có giá trị thực tiễn to lớn.

5.1. Ứng dụng đột phá trong lĩnh vực tiền số và Bitcoin

Bitcoin, ra đời năm 2008 bởi bút danh Satoshi Nakamoto, là ứng dụng đầu tiên và thành công nhất của công nghệ blockchain. Nó cho phép các giao dịch tài chính ngang hàng (P2P) diễn ra một cách an toàn và ẩn danh mà không cần thông qua một tổ chức tài chính nào. Mọi giao dịch được ghi lại trên một sổ cái phân tán và được bảo mật bằng mật mã học. Sự thành công của Bitcoin đã mở đường cho hàng ngàn loại tiền số khác ra đời, tạo nên một hệ sinh thái tài chính phi tập trung (DeFi) trị giá hàng tỷ đô la, thách thức mô hình tài chính truyền thống.

5.2. Hợp đồng thông minh Smart Contracts và tiềm năng tự động hóa

Hợp đồng thông minh là các giao thức máy tính tự thực thi. Các điều khoản của thỏa thuận được viết trực tiếp vào mã. Chúng hoạt động trên nền tảng blockchain, giúp các giao dịch và thỏa thuận được thực hiện một cách tự động, minh bạch và không thể bị can thiệp. Ví dụ, một hợp đồng thông minh có thể tự động giải ngân tiền bảo hiểm cho người nông dân khi dữ liệu thời tiết cho thấy có hạn hán, hoặc tự động chuyển quyền sở hữu một chiếc xe sau khi nhận đủ thanh toán. Tiềm năng của Smart Contracts là rất lớn, có thể tự động hóa các quy trình kinh doanh, pháp lý và tài chính, giúp tiết kiệm chi phí và thời gian.

5.3. Các ví dụ ứng dụng blockchain trong chuỗi cung ứng và ngân hàng

Trong ngành chuỗi cung ứng, blockchain cung cấp một hồ sơ không thể thay đổi về hành trình của một sản phẩm. Các công ty như Walmart sử dụng công nghệ này để theo dõi thực phẩm, giúp nhanh chóng xác định nguồn gốc của các đợt bùng phát dịch bệnh và giảm lãng phí. Trong lĩnh vực ngân hàng, blockchain đang được nghiên cứu để cải thiện hệ thống thanh toán xuyên biên giới, giúp các giao dịch nhanh hơn, rẻ hơn và minh bạch hơn so với hệ thống SWIFT hiện tại. Các ngân hàng lớn cũng đang khám phá việc sử dụng blockchain để phát hành chứng khoán và quản lý tài sản kỹ thuật số.

11/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1 GIỚI THIỆU - Đánh giá và phân loại các loại hệ thống Blockchain khác nhau. - Tìm hiểu về các ứng dụng phổ biến của công nghệ Blockchain, bao gồm tiền số và hợp đồng thông minh. 2 CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN 2.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.

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. 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.” - “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.” 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.2 Nền tảng lý thuyết Công nghệ Blockchain đượ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 3 CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN 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.1 Hàm băm Hàm băm 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ở.1 Khái niệ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”. 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.2 Đặc tính Hàm băm h là hàm một chiều (One-way Hash) với các đặc tính sau: 1. 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).3 Ứng dụng 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: 4 CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN - Đảm bảo dữ liệu không bị sửa đổi: Khi A muốn gửi tài liệu X cho B, A 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 A đã 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.1 Khái niệm Về mặt công nghệ, chữ ký số 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 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ý. 5 CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN Hình 2.

Mô hình thực hiện chữ ký số 1.2 Ứng dụng 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: - Ứ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ử, … 2.3 Các kỹ thuật chính 6 CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN Công nghệ blockchain 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ