mở đầu cho một hệ thống BlockChain có thể giúp các vị tướng tin tưởng nhau hơn. 3 Năm 1982, David Chaum - nhà khoa học được vinh danh là nhà phát minh ra tiền ảo và chữ ký mù đã đưa ra một nghiên cứu có nhan đề “Blind Signatures for Untraceable Payments” (tạm dịch: Chữ ký mù cho những giao dịch không thể tìm ra). Chữ ký mù ẩn nội dung thông điệp trước khi ký. Mặc dù, chữ ký số có thể được xác thực với chữ ký gốc, nhưng nội dung vẫn được ẩn – đây là phiên bản sơ khai của chữ ký mã hóa dùng cho BlockChain.
Năm 1990, chính tác giả này đã thành lập DigiCash để tạo ra một loại tiền ảo dựa trên ý tưởng trong các bài viết của ông. Đến năm 1994, khoản chi điện tử đầu tiên của DigiCash đã được thực hiện. Năm 1997, Adam Back đề xuất một hệ thống hạn chế thư quảng cáo cùng với phương thức tấn công từ chối dịch vụ bằng cách sử dụng một thuật toán “Bằng chứng xử lý”, được biết đến với tên là Hashcash. Sau cuộc khủng hoảng tài chính 2008, hệ thống tài chính Mỹ sụp đổ hoàn toàn khiến người dân đánh mất niềm tin vào đồng tiền của một bên thứ 3 đáng tin cậy.
Ý tưởng về Bitcoin – một đồng tiền phân cấp ngang hàng trên mạng máy tính lần đầu tiên được Satoshi Nakamoto đưa ra, cũng là ứng dụng đầu tiên của BlockChain. Cho đến nay, vẫn tồn tại nhiều định nghĩa về công nghệ BlockChain khác nhau tùy thuộc vào quan điểm nhìn nhận. Sau đây chúng ta sẽ xem xét một số khái niệm về BlockChain. Theo ấn bản “Mastering Bitcoin” của tác giả Antonopoulos, BlockChain được định nghĩa là “Công nghệ lưu trữ và truyền tải thông tin bằng các khối (block) được liên kết với nhau và mở rộng theo thời gian, do đó được gọi là chuỗi khối (BlockChain).
Mỗi block chứa đựng các thông tin về thời gian khởi tạo, các thông tin giao dịch và được liên kết với các khối trước đó thông qua thông tin hàm băm (hash).” Do sự phát triển của thế giới luôn thay đổi nên các khái niệm về BlockChain luôn được cập nhật cho phù hợp. Trên cơ sở đó, một số định nghĩa về BlockChain được đưa ra: “BlockChain là một cuốn sổ cái được chia sẻ phân tán và chứa các giao dịch. Các giao dịch đều được sắp xếp và nhóm thành các khối. Hiện tại, các mô hình hệ 4 thống CNTT trên thực tế đều dựa trên cơ sở dữ liệu riêng được duy trì bởi các tổ chức, trong khi đó sổ cái phân tán có thể phục vụ như một nguồn tin cậy cho các thành viên của tổ chức sử dụng BlockChain.” “BlockChain là một loại sổ cái kỹ thuật số lưu trữ các giao dịch kinh tế không thể thay đổi, có thể được lập trình để lưu trữ không chỉ các giao dịch tài chính, mà còn là hầu như tất cả mọi thứ có giá trị.” - Theo Don & Alex Tapscott – tác giả cuốn “BlockChain Revolution” (2016).
BlockChain được áp dụng trong nhiều lĩnh vực khác nhau, đang dần được coi là môn khoa học về sự trao đổi thông tin và giải quyết tất cả các mối quan hệ trao đổi giữa các tổ chức, cá nhân giữa các nước trên thế giới, giúp cho các tổ chức/cá nhân đạt được những mục tiêu đã dự tính với kết quả chính xác nhất và hiệu quả cao nhất. Như vậy, một cách tổng quát, BlockChain có thể xem như một quá trình thu thập dữ liệu một cách chính xác nhất, từ đó đồng bộ các thông tin, dữ liệu với nhau. Nhờ đó các tổ chức, cá nhân có thể dễ dàng tạo ra và trao đổi những thứ có giá trị với người khác.2 Cấu trúc của BlockChain 1.1 Cấu trúc của một khối (Block) Block cơ bản gồm một tiêu đề chứa siêu dữ liệu và theo sau đó là một danh sách trải dài các giao dịch, và quan trọng hơn nó được link với các block trước đó (block mẹ), điều này là mấu chốt khiến BlockChain rất khó có thể sửa, xóa khi đã được lưu vào.2: Cấu trúc cơ bản của một Block + Mã băm: Nó là mã số đại diện cho riêng một khối cụ thể, nó như là một chứng minh thư của khối đấy và đảm bảo rằng nó sẽ không bị trùng với bất kì khối nào khác trong chuỗi. Mã số này được tạo ra từ thuật toán Băm.
+ Dữ liệu giao dịch: một đoạn văn bản hay file bất kì, là nội dung giao dịch quan trọng cần được lưu trữ. + Dấu thời gian: mốc thời gian mà khối được tạo ra, có độ chính xác tới 1/1000 giây. + Mã băm khối trước: ghi lại mã của Block ngay trước nó để "Khi đã tạo ra 1 block rồi thì rất khó có thể thay đổi thông tin của Block đó". Bởi 1 Block là hash của các trường bên trên nên nếu Block trước bị thay đổi => hash của Block trước cũng bị thay đổi => giá trị trường Mã băm khối trước cũng bị thay đổi theo và cứ thế cứ thế nếu block thứ n bị thay đổi thì block n+1, n+2,.
n+n cũng bị thay đổi theo. Và cũng chính từ đặc điểm Block trước kết nối với Block sau thành một chuỗi thế này nên nguời ta gọi là BlockChain (Block: khối, Chain: chuỗi, BlockChain: tạm dịch là chuỗi khối) Trên thực tế ngoài 4 trường dữ liệu này ra sẽ còn nhiều trường dữ liệu khác nữa được đưa vào BlockChain, tuy nhiên tùy theo nhu cầu ứng dụng cụ thể. Ví dụ trong một khối của Bitcoin, còn có thêm trường Nonce và Version để sử dụng cho việc đào Coins. Cụ thể: 6 Trường Bits chính là trường ghi lại độ khó của công việc tìm ra số ngẫu nhiên Nonce.2 Cấu trúc của BlockChain Mỗi khi một block mới được xác thực và được ghi vào BlockChain thì các bản sao cục bộ ở các node đầy đủ cũng tự cập nhật.
Khi một node nhận được block mới, việc đầu tiên là nó xác thực block đó và sau đó liên kết nó với BlockChain đã có. Để xác lập một liên kết, node sẽ tìm tới mã băm của block kế trước.3: Hai Block liền kề nhau trong Bitcoin Đây là 2 block liền kề nhau, chúng được liên kết với nhau bằng mã băm khối trước (previous Hash), block 277317 có previous Hash là Hash của block trước nó 277316. Nhờ vậy việc thay đổi một block trong BlockChain là một việc vô cùng khó khăn vì khi thay đổi một block, các block khác liên kết sẽ không còn đúng đắn, và hành động đó sẽ bị phát hiện và loại bỏ. Cấu trúc của dữ liệu BlockChain là một danh sách các khối giao dịch được sắp xếp thẳng hàng, được liên kết ngược với nhau.
Các khối được kết nối “trở lại”, mỗi khối đề cập đến khối trước đó trong chuỗi. Thông thường, BlockChain được hiển thị dưới dạng các khối được xếp chồng lên nhau. Ngăn xếp đầu tiên đóng vai trò là cơ sở của khối. Mỗi khối trong BlockChain được công nhận bởi một băm (hash), được tạo ra bằng thuật toán băm mật mã SHA256 trên tiêu đề khối.
Mỗi khối cũng tham chiếu đến khối trước, được gọi là khối chính. Nói cách khác, mỗi khối đều có băm cha mẹ. Hàng loạt các băm kết nối mỗi khối với cha mẹ của chúng, xây dựng thành 1 chuỗi mà nếu truy ngược lại khối đầu tiên, khối đó được gọi là khối Genesis.4: Chuỗi khối BlockChain Danh tính của khối con thay đổi nếu danh tính của khối cha mẹ thay đổi. Nếu khối gốc được sửa đổi, hàm băm của các khối cha mẹ sẽ thay đổi.
Do đó, hàm băm thay đổi của cha mẹ sẽ thay đổi hàm băm của con. Khi băm của con thay đổi, điều này, đến lượt nó, đòi hỏi một sự sửa đổi trong con trỏ của cháu, và cứ thế. Các hiệu ứng xếp tầng đảm bảo rằng một khi một khối có nhiều thế hệ, nó không thể bị giả mạo mà không buộc phải tính toán lại tất cả các khối liên tiếp. Kể từ khi tính toán lại như vậy sẽ cần tính toán rất lớn, sự hiện diện của một chuỗi dài các khối đảm bảo rằng BlockChain là bất biến.
Như vậy chúng ta thấy nếu sửa đổi một khối sẽ dẫn đến việc phải tính toán lại, sửa đổi toàn bộ các khối đằng sau nó, tùy thuộc vào độ dài của chuỗi và năng lực xử lý của máy tính là việc này có thể diễn ra nhanh hay chậm. Có thể chỉ là vài phút, hoặc có thể tốn nhiều giờ đồng hồ. Tuy nhiên việc sửa đổi một chuỗi chưa phải là đã xong bởi vì BlockChain còn có một cơ chế rất đặc biệt nữa, nó đóng vai trò là rào cản cực kì lớn đối với mọi nỗ lực gian lận, đó chính là cơ chế “Đồng thuận phi tập trung”. Tất cả máy tính tham gia vào hệ thống đều có một bản sao hợp lệ của chuỗi, vì vậy nếu như chỉ sửa đổi trên một máy thôi thì không có ý nghĩa gì cả.
Hacker bắt buộc phải thực hiện cái việc giả mạo đồng loạt trên tối thiểu 51% các máy tính trên mạng lưới trong một khoảng thời gian rất ngắn, 9 khoảng 10 phút thì mới có cơ hội thành công. Tuy nhiên các chuyên gia đều nhận định rằng điều này chỉ là lý thuyết, chứ không thể xảy ra trên thực tế được. Để hiểu cấu trúc công nghệ BlockChain, hãy suy nghĩ về các lớp trong sự hình thành địa chất. Với các mùa, lớp bề mặt có thể thay đổi.
Lớp bề mặt cũng có thể bị thổi bay trước khi nó có thời gian để giải quyết. Tuy nhiên, khi bạn đi sâu vài inch, các lớp trở nên ngày càng ổn định hơn. Khi bạn nhìn một trăm feet, bạn sẽ thấy những tảng đá vẫn chưa bị xáo trộn trong nhiều thế kỷ. Trong cùng một cách, trong BlockChain, các khối gần đây có thể được thay đổi dễ dàng.
Nhưng một khi bạn đi sâu vào BlockChain, các khối ít hơn và ít có khả năng thay đổi. Nói đơn giản là cấu trúc của công nghệ BlockChain làm cho việc loại bỏ hoặc thay đổi một khối dữ liệu vô cùng khó khăn. Khi ai đó muốn thay đổi nó, những người tham gia trong mạng, những người có bản sao của BlockChain hiện có, có thể đánh giá và xác minh giao dịch được đề xuất. Do đó, cho phép minh bạch và chính xác trong giao dịch.3 Cách thức BlockChain hoạt động như thế nào? 1.1 Nguyên tắc sổ cái (Ledger) Mỗi nút trong BlockChain đều đang lưu giữ một bản sao của sổ kế toán.
Hệ thống BlockChain ghi lại mỗi giao dịch được yêu cầu. Sổ cái trên thực tế không theo dõi số dư, nó chỉ theo dõi mọi giao dịch được phát đi trong mạng lưới. Có 2 mô hình sổ cái đó là mô hình sổ cái tập trung và mô hình sổ cái phân tán.