Blockchain: lịch sử, tính chất và ứng dụng
Khái niệm 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).
Ngoài ra, có một số định nghĩa khác về Blockchain như: 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ệ 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.
Block cũng được định nghĩa như một cấu trúc dữ liệu, là một danh sách liên kết sử dụng hàm băm con trỏ thay vì các con trỏ thông thường. Hàm băm con trỏ này được sử dụng để trỏ tới khối trước đó.
Cấu trúc móc xích bằng mã băm của các block trong công nghệ blockchain
Các giao dịch trong blockchain được xử lý theo cơ chế đồng thuận, có nghĩa là các nút tham gia mạng lưới blockchain cùng nhau giải quyết một bài toán bao gồm một hàm toán học được gọi là hàm băm. Nhiệm vụ này mặc dù được cho là khá đơn giản (đối với máy tính), nhưng nếu được thực hiện nhiều lần thì sẽ phát sinh chi phí tính toán (computationally expensive). Các máy tính trong mạng blockchain sẽ cạnh tranh với nhau để tìm một hash với đặc tính cụ thể. Máy tính tìm ra giá trị hash trước tiên sẽ được phép thêm một khối giao dịch mới vào blockchain. Các giao dịch này sẽ được lưu trữ trong một cơ sở dữ liệu gọi là sổ cái. Dữ liệu sẽ được lưu trữ dạng phân tán và không thể sửa, xóa. Như vậy, các yếu tố chủ yếu cấu thành blockchain bao gồm: Sổ cái phân tán dạng móc xích, Mạng tính toán ngang hàng, Mật mã học được sử dụng trong blockchain.
Do được thiết kế trên nền tảng dữ liệu phi tập trung, blockchain được thiết kế để chống lại sự thay đổi dữ liệu. Thông tin các block trong blockchain được mã hóa bằng hàm hash và lưu trữ trên tất cả các nút. Mỗi nút sẽ chứa thông tin không thể bị thay đổi và chỉ được bổ sung thêm block mới khi có sự đồng thuận của tất cả các nút trong hệ thống. Như vậy, các giao dịch trong blockchain sẽ được đảm bảo an toàn nhờ hai tính chất: Cấu trúc block kết nối móc xích tạo cơ chế khó phá vỡ và sử dụng các thuật toán mật mã để chống giả mạo.
Lịch sử blockchain
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 blokchain.
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.
Tháng 10/2008, Satoshi - người mà danh tính thật sự vẫn còn là một ẩn số đã phát hành “sách trắng” Bitcoin, mô tả một phiên bản “tiền mật mã ngang hàng” (purely peer-to-peer version of electronic cash) với tên gọi Bitcoin công nghệ blockchain lần đầu được ra mắt công chúng. Sự ra đời của blockchain được đánh giá như một cuộc cách mạng lớn nhất từ sau khi có Internet trên thế giới.
Thời gian gần đây, blockchain được nhắc đến nhiều hơn dưới góc nhìn kỹ thuật thay vì liên quan đến tiền tệ như trong thời gian trước. Tuy nhiên, ứng dụng thực tiễn để mang lại giá trị cho người dùng thì vẫn đang phát triển, đặt ra nhiều thách thức cho các chuyên gia công nghệ.
Giao dịch trong blockchain
Giao dịch trong Blockchain
Blockchain là một cuốn sổ cái ghi lại tất cả các giao dịch. Dữ liệu trong cuốn sổ cái liên tục được mạng lưới ngang hàng cập nhật. Giao dịch của A gửi cho B được ghi lại trên toàn hệ thống. Tất cả các máy tính trong mạng sẽ xác minh và ghi lại giao dịch đó vào cuốn sổ cái, rồi cấp phát dữ liệu này tới các máy tính khác trong mạng. Theo cơ chế, một nút sẽ cấp phát cho 8 nút gần nhất. Vì blockchain là một cơ sở dữ liệu phân tán, nên các máy tính liên tục thực hiện việc kiểm soát độc lập bằng cách xác minh dữ liệu nhận tới và so sánh với chữ ký của giao dịch đó.
Các giao dịch được xác minh bởi thuật toán chữ ký số dựa trên đường cong Elliptic (ECDSA) và được xác định bởi một chuỗi các quá trính xử lý lần lượt các hàm băm SHA256 bởi các máy đào. Mỗi khối trong blockchain chứa thông tin các giao dịch của khối trong một cây Merkle để đạt hiệu quả cao trong việc lưu trữ và xác minh với lượng dữ liệu lớn các giao dịch. Khi có một giao dịch không hợp lệ, hệ thống sẽ loại bỏ bằng cách chọn theo đa số. Càng nhiều máy tính tham gia vào hệ thống thì sức mạnh xử lý và độ an toàn của hệ thống blockchain càng cao.
Tính chất của blockchain
Tính tin cậy
Khi nhắc đến blockchain, tính chất đầu tiên sẽ được nhắc tới là tính tin cậy. Giao dịch trong blockchain được ký số bởi thuật toán ECDSA – một thuật toán ký số mà khả năng giả mạo chữ ký là rất nhỏ, bởi yêu cầu tài nguyên tính toán lớn. Thêm nữa, việc sử dụng hàm băm mật mã trong cả quá trình từ lúc khởi tạo giao dịch tới lúc vào sổ là một yếu tố gia tăng thêm sự tin cây. Toàn bộ các giao dịch đều được tóm lược và lưu trữ trong header của block. Quá trình kiểm tra các block và giao dịch cũng diễn ra nhiều lần với nhiều lớp.
Tính không thể đảo ngược
Dữ liệu giao dịch sẽ không thể thay đổi sau khi vào sổ xác nhận đủ lâu, giao dịch được lưu trữ trong block, các block lại được liên kết với nhau. Trong ID của một block có “dấu vết” của toàn bộ các giao dịch từ đầu, cộng thêm các yếu tố ngẫu nhiên. Do đó, việc làm lại sổ sẽ đòi hỏi tài nguyên tính toán rất lớn, vì liên quan đến các block trước và chi phối toàn bộ các block sau.
Tính bền vững
Hệ thống blockchain hình thành và phát triển đến khi đủ lớn thì sẽ trở nên không thể phá vỡ. Nguyên tắc đồng thuận phân tán khiến việc kiểm tra và xác thực ngày càng được gia tăng theo số nút mạng tham gia. Hơn thế, mạng ngang hàng mang lại khả năng tính toán cao, không có nút cổ chai nên việc tấn công DDoS rất khó xảy ra. Nếu có sự cố ở một nút thì các nút còn lại vẫn có thể hoạt động bình thường với dữ liệu đã được đồng bộ. Các dữ liệu này cũng không thể xóa, chỉ ghi và đọc dữ liệu.
Tính sẵn sàng
Các nút mạng của blockchain được đặt ở nhiều nơi, nhiều khu vực địa lý khác nhau, nên đảm bảo tính sẵn sàng. Việc tham gia mạng blockchain không đòi hỏi sự cấp phép của một đơn vị quản lý tập trung, nên thường dẫn tới số nút mạng ngày càng gia tăng. Khi một máy bị lỗi và khôi phục lại, sẽ tự động kết nối và đồng bộ lại dữ liệu. Dữ liệu được lan truyền đi rộng khắp trên thế giới không phát sinh thêm chi phí địa lý, vận chuyển,… tiết kiệm thời gian và công sức.
Ứng dụng của blockchain
Blockchain đã hình thành một hệ thống có tính minh bạch, có dữ liệu và lịch sử hình thành dữ liệu không thể đảo ngược, đặc biệt không có sự can thiệp của cá nhân hay tổ chức nào trong quá trình vận hành hệ thống. Minh bạch và dữ liệu sạch sẽ tạo nên lòng tin của người dùng đối với hệ thống. Từ đó, Blockchain sẽ có thể trở thành cơ sở nền tảng tạo ra nhiều ngành kinh tế mới bên cạnh lĩnh vực tiền mã hóa: Nền kinh tế vi thanh toán (Micropayment), Tạo nền tảng cho giao diện M2M (Machine-to-Machine) nền tảng giao dịch cho thế giới kết nối hơn 30 tỷ thiết bị IoT, Hợp đồng thông minh (Smart Contract), ứng dụng phân tán (dApp)…
Dựa vào các đặc điểm, tính chất nêu trên, một số ứng dụng điển hình của Blockchain trong thực tế là:
Quản lý định danh
Hiện nay, có thể quản lý thẻ chứng minh thư, bằng đại học, bằng sáng chế hay những thứ tương tự với blockchain. Một vài tổ chức cung cấp dịch vụ xác minh trực tuyến như scan thẻ, hoặc đóng dấu bằng số và xác minh tính hợp lệ, tuy nhiên có thể rất tốn kém vì phải trả tiền cho đám mây lưu trữ. Với blockchain, không cần phải xây dựng hạ tầng định dạng mà chỉ cần hỏi để mở blockchain.
Chứng thực
Hầu hết các chứng từ thể hiện quyền sở hữu được lưu bằng giấy, nên có thể bị giả mạo hay sửa đổi. Dữ liệu trên blockchain thì không thể thay đổi. Blockchain là một chuỗi của nhiều khối, nằm trong nhiều máy tính, nên có thể ngăn chặn được những tác nhân vật lý. Thông tin kỹ thuật số được chia thành nhiều khối và liên kết với nhau.
Tài sản kỹ thuật số
Initial Coin Offering (ICO) là một cách thức huy động vốn thông qua việc sử dụng tiền mật mã. Bất kỳ ai, ở bất kỳ đâu cũng có thể trở thành nhà đầu tư. ICO sẽ cung cấp cho nhà đầu tư tài sản kĩ thuật số gọi là “token”. Những “token” này sẽ được giữ trong ví blockchain và có thể sử dụng để thanh toán cho các dịch vụ của công ty hoặc trao đổi khi giá trị của nó tăng lên.
Bầu cử kỹ thuật số
Vấn đề lớn nhất của bầu cử trực tuyến là tính an toàn, bởi phiếu bầu có thể bị thay đổi hoặc lộ lọt thông tin bầu cử. Tuy nhiên, Blockchain có thể làm cho phiếu bầu cử trở thành ẩn danh và an toàn hơn.
Với tiềm năng của blockchain, những ứng dụng của công nghệ này sẽ làm thay đổi đáng kể cuộc sống của con người trong thời gian không xa. Tuy nhiên, việc áp dụng công nghệ blockchain cũng cần được các nhà quản lý giám sát và điều tiết một cách phù hợp, nhằm tuân thủ các quy định của pháp luật.
Nguyễn Ngọc Khánh (Python Việt nam)