GIỚI THIỆU KHÁI QUÁT VỀ BLOCK CHAIN
Khởi nguồn của Blockchain
Vào năm 1991, các nhà nghiên cứu Stuart Haber và W Scott Stornetta đã giới thiệu ý tưởng về công nghệ blockchain, cung cấp một giải pháp tính toán thực tiễn để đánh dấu thời gian cho các văn bản số, nhằm ngăn chặn việc can thiệp hoặc thay đổi ngày tháng của chúng.
Hệ thống lưu trữ văn bản được đánh dấu thời gian sử dụng chuỗi khối bảo mật bằng mật mã, và vào năm 1992, cây Merkle đã được tích hợp để tăng tính hiệu quả bằng cách cho phép một khối chứa nhiều văn bản Tuy nhiên, công nghệ này không được áp dụng và bằng sáng chế đã hết hạn vào năm 2004, trước khi Bitcoin ra đời bốn năm.
Proof Of Work (Bằng chứng công việc) Tái sử dụng:
Năm 2004, Hal Finney, nhà khoa học máy tính và người theo chủ nghĩa mật mã, đã giới thiệu hệ thống RPoW (Proof Of Work Tái sử dụng) Hệ thống này hoạt động bằng cách nhận một Hashcash không thể thay đổi dựa trên token proof of work, và đổi lại sẽ tạo ra một token đã được ký RSA, cho phép trao đổi trực tiếp giữa các cá nhân.
RPoW đã khắc phục vấn đề tiêu dùng hai lần bằng cách lưu trữ quyền sở hữu các token đã đăng ký trên một máy chủ đáng tin cậy Máy chủ này cho phép người dùng toàn cầu xác minh tính chính xác và tính liêm chính của các giao dịch.
Cuối năm 2008, một cuốn sách trắng đã được phát hành, giới thiệu hệ thống tiền mặt điện tử phi tập trung, mạng ngang hàng mang tên Bitcoin Tài liệu này được công bố bởi một cá nhân hoặc tổ chức ẩn danh có biệt danh Satoshi Nakamoto.
Dựa trên thuật toán proof of work Hashcash, Bitcoin sử dụng một giao thức mạng ngang hàng để theo dõi và xác thực các giao dịch, thay vì dựa vào hàm tính toán phần cứng như RPoW Các thợ đào Bitcoin "đào" để nhận phần thưởng thông qua cơ chế proof-of-work, sau đó các giao dịch được xác minh bởi các node phi tập trung trong mạng, giúp ngăn chặn tình trạng chi tiêu hai lần.
Vào ngày 3 tháng 1 năm 2009, Bitcoin được ra đời khi Satoshi Nakamoto khai thác khối bitcoin đầu tiên và nhận phần thưởng 50 bitcoin Ngày 12 tháng 1 năm 2009, Hal Finney trở thành người nhận Bitcoin đầu tiên khi ông nhận 10 bitcoin từ Satoshi Nakamoto trong giao dịch bitcoin đầu tiên trên thế giới.
Vào tháng 2/2009, Nakamoto đã công bố phát minh của mình trên một diễn đàn chuyên nghiên cứu về tác động của công nghệ mạng đồng đẳng (Peer-to-Peer) đến xã hội Trong bài viết, nhân vật bí ẩn này đã trình bày ngắn gọn về ý tưởng của mình và chia sẻ liên kết đến một bài viết liên quan.
Ông gọi Bitcoin là Hệ thống Tiền điện tử Đồng đẳng Nguồn mở, một hệ thống hoàn toàn phi tập trung mà không cần server trung tâm hay bên trung gian, mọi giao dịch đều dựa trên mã hóa và bằng chứng thay vì niềm tin Ông chỉ ra rằng các loại tiền tệ truyền thống phụ thuộc vào niềm tin vào sức mạnh kinh tế, như đồng đô la Mỹ được coi là mạnh hơn vì sự tin tưởng vào nền kinh tế Mỹ Tuy nhiên, niềm tin này đã nhiều lần bị phá vỡ trong lịch sử, khi các ngân hàng không giữ chữ tín và gây ra bong bóng tín dụng Người dùng buộc phải tin tưởng các ngân hàng mà không có sự đảm bảo, trong khi phí giao dịch cao làm cho các giao dịch nhỏ trở nên không khả thi Ông tin rằng loại tiền điện tử mới này sẽ cho phép mọi người giao dịch trực tiếp với nhau, tạo ra sự tin tưởng tuyệt đối.
Vào năm 2013, Vitalik Buterin, nhà lập trình và đồng sáng lập Bitcoin Magazine, nhận thấy sự cần thiết của một ngôn ngữ mật mã để phát triển các ứng dụng phi tập trung cho Bitcoin Thiếu sự chấp thuận từ cộng đồng, Vitalik đã tiến hành phát triển Ethereum, một nền tảng tính toán phân tán dựa trên blockchain, với tính năng nổi bật là hợp đồng thông minh (smart contract).
Hợp đồng thông minh là các chương trình được triển khai trên blockchain Ethereum, cho phép thực hiện giao dịch khi các điều kiện nhất định được đáp ứng Chúng được viết bằng các ngôn ngữ lập trình đặc biệt và biên soạn thành bytecode, mà máy ảo Ethereum (EVM) có khả năng đọc và thực thi.
Các nhà phát triển có khả năng tạo ra và phát hành các ứng dụng hoạt động trên blockchain Ethereum, thường được gọi là DApp.
Tiền điện tử của Ethereum, được gọi là Ether, cho phép người dùng chuyển đổi giữa các tài khoản và thanh toán phí cho việc sử dụng công suất tính toán khi thực hiện các hợp đồng thông minh.
Công nghệ Blockchain là gì?
Theo Wikipedia, Blockchain là một cơ sở dữ liệu phân cấp lưu trữ thông tin trong các khối được liên kết bằng mã hóa Mỗi khối chứa thông tin về thời gian khởi tạo, liên kết với khối trước đó, cùng với mã thời gian và dữ liệu giao dịch Thiết kế của Blockchain đảm bảo rằng dữ liệu không thể bị thay đổi sau khi đã được mạng lưới chấp nhận.
Blockchain là một sổ cái kỹ thuật số phân tán, ghi chép mọi giao dịch và sự thay đổi, với mỗi người tham gia mạng giữ một bản sao Điều này tạo ra sự phân tán thông tin, giúp loại bỏ vị trí duy nhất làm căn cứ đáng tin cậy Tất cả các bản sao được cập nhật đồng thời khi có giao dịch mới thông qua sự đồng thuận của các thành viên Một số người trong hệ thống chịu trách nhiệm phê duyệt giao dịch và giám sát mạng bằng cách giải quyết các thuật toán phức tạp Hệ thống này hoạt động theo mô hình ngang hàng P2P, tăng cường an ninh, minh bạch và ổn định, đồng thời giảm chi phí và lỗi do con người.
Trong cuốn sách "Blockchain Revolution" (2016), Don và Alex Tapscott khẳng định rằng blockchain là một sổ cái kỹ thuật số không thể bị phá hủy, có khả năng ghi lại các giao dịch kinh tế Công nghệ này không chỉ giới hạn ở việc lưu trữ giao dịch tài chính mà còn có thể ghi lại mọi thứ có giá trị.
Công nghệ Blockchain được xây dựng trên 3 nền tảng công nghệ chính:
Mật mã học là yếu tố then chốt trong công nghệ Blockchain, sử dụng các hàm mã hoá đối xứng và bất đối xứng, hàm băm cùng với chữ ký điện tử để tạo ra tài liệu số an toàn, minh bạch và không thể sửa đổi Mỗi người dùng trong mạng sở hữu cặp khóa chung và khóa riêng, trong đó khóa riêng được bảo vệ bởi chính chủ sở hữu Điều này không chỉ đảm bảo an toàn cho người tham gia mà còn xác minh nguồn gốc giao dịch thông qua chữ ký số độc nhất Hơn nữa, hàm băm được áp dụng để duy trì tính toàn vẹn của dữ liệu trong hệ thống.
Mạng phân tán (Distributed P2P Network) cho phép tất cả các thành viên tham gia có vai trò bình đẳng, đồng thời mỗi thành viên đều sở hữu các bản sao giống nhau của trạng thái toàn bộ mạng Blockchain.
Cơ chế đồng thuận là quy trình mà các thành viên trong mạng xác nhận các giao dịch dựa trên các quy tắc đồng thuận đã định Chỉ những giao dịch đạt được số lượng đồng thuận nhất định mới được công nhận là hợp lệ và được lưu trữ trong mạng Blockchain Khi đó, thông tin từ các giao dịch này mới trở nên có giá trị.
Những đặc tính của công nghệ Blockchain
Không thể làm giả, không thể phá hủy các chuỗi blockchain:
Theo lý thuyết, chỉ máy tính lượng tử mới có khả năng giải mã Blockchain, và công nghệ Blockchain sẽ biến mất nếu không còn Internet toàn cầu Tương tự như một khối vững chắc, Blockchain không thể bị hư hỏng hoặc bị phá vỡ bởi bất kỳ cá nhân hay tổ chức nào.
Dữ liệu trong Blockchain không thể bị sửa đổi mà không để lại dấu vết, và sẽ được lưu trữ vĩnh viễn Điều này có nghĩa là khi thông tin được nhập vào hệ thống Blockchain, nó sẽ không thể bị thay thế hoặc làm giả Sự an toàn này được đảm bảo nhờ vào việc sử dụng hàm băm mật mã, một lớp hàm đặc biệt lý tưởng cho việc mã hóa thông tin.
Thông tin và dữ liệu trong Blockchain được phân tán và bảo mật tuyệt đối, giúp tăng cường tính an toàn cho hệ thống Công nghệ Blockchain không có lỗ hổng nào có thể bị khai thác, ngay cả trong các hệ thống tài chính tiềm ẩn nhiều rủi ro Chẳng hạn, phần mềm Bitcoin chưa từng bị hack, nhờ vào việc bảo mật thông qua nhiều máy tính khác nhau, gọi là các nút mạng (nodes), đảm bảo xác nhận các giao dịch trong hệ thống.
Blockchain có khả năng loại bỏ rủi ro, nhờ vào việc lưu trữ dữ liệu trên hệ thống, làm cho việc tìm kiếm điểm yếu trở nên khó khăn Người dùng dựa vào hệ thống đăng nhập với tên và mật khẩu, bảo vệ tài sản của họ trên mạng khỏi những ảnh hưởng tiêu cực Phương pháp bảo mật chủ yếu của Blockchain là sử dụng công nghệ mã hóa hiện đại nhất.
Blockchain cho phép mọi người theo dõi dữ liệu từ địa chỉ này sang địa chỉ khác và thống kê lịch sử giao dịch Mạng lưới Blockchain tự động kiểm tra mỗi 15 phút, đảm bảo tính minh bạch và công khai của dữ liệu Thông tin trên Blockchain được tổ chức dưới dạng cơ sở dữ liệu liên tục và chia sẻ, không lưu trữ tại một nút cố định nào Dữ liệu này dễ dàng kiểm chứng và không thể bị tấn công bởi Hacker, vì không tồn tại phiên bản tập trung nào Bất kỳ ai sử dụng internet đều có thể truy cập vào Blockchain, với dữ liệu được lưu trữ trên hàng triệu máy tính cùng lúc.
Hợp đồng thông minh, hay còn gọi là smart contract, là một loại hợp đồng kỹ thuật số được lập trình bằng đoạn mã if-this-then-that (IFTTT), cho phép tự động thực thi mà không cần sự can thiệp của bên thứ ba Nhờ vào hợp đồng thông minh, công nghệ Blockchain có thể hoạt động mà không cần trung gian, đồng thời đảm bảo rằng tất cả các bên tham gia đều nắm rõ chi tiết và điều khoản của hợp đồng, với các điều kiện được thực hiện tự động khi được đáp ứng.
Phân loại Blockchain
Mọi người đều có quyền truy cập và ghi chép dữ liệu trên Blockchain, với quy trình xác thực giao dịch yêu cầu sự tham gia của nhiều nút Việc tấn công vào hệ thống Blockchain đòi hỏi chi phí cao và thực tế là rất khó khả thi.
Blockchain công khai được thiết kế để đảm bảo tính phi tập trung, không bị kiểm soát bởi bất kỳ cá nhân hay tổ chức nào Tất cả các giao dịch đều được lưu trữ và xử lý một cách minh bạch trên chuỗi khối.
Public blockchain có khả năng chống lại sự kiểm duyệt vì bất kỳ ai cũng có thể tham gia vào mạng lưới, không phân biệt địa lý hay quốc tịch Điều này tạo ra một thách thức lớn cho các chính quyền trong việc kiểm soát và dập tắt hoạt động của chúng.
Cuối cùng, chuỗi công khai đều có một token gắn liền với chuỗi Mục đích là để khuyến khích, tặng thưởng cho các bên tham gia mạng lưới.
Người dùng trong Private Blockchain chỉ có quyền đọc dữ liệu, không có quyền ghi, vì việc này thuộc về bên tổ chức thứ ba đáng tin cậy Nhờ vào cấu trúc này, thời gian xác nhận giao dịch diễn ra nhanh chóng với sự tham gia của một lượng nhỏ thiết bị xác thực Một ví dụ điển hình là Ripple, nơi cho phép 20% các nút có thể gian dối, miễn là 80% còn lại hoạt động ổn định.
Các đơn vị tham gia cần được chấp thuận để gia nhập mạng lưới.
Giao dịch trong hệ sinh thái này mang tính riêng tư, chỉ những bên tham gia mới có quyền truy cập thông tin Các thông tin giao dịch không được công khai cho người ngoài hoặc đại chúng.
Private blockchain tập trung hoá hơn so với public blockchain.
Một hình thức của Blockchain Private, nhưng được cải tiến với một số tính năng bổ sung, là sự kết hợp giữa Public và Private Chẳng hạn, các ngân hàng và tổ chức tài chính liên doanh thường áp dụng Blockchain riêng để tối ưu hóa quy trình và bảo mật thông tin.
Mô hình hợp tác này tối ưu hóa lợi ích của blockchain thông qua sự kết hợp giữa các doanh nghiệp, tạo ra một nhóm được gọi là “frenemies”, nơi các công ty vừa hợp tác vừa cạnh tranh lẫn nhau.
Họ sẽ vận hành doanh nghiệp hiệu quả hơn, xét về từng cá thể và cả tập thể.
Các đơn vị tham gia vào consortium blockchain có thể đa dạng, bao gồm ngân hàng trung ương, chính phủ và các chuỗi cung ứng khác nhau.
CÁC PHIÊN BẢN BLOCKCHAIN
Blockchain 0: Ứng dụng
ĐẶC ĐIỂM VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA CÔNG NGHỆ BLOCKCHAIN
Đặc điểm
Chuỗi Blockchain không thể bị giả mạo hoặc phá hủy, và theo lý thuyết, chỉ có máy tính lượng tử mới có khả năng giải mã công nghệ này Hơn nữa, công nghệ Blockchain sẽ không còn tồn tại nếu không có Internet trên toàn cầu.
Bất biến: dữ liệu trong Blockchain không thể sửa (có thể sửa nhưng sẽ để lại dấu vết) và sẽ lưu trữ mãi mãi
Bảo mật: Các thông tin, dữ liệu trong Blockchain được phân tán và an toàn tuyệt đối
Blockchain mang lại tính minh bạch cao, cho phép mọi người theo dõi dữ liệu từ địa chỉ này sang địa chỉ khác Người dùng có thể dễ dàng thống kê toàn bộ lịch sử giao dịch liên quan đến một địa chỉ cụ thể.
Hợp đồng thông minh, hay còn gọi là Smart contract Blockchain, là những hợp đồng kỹ thuật số được lập trình với mã code theo nguyên tắc if-this-then-that (IFTTT), cho phép chúng tự động thực hiện mà không cần sự can thiệp của bên thứ ba.
Nguyên lý hoạt động
Mô hình mạng phân tán (Distributed Network)
Blockchain hoạt động trên một mạng máy tính ngang hàng (Peer-To-Peer), nơi mỗi máy tính tham gia được gọi là Node Tất cả các Node có quyền và chức năng bình đẳng, giúp hệ thống tồn tại dựa trên số đông mà không phụ thuộc vào cá nhân nào Mô hình này càng có nhiều Node tham gia thì càng trở nên mạnh mẽ và có khả năng bảo mật tốt hơn.
Sổ cái phân tán (Distributed Ledger)
Mỗi Node của blockchain là một bản sao của sổ cái Bỏi vậy, mỗi Node đều
Để biết số dư trong ví điện tử của bạn, bạn cần xác thực và xác nhận tất cả các giao dịch đã diễn ra trên mạng lưới liên quan đến ví của mình.
Việc xác minh “số dư” này được thực hiện nhờ các tính toán dựa vào liên kết đến các giao dịch trước đó
Các giao dịch trên mạng lưới blockchain sẽ được tập hợp thành các khối (block) Mỗi Node có khả năng gom các giao dịch thành một khối và gửi khối đó vào mạng, tạo điều kiện cho các khối tiếp theo được liên kết sau này.
Bất kỳ Node nào trong mạng lưới đều có khả năng tạo ra khối mới, nhưng câu hỏi quan trọng là hệ thống sẽ đồng thuận với khối nào để thêm vào blockchain Mỗi khối cần phải chứa một đoạn mã, đóng vai trò là đáp án cho một bài toán toán học phức tạp, được tạo ra thông qua hàm mã hóa băm không thể đảo ngược.
Để giải quyết các bài toán toán học phức tạp, cách hiệu quả nhất là đoán các số ngẫu nhiên Những số này, khi kết hợp với nội dung của khối trước, sẽ tạo ra kết quả đã được hệ thống định nghĩa Quá trình này có thể mất đến một năm đối với một máy tính có cấu hình cơ bản để tìm ra các con số đáp án chính xác cho bài toán.
Mạng lưới quy định rằng mỗi khối mới được tạo ra sau 10 phút, nhờ vào sự cạnh tranh giữa nhiều máy tính trong việc giải quyết bài toán toán học Node nào giải quyết thành công sẽ có quyền thêm khối tiếp theo vào chuỗi và phát tán nó đến toàn bộ mạng lưới.
Nếu hai Node cùng giải quyết một vấn đề và gửi các khối kết quả lên mạng đồng thời, cả hai khối sẽ được phát tán trên mạng Mỗi Node sẽ tiếp tục xây dựng các khối kế tiếp dựa trên khối mà nó nhận được đầu tiên.
Mỗi Node trong hệ thống Blockchain cần phải xây dựng trên chuỗi khối dài nhất mà nó nhận được Điều này đảm bảo tính đồng nhất của mạng lưới Khi có sự không rõ ràng về khối cuối cùng, ngay sau khi khối tiếp theo được xác nhận, mỗi Node sẽ tự động áp dụng vào chuỗi dài nhất để duy trì tính ổn định của hệ thống.
Việc xây dựng các khối đồng thời trong blockchain có xác suất rất thấp, dẫn đến hiếm khi xảy ra tình huống nhiều khối được giải quyết cùng lúc Điều này tạo ra các khối nối đuôi khác nhau, nhưng nhờ vào sự đồng thuận của tất cả các Node, toàn bộ chuỗi khối sẽ nhanh chóng ổn định và hợp nhất.
TÍNH BẤT BIẾN CỦA DỮ LIỆU (IMMUTABLE)
Thuật toán băm
Băm là quá trình chuyển đổi các ký tự và chữ cái có kích thước không cố định thành đầu ra có kích thước cố định Quá trình này được thực hiện thông qua các công thức toán học và thuật toán băm.
Băm là quá trình chuyển đổi một chuỗi đầu vào có độ dài bất kỳ thành một đầu ra có độ dài cố định Trong lĩnh vực tiền điện tử như Bitcoin, các giao dịch được xử lý như đầu vào và thông qua thuật toán băm SHA-256, tạo ra đầu ra với độ dài cố định.
Việc thay đổi các giao dịch trong blockchain là rất khó khăn về mặt kỹ thuật, vì mỗi khối liên kết với các khối trước đó thông qua mã băm Khi một khối bị thay đổi, tất cả các khối sau đó cũng cần phải được cập nhật để đảm bảo tính hợp lệ của chuỗi Nếu một khối không hợp lệ, nó sẽ ngay lập tức bị loại bỏ khỏi chuỗi.
Việc tính toán lại số nonce cho khối tiếp theo đòi hỏi rất nhiều thời gian và công sức, khiến cho quá trình này trở nên khó khăn Điều này đặc biệt đúng khi các khối mới liên tục được cập nhật từ các máy tính khác vào chuỗi.
Trong blockchain của Bitcoin, một khối không thể thay đổi nếu có 6 khối phía sau, vì việc thay đổi chúng đòi hỏi một lượng lớn thời gian và công sức để đạt được sự đồng thuận trong mạng lưới Điều này chỉ có thể thực hiện được nếu một thực thể chiếm được 51% khả năng tính toán của toàn bộ mạng.
Mỗi khối trong chuỗi khối không chỉ chứa mã băm của một giao dịch đơn lẻ mà còn bao gồm mã băm của các giao dịch khác trong cùng một nhánh Do đó, bất kỳ sự thay đổi nào đối với một giao dịch sẽ yêu cầu thay đổi tất cả các giao dịch trước đó.
Mã hóa bất đối xứng
Mã hóa khóa bất đối xứng, hay còn gọi là Mật mã hóa khóa công khai, cho phép người dùng trao đổi thông tin mật mà không cần chia sẻ khóa bí mật trước Phương pháp này sử dụng một cặp khóa có mối quan hệ toán học, bao gồm khóa công khai và khóa cá nhân.
Khóa cá nhân cần được bảo mật, trong khi khóa công khai được chia sẻ rộng rãi Hệ thống sử dụng hai loại khóa: một để mã hóa và một để giải mã Điều quan trọng là không thể xác định khóa cá nhân chỉ từ khóa công khai.
Hệ thống mã hóa bất đối xứng có thể sử dụng với các mục đích:
Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã được.
Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật giữa 2 bên.
Lợi ích của tính bất biến dữ liệu trong blockchain
Sổ cái sử dụng công nghệ blockchain đảm bảo tính toàn vẹn của dữ liệu, cung cấp lịch sử giao dịch đầy đủ và thông tin ứng dụng luôn sẵn có Các tổ chức có thể dễ dàng xác minh tính toàn vẹn của chuỗi bằng cách tính toán lại các hàm băm khối Nếu có sự khác biệt giữa khối dữ liệu và hàm băm tương ứng, điều này chỉ ra rằng các giao dịch không hợp lệ.
Việc cải thiện hiệu quả và đơn giản hóa quá trình kiểm toán thông qua việc tạo ra một lịch sử toàn vẹn và đầy đủ sổ cái giao dịch là rất quan trọng Điều này không chỉ giúp quá trình kiểm toán trở nên dễ dàng hơn mà còn chứng minh rằng thông tin không bị thay đổi, mang lại lợi ích lớn cho các tổ chức trong việc tuân thủ các quy định của ngành.
Tính bất biến của blockchain không chỉ hỗ trợ kiểm toán mà còn mở ra cơ hội mới trong phân tích và quy trình kinh doanh Điều này giúp tổ chức tiết kiệm thời gian và chi phí khi kiểm tra dữ liệu, theo dõi lỗi lớn, cũng như sao lưu và khôi phục cơ sở dữ liệu để truy xuất thông tin hiệu quả hơn.
Tính bất biến của dữ liệu trên blockchain là lý do thuyết phục để áp dụng công nghệ này cho nhiều quy trình kinh tế xã hội hiện đang được lưu trữ trên máy chủ tập trung Đặc điểm không thay đổi này giúp blockchain trở nên hữu ích trong các lĩnh vực như kế toán, giao dịch tài chính, quản lý nhận dạng, sở hữu tài sản, cũng như quản lý và chuyển giao tài sản.
TRONG KHỐI (BLOCKS) CÓ GÌ?
Cấu trúc của mỗi khối đơn trong Blockchain
Một khối điển hình sẽ bao gồm bốn trường cơ bản sau:
Dữ liệu giao dịch (Data)
Một đoạn văn bản hoặc file dữ liệu chứa thông tin và nội dung giao dịch quan trọng cần được lưu trữ Dữ liệu trong mỗi khối sẽ khác nhau tùy thuộc vào loại blockchain.
Blockchain của Bitcoin lưu trữ thông tin giao dịch, bao gồm dữ liệu về người gửi, người nhận và số lượng Bitcoin được giao dịch Tương tự, blockchain trong lĩnh vực bảo hiểm y tế sẽ ghi lại thông tin về đối tượng được bảo hiểm cùng với lịch sử sức khỏe của họ.
Mã băm (Block hash) là một chuỗi số được tạo ra từ thuật toán băm, liên kết chặt chẽ với các khối khác trong chuỗi Bất kỳ sự thay đổi nào trong khối đều dẫn đến việc mã băm cũng thay đổi, đảm bảo tính toàn vẹn của dữ liệu.
Dấu thời gian là chuỗi ký tự hoặc thông tin mã hóa xác định thời điểm xảy ra sự kiện Trong công nghệ Blockchain, dấu thời gian ghi lại thời gian tạo block với độ chính xác lên tới 1/1000 giây.
Sự xuất hiện của tiền điện tử như bitcoin đã mang lại khả năng xác thực dấu thời gian một cách an toàn và phi tập trung Dữ liệu kỹ thuật số có thể được băm và tích hợp vào giao dịch trên chuỗi khối, tạo thành bằng chứng cho thời điểm tồn tại của dữ liệu Đối với các blockchain sử dụng bằng chứng công việc, bảo mật được đảm bảo nhờ vào khối lượng lớn nỗ lực tính toán diễn ra sau khi băm được gửi lên chuỗi Việc giả mạo dấu thời gian yêu cầu một lượng tài nguyên tính toán vượt trội hơn tổng thể mạng lưới và khó có thể thực hiện mà không bị phát hiện trong một blockchain có mức độ bảo vệ cao.
Việc thiết kế và triển khai Bitcoin có thể khiến dấu thời gian của nó bị thao túng, cho phép người dùng đánh dấu thời gian lên đến hai giờ trong tương lai và chấp nhận các khối mới có dấu thời gian sớm hơn khối trước đó.
Phương pháp đánh dấu thời gian phi tập trung qua blockchain đã được áp dụng trong nhiều lĩnh vực, bao gồm cả camera bảng điều khiển, nhằm đảm bảo tính toàn vẹn của các tệp video trong quá trình ghi Ngoài ra, nó cũng giúp chứng minh mức độ ưu tiên cho nội dung và ý tưởng sáng tạo được chia sẻ trên các nền tảng truyền thông xã hội.
Mã băm đối chiếu (Hash of previous block)
Mỗi khối block trong chuỗi blockchain ghi lại mã băm của khối trước đó, tạo ra một liên kết chắc chắn giữa các khối Khi một khối được tạo ra, thông tin bên trong nó gần như không thể thay đổi, vì mỗi khối đều có mã băm riêng và mã băm này được lưu trữ trong khối tiếp theo Nếu khối trước bị thay đổi, mã băm của nó cũng sẽ thay đổi, dẫn đến việc các khối sau đó cũng bị ảnh hưởng Kỹ thuật này đảm bảo rằng các khối được kết nối với nhau thành một chuỗi không thể bị phá hủy, tạo ra tính toàn vẹn cho dữ liệu trong blockchain.
CƠ CHẾ LIÊN KẾT CÁC KHỐI
Hàm băm (hash)
Hàm băm (hash function) là một thuật toán được sử dụng để tạo ra các giá trị băm tương ứng với từng khối dữ liệu, bao gồm chuỗi ký tự, đối tượng trong lập trình hướng đối tượng, và nhiều dạng dữ liệu khác.
Giá trị băm đóng vai trò quan trọng trong việc phân biệt các khối dữ liệu, tuy nhiên, hiện tượng trùng khóa hay đụng độ vẫn xảy ra Để giảm thiểu tình trạng này, các thuật toán băm đã được cải tiến Hàm băm thường được áp dụng trong bảng băm nhằm tối ưu hóa chi phí tính toán khi tìm kiếm khối dữ liệu trong một tập hợp, vì so sánh giá trị băm nhanh hơn nhiều so với so sánh các khối dữ liệu có kích thước lớn.
Bảng băm hiện nay rất phổ biến, vì vậy hầu hết các ngôn ngữ lập trình đều cung cấp thư viện ứng dụng cho bảng băm, thường được gọi là thư viện collection, bao gồm các cấu trúc như tập hợp, danh sách, bảng, ánh xạ và từ điển Các lập trình viên thường chỉ cần viết hàm băm cho các đối tượng của mình để tích hợp với thư viện bảng băm đã có sẵn.
Một hàm băm tốt phải thỏa mãn các điều kiện sau:
Các khoá được phân bố đều trong bảng
Ít xảy ra đụng độ
Xử lý được các loại khóa có kiểu dữ liệu khác nhau. Ứng dụng:
Các hàm băm được sử dụng rộng rãi trong nhiều lĩnh vực và thường được thiết kế riêng cho từng ứng dụng cụ thể Ví dụ, các hàm băm mật mã học yêu cầu phải có sự tồn tại của một đối thủ có khả năng tìm kiếm dữ liệu đầu vào tương ứng với cùng một giá trị băm Một hàm băm tốt phải là một phép biến đổi "một chiều", tức là không có phương pháp thực tiễn nào để xác định dữ liệu đầu vào tương ứng với giá trị băm mong muốn, làm cho việc giả mạo trở nên khó khăn Hàm một chiều mật mã học điển hình không có tính chất hàm đơn ánh và tạo ra một hàm băm hiệu quả, trong khi hàm trapdoor mật mã học điển hình là hàm đơn ánh và tạo ra một hàm ngẫu nhiên hiệu quả.
Bảng băm là một ứng dụng quan trọng của hàm băm, cho phép tra cứu nhanh bản ghi dữ liệu dựa trên khóa của bản ghi đó Các khóa này thường không bí mật như trong mật mã học, nhưng chúng cũng được sử dụng để truy cập thông tin Ví dụ, trong một từ điển điện tử Anh-Anh, các từ tiếng Anh đóng vai trò là khóa, và các bản ghi tương ứng chứa định nghĩa của chúng Hàm băm sẽ ánh xạ các xâu chữ cái tới các chỉ mục trong mảng nội bộ của bảng băm.
Các hàm băm đóng vai trò quan trọng trong việc phát hiện và sửa lỗi, đặc biệt khi dữ liệu bị làm nhiễu bởi các quá trình ngẫu nhiên Khi sử dụng hàm băm cho các giá trị tổng kiểm, giá trị băm nhỏ có thể xác nhận rằng một file dữ liệu có kích thước tùy ý chưa bị thay đổi Hàm băm cũng được áp dụng để phát hiện lỗi trong quá trình truyền dữ liệu; tại nơi gửi, hàm băm được tính cho dữ liệu và gửi cùng với nó Tại đầu nhận, hàm băm được tính lại, và nếu các giá trị băm không trùng khớp, điều này cho thấy đã có lỗi xảy ra trong quá trình truyền, một phương pháp được gọi là kiểm tra dư.
Các hàm băm được sử dụng để nhận dạng âm thanh, ví dụ như xác định sự khớp giữa một file MP3 và một file trong danh sách các loại âm thanh.
Thuật toán Rabin-Karp là một phương pháp tìm kiếm xâu ký tự hiệu quả với thời gian chạy trung bình O(n) Thuật toán này tận dụng kỹ thuật băm để thực hiện việc so sánh các xâu, giúp tăng tốc độ tìm kiếm.
Các thuật toán băm hiện nay
Có nhiều thuật toán băm mật mã; ở đây chúng ta nhắc đến một số thuật toán được sử dụng thường xuyên.
MD5, được thiết kế bởi Ronald Rivest vào năm 1991 để thay thế hàm băm MD4, đã trở thành tiêu chuẩn trong RFC 1321 vào năm 1992 Hàm băm MD5 tạo ra một bản tóm tắt có kích thước 128 bit (16 byte), nhưng đã gặp nhiều vấn đề về bảo mật từ đầu những năm 2000.
Hàm băm MD5 đã trở nên không an toàn với độ dài 2000 bit trước sức mạnh tính toán của các hệ thống hiện đại Sự phát triển công nghệ thám mã gần đây cho phép tính toán các va chạm trong MD5 chỉ trong vài giây, khiến thuật toán này không còn phù hợp cho hầu hết các ứng dụng thực tế.
SHA-1 được phát triển như một phần của dự án Capstone của Chính phủ Hoa
SHA-0, phiên bản đầu tiên của tiêu chuẩn hàm băm, được NIST công bố vào năm 1993 với tên gọi Secure Hash Standard (FIPS PUB 180) Tuy nhiên, nó nhanh chóng bị NSA rút lại và thay thế bằng SHA-1 vào năm 1995 (FIPS PUB 180-1) SHA-1 tạo ra bản tóm tắt 160 bit (20 byte), nhưng hiện nay, thuật toán này đã bị phát hiện có thể bị tấn công thông qua các va chạm, dẫn đến việc nó không còn được coi là an toàn.
RIPEMD, which stands for RACE Integrity Primitives Evaluation Message Digest, is a family of cryptographic hash functions developed in Leuven, Belgium, by cryptographers Hans Dobbertin, Antoon Bosselaers, and Bart Preneel from the COSIC research group at Katholieke Universiteit Leuven First published in 1996, RIPEMD is based on design principles derived from MD4.
RIPEMD-160 tạo ra bản tóm tắt dài 160 bit (20 byte) và có hiệu năng tương tự như SHA-1, mặc dù ít phổ biến hơn Đến nay, RIPEMD-160 vẫn chưa bị phá vỡ.
Bcrypt là một hàm băm mật khẩu được phát triển bởi Niels Provos và David Mazières, dựa trên thuật toán mã hóa Blowfish Hàm này được giới thiệu tại hội nghị USENIX, nhằm cung cấp một phương pháp bảo mật mạnh mẽ cho việc lưu trữ mật khẩu.
Bcrypt, ra mắt vào năm 1999, không chỉ kết hợp giá trị ngẫu nhiên salt để bảo vệ chống lại các cuộc tấn công rainbow attack, mà còn là một hàm có khả năng thích ứng Theo thời gian, số lần lặp của bcrypt có thể được tăng lên, giúp làm chậm quá trình bẻ khóa, giữ cho nó vẫn hiệu quả trong việc chống lại các cuộc tấn công vét cạn, bất chấp sự gia tăng sức mạnh tính toán.
Whirlpool là một hàm băm mật mã được thiết kế bởi Vincent Rijmen và Paulo
S L M Barreto Nó được mô tả đầu tiên vào năm 2000 Whirlpool dựa trên phiên bản sửa đổi đáng kể của Tiêu chuẩn mã hóa nâng cao (AES) Whirlpool tạo ra một bản tóm tắt có độ dài 512 bit (64 byte) của dữ liệu.
SHA-2 là một bộ các hàm băm mật mã do Cơ quan An ninh Quốc gia Hoa Kỳ (NSA) phát triển và ra mắt lần đầu vào năm 2001.
SHA-2 bao gồm hai thuật toán băm chính là SHA-256 và SHA-512 Trong đó, SHA-224 là một biến thể của SHA-256 với các giá trị khởi tạo và đầu ra khác nhau Các biến thể ít được biết đến như SHA-384, SHA-512/224 và SHA-512/256 đều thuộc về SHA-512 Thuật toán SHA-512 an toàn hơn và thường hoạt động nhanh hơn SHA-256 trên các máy 64 bit như AMD64.
Kích thước đầu ra của SHA-2 thay đổi tùy thuộc vào từng phiên bản thuật toán khác nhau, với phần mở rộng tên phía sau tiền tố để phân biệt.
SHA là thuật toán băm với độ dài đầu ra khác nhau, ví dụ như SHA-224 có kích thước 224 bit (28 byte), SHA-256 tạo ra 32 byte, SHA-384 cho 48 byte và SHA-512 sản sinh 64 byte Đặc biệt, Bitcoin sử dụng hàm băm SHA-256, thuộc họ SHA-2.
SHA-3, tiêu chuẩn hàm băm mới nhất được NIST phát hành vào ngày 5 tháng 8 năm 2015, là một phần của họ nguyên thủy mật mã Keccak do Guido Bertoni, Joan Daemen, Michael Peeters và Gilles Van Assche phát triển Thuật toán này sử dụng cấu trúc bọt biển (sponge), cho phép xây dựng các nguyên thủy mã hóa khác như hệ mật mã dòng SHA-3 có các kích cỡ đầu ra tương tự như SHA-2, bao gồm 224, 256, 384 và 512 bit.
Vào ngày 21 tháng 12 năm 2012, phiên bản cải tiến của BLAKE mang tên BLAKE2 đã được công bố BLAKE được phát triển bởi các chuyên gia Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn và Christian Winnerlein, với mục tiêu thay thế các thuật toán băm phổ biến như MD5 và SHA-1, đặc biệt khi hoạt động trên các kiến trúc khác nhau.
BLAKE2b, với kiến trúc 64 bit x64 và ARM, cung cấp tốc độ nhanh hơn so với các hàm băm SHA-3, SHA-2, SHA-1 và MD5 Mặc dù BLAKE và BLAKE2 chưa được tiêu chuẩn hóa như SHA-3, nhưng chúng đã được áp dụng trong nhiều giao thức, bao gồm cả hàm băm mật khẩu Argon2, nhờ vào hiệu suất vượt trội trên các dòng CPU hiện đại Do BLAKE là ứng cử viên cho tiêu chuẩn SHA-3, cả BLAKE và BLAKE2 đều có kích thước đầu ra tương tự như SHA-3 và có thể được tùy chọn sử dụng trong thực tế.
Mã hóa khóa công khai (RSA)
Mật mã hóa khóa công khai cho phép người dùng trao đổi thông tin mật mà không cần chia sẻ khóa bí mật trước đó Phương pháp này sử dụng một cặp khóa có mối quan hệ toán học, bao gồm khóa công khai và khóa cá nhân (hay khóa bí mật).
Mật mã hóa khóa bất đối xứng thường được hiểu là mật mã hóa khóa công khai, tuy nhiên, hai khái niệm này không hoàn toàn giống nhau.
Một số thuật toán mật mã khóa bất đối xứng không yêu cầu khóa công khai và bí mật, mà cả hai khóa dùng cho mã hóa và giải mã đều cần được bảo mật.
Trong mật mã hóa khóa công khai, khóa cá nhân cần được bảo mật trong khi khóa công khai được chia sẻ rộng rãi Một trong hai khóa được sử dụng để mã hóa thông tin, trong khi khóa còn lại được dùng để giải mã Hệ thống yêu cầu rằng khóa bí mật không thể bị phát hiện chỉ bằng việc biết khóa công khai.
Hệ thống mật mã hóa khóa công khai có thể sử dụng với các mục đích:
Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã
Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật giữa 2 bên.
Kỹ thuật mã hóa khóa công khai thường yêu cầu khối lượng tính toán lớn hơn so với mã hóa khóa đối xứng, nhưng những lợi ích mà nó mang lại đã khiến nó trở thành lựa chọn phổ biến trong nhiều ứng dụng Ứng dụng nổi bật nhất của mã hóa khóa công khai là bảo mật, khi một văn bản được mã hóa bằng khóa công khai của người sử dụng chỉ có thể được giải mã bằng khóa bí mật của họ.
Các thuật toán tạo chữ ký số khóa công khai có khả năng xác thực danh tính người dùng Khi một cá nhân mã hóa văn bản bằng khóa bí mật của mình, người nhận có thể sử dụng khóa công khai để giải mã Nếu quá trình giải mã thành công, điều này chứng tỏ văn bản đó thực sự đến từ người sở hữu khóa công khai tương ứng.
Các đặc điểm trên còn có ích cho nhiều ứng dụng khác như: tiền điện tử, thỏa thuận khóa
CÁC ỨNG DỤNG CỦA BLOCKCHAIN
Công nghệ blockchain, nổi bật nhất với Bitcoin và các loại tiền điện tử, đang dần cách mạng hóa nhiều ngành công nghiệp tại Việt Nam Dưới đây là một số ứng dụng thực tiễn của blockchain trong đời sống hàng ngày.
Giải pháp, ứng dụng Blockchain trong lĩnh vực tài chính, ngân hàng.
Công nghệ Blockchain đang mở ra tiềm năng lớn trong lĩnh vực tài chính – ngân hàng, với tác động mạnh mẽ đến quy trình xác nhận giao dịch và quản lý tiền mặt Nó giúp tối ưu hóa tài sản và cải thiện các quy trình kinh doanh khác, giảm thiểu thời gian từ khi đăng ký đến khi hoàn thành giao dịch Công nghệ này cũng rút ngắn thời gian cho các giao dịch liên ngân hàng, chuyển khoản quốc tế và xác nhận thông tin cá nhân, tạo cơ hội cắt giảm chi phí và thời gian thanh toán bù trừ giao dịch Hơn nữa, Blockchain hứa hẹn mang đến một hệ thống giao dịch an toàn hơn so với các định chế truyền thống.
Giải pháp, ứng dụng Blockchain trong lĩnh vực y tế
Blockchain cung cấp một nền tảng mới cho quản lý thông tin y tế bằng cách điện tử hóa hồ sơ y tế Công nghệ này cho phép bệnh nhân trở thành chủ sở hữu chính hồ sơ của mình, loại bỏ sự cần thiết của người trung gian.
Giải pháp, ứng dụng Blockchain trong lĩnh vực (ngành) hàng không
Bằng việc ứng dụng công nghệ blockchain, các hãng hàng không có thể phát triển các mô hình dịch vụ tối ưu hơn, từ đó góp phần mở rộng ngành du lịch.
Hãng hàng không có thể áp dụng công nghệ để tối ưu hóa quy trình bán vé, nâng cao quản lý chương trình khách hàng trung thành và cải thiện an ninh thông tin của hành khách.
Ứng dụng Blockchain trong lĩnh vực bất động sản mang lại lợi ích lớn khi loại bỏ sự phụ thuộc vào bên trung gian Công nghệ này cho phép người bán, người mua, người thuê và người cho thuê kết nối trực tiếp với nhau, giúp giảm thiểu chi phí cho cả hai bên Nhờ đó, hoạt động mua bán bất động sản sẽ không còn cần đến "cò" môi giới.
Giải pháp, ứng dụng Blockchain trong lĩnh vực nông nghiệp (truy xuất nguồn gốc)
Blockchain sẽ đóng vai trò quan trọng trong ngành bán lẻ và nông nghiệp, giúp truy xuất nguồn gốc một cách hiệu quả, từ đó người tiêu dùng có thể biết rõ sản phẩm và hàng hóa được nhập khẩu hoặc sản xuất từ đâu.
Xoài Blockchain là minh chứng cho ứng dụng công nghệ blockchain trong nông nghiệp, với 500 trái xoài Cát Chu của HTX Mỹ Xương tại Đồng Tháp Sản phẩm này lần đầu được giới thiệu tại Vietnam Blockchain Summit 2018 vào tháng 6/2018 Nhờ vào công nghệ blockchain, người tiêu dùng có thể dễ dàng truy xuất nguồn gốc của quả xoài, đảm bảo chất lượng và nguồn gốc sản phẩm.
QR Code giúp người tiêu dùng nắm rõ quy trình sản xuất, phân phối và cách sử dụng sản phẩm Bằng cách quét mã, người dùng còn có thể biết được độ chua ngọt của quả xoài và thời điểm lý tưởng để thưởng thức.
Ứng dụng công nghệ Blockchain trong giáo dục mang lại nhiều lợi ích vượt trội, giúp xây dựng một hệ thống học tập và giảng dạy thông minh, minh bạch và an toàn Đây là một giải pháp hiện đại, góp phần tạo ra nền giáo dục văn minh trong kỷ nguyên số.
Giải pháp, ứng dụng Blockchain trong lĩnh vực thương mại điện tử
Việc ứng dụng công nghệ blockchain trong ngành thương mại điện tử sẽ giúp khắc phục nhiều vấn đề tồn tại, mang lại nhiều lợi ích đáng kể cho người tiêu dùng và doanh nghiệp Công nghệ mới này không chỉ tăng cường tính minh bạch mà còn cải thiện quy trình giao dịch, đảm bảo an toàn và bảo mật thông tin.
Ứng dụng blockchain trong thương mại điện tử mang lại chế độ bảo mật tối ưu, đảm bảo thông tin được lưu trữ một cách an toàn và bất biến Với công nghệ này, việc hack hay đánh cắp thông tin trở nên gần như không thể, giúp bảo vệ dữ liệu người dùng một cách hiệu quả.
Công nghệ Blockchain giúp giảm chi phí nhờ vào tính minh bạch và rõ ràng, tạo dựng niềm tin từ thị trường Điều này cho phép các nhà đầu tư tiết kiệm chi phí cho các hoạt động quảng cáo.
Hợp đồng thông minh giúp tăng tốc độ giao dịch trong hệ thống thương mại điện tử, cho phép mọi giao dịch được thực hiện nhanh chóng khi khớp lệnh, từ đó rút ngắn thời gian giao dịch cho người tiêu dùng.
Giải pháp, ứng dụng Blockchain trên phần mềm hóa đơn điện tử
Blockchain là công nghệ tiên tiến mang lại tính bảo mật, an toàn và minh bạch cho lĩnh vực tài chính và kế toán Khi được áp dụng vào hóa đơn điện tử, Blockchain hoạt động như một sổ cái ghi lại toàn bộ trạng thái của hóa đơn, yêu cầu sự đồng thuận từ tất cả các bên tham gia cho bất kỳ thay đổi nào Nhờ đó, Blockchain không chỉ đảm bảo an toàn mà còn chống lại việc làm giả hóa đơn cho doanh nghiệp.