TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN
Khái niệm về “Blockchain”
Trước khi đi vào phần tổng quan tình hình nghiên cứu, chúng tôi xin làm rõ khái niệm “Blockchain”. Theo Don & Alex Tapscott (2016), 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.
Theo Wang, L. Feng và cộng sự (2017), 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.
Có một số định nghĩa khác về Blockchain như sau:
Blockchain về cơ bản là một cơ sở dữ liệu được phân phối của các bản ghi hoặc sổ cái công khai của tất cả các giao dịch hoặc các sự kiện kỹ thuật số đã được thực hiện và chia sẽ giữa các bên tham gia. Mỗi giao dịch trong sổ cái công khai được xác minh bởi sự đồng thuần của đa số những người tham gia trong hệ thống. Ngoài ra, một khi đã nhập thông tin không bao giờ có thể bị xóa bỏ (Crosby và cộng sự, 2015).
Công nghệ Blockchain sử dụng mã hóa Public key và hàm hash để đảm bảo tính minh bạch, toàn vẹn và riêng tư của dữ liệu; sử dụng mỗi một nút trong mạng như một Client và cũng là một Server để lưu trữ bản sao ứng dụng, và áp dụng các nguyên tắc đối với các nút tham gia vào hệ thống đều phải tuân thủ luật chơi đồng thuận (Savjee, 2017), (IBM Think Academy, 2016).
Cấu trúc khối “Blockchain”
Về bản chất nó là các chuỗi khối liên kết với nhau như dạng danh sách liên kết nhưng có thể truy xuất ngược từ khối cuối (hiện tại) đến khối đầu tiên. Nó thực sự như một cuốn sổ cái phân tán (Distributed ledger) mà mỗi giao dịch (gọi là khối) trong sổ bao gồm các thông tin được lưu trữ như sau:
Về cơ bản mỗi khối chứa những thông tin sau: (1) Dữ liệu (Data): Dữ liệu trong mỗi khối phụ thuộc vào loại lockchain, ví dụ blockchain của bitcoin chứa thông tin về các giao dịch như thông tin người gửi, người nhận tiền và số bitcoin được giao dịch; blockchain về bảo hiểm y tế sẽ lưu trữ các thông tin về đối tượng được hưởng bảo hiểm, lịch sử sức khỏe của đối tượng đó,…(2) Mã băm (Hash): Dùng để nhận dạng một khối và các dữ liệu trong đó. Mã này là duy nhất, nó tương tự như dấu vân tay. Bất kỳ sự thay đổi nào trong khối thì mã băm cũng sẽ thay đổi; (3) Mã băm đối chiếu (Hash of previous block) sẽ tạo thành chuỗi. Bất cứ sự thay đổi một khối sẽ khiến các khối tiếp theo không phù hợp (Trang thông tin điện tử Cục Tin học hóa, 2018).
Bảng 1. Dữ liệu các chuỗi liên kết Blockchain | |||||
Hash | 4A3F | Hash | BC45 | Hash | E6F3 |
Hash của khối trước | 0000 | Hash của khối trước | 4A3F | Hash của khối trước | BC45 |
Nguồn: Savjee, (2017), IBM Think Academy (2016) |
Để rõ hơn, chúng ta nhìn vào hình ảnh trên. Khối 1 là khối khởi điểm, khi thay đổi thông tin khối thứ 2 thì khối thứ 3 và các khối tiếp theo đó sẽ không còn phù hợp nữa hay nói cách khác là các mối liên kết bằng mã băm đối chiếu sẽ bị sai. Trên hình ảnh, khối thứ 2 bị thay đổi thông tin, mã băm của khối sẽ thay đổi theo (mã băm khối 2 từ 6BQ1 chuyển thành H62Y), như vậy mối liên kết giữa khối 2 và khối 3 bằng mã băm 6BQ1 không tương thích nữa. Với thiết kế này, Blockchain giúp chống lại việc thay đổi của dữ liệu. Về nguyên tắc, một khi dữ liệu đã được ghi vào Blockchain thì sẽ không có cách nào thay đổi được dữ liệu đó. Tuy nhiên, trong thế giới hiện đại và thông minh hiện nay, sử dụng những đoạn mã băm không thôi là chưa đủ để ngăn chặn những sự thay đổi, sự giả mạo. Thực tế, có hàng trăm, hàng nghìn chiếc máy tính với cấu hình ‘khủng’ có thể tính toán hàng trăm nghìn các mã băm trên một giây; tức là khi một khối bị thay đổi dữ liệu, tức mã băm của khối sẽ thay đổi, các máy tính can thiệp vào quá trình thay đổi, giả mạo đó sẽ tính toán lại tất cả các mã băm của các khối tiếp theo sao cho phù hợp và liên kết với các khối trước đó và kết quả là sổ cái Blockchain bị thay đổi giả mạo hoàn toàn. Để giảm thiểu vấn đề này, Blockchain đã được trang bị thêm phương tiện đó là thuật toán đồng thuận, trong đó có 02 loại thuật toán đồng thuận được triển khai phổ biến: Thuật toán bằng chứng công việc (PoW) và thuật toán bằng chứng cổ phần (PoS). (Trang thông tin điện tử Cục Tin học hóa, 2018).
* Thuật toán bằng chứng công việc (Proof of work hay viết tắt là PoW): Cơ chế của PoW là làm chậm lại quá trình hình thành những khối Block mới; ví dụ trong trường hợp Bitcoin, để tính toán bằng chứng công việc theo yêu cầu thì mất khoảng 10 phút, sau đó mới có một khối mới được hình thành vào chuỗi. Với cơ chế PoW này, việc giả mạo dường như là không thể, vì khi thay đổi dữ liệu của một khối, người can thiệp giả mạo sẽ phải tính toán lại toàn bộ bằng chứng công việc của những khối tiếp theo; như vậy chúng ta hãy hình dùng xem, mỗi khối để tính toán lại mất tối thiểu 10 phút, với hàng trăm, hàng nghìn khối thì thời gian sẽ nhiều như thế nào (Trang thông tin điện tử Cục Tin học hóa, 2018).
* Thuật toán bằng chứng cổ phần (Proof of Stake hay viết tắt là PoS): ngược lại với PoW, thuật toán PoS là cách khác để xác minh các giao dịch. Với PoS, người tạo ra khối mới sẽ được lựa chọn một cách ngẫu nhiên, dựa trên giá trị cổ phẩn (hay còn gọi là stake) của họ có. Người này có trách nhiệm xác nhận tính hợp lệ của các khối mới. Để trở thành một người xác nhận, thì người này phải đặt cọc một khoản tiền nhất định (đó là stake, và khoản tiền này sẽ bị mất nếu người này thực hiện xác nhận một giao dịch gian lận) và người xác nhận chỉ được khai thác. Khi xác nhận được một khối thành công, người xác nhận sẽ nhận được phần thưởng là khoản tiền phí liên quan của các giao dịch tương ứng trong khối đó. Nếu người này không muốn tiếp tục làm người xác nhận, sau một khoảng thời gian nhất định để xác thực người này không thực hiện bất kỳ một xác nhận giả mạo nào, thì cổ phẩn và tiền kiếm được của họ sẽ được hoàn lại. Như vậy, sẽ rất mất thời gian và tiền để thực hiện một xác nhận một khối block giả (Trang thông tin điện tử Cục Tin học hóa, 2018).
Các đặc tính của Blockchain
Những đặc điểm chính của công nghệ Blockchain là: (1) Không thể làm giả, không thể phá hủy: theo như lý thuyết chỉ có máy tính lượng tử mới có thể giải mã Blockchain và công nghệ Blockchain biến mất thì không còn Internet trên toàn cầu; (2) 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; (3) 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; (4) Minh bạch: ai cũng có thể theo dõi dữ liệu Blockchain đi từ địa chỉ này tới địa chỉ khác và có thể thống kế toàn bộ lịch sử trên địa chỉ đó; (5) Hợp đồng thông minh: là hợp đồng kỹ thuật số được nhúng vào đoạn code if-this-then-that (IFTTT), cho phép chúng tự thực thực thi mà không cần bên thứ ba (Savjee, 2017).
Hợp đồng thông minh là một giao thức để điều chỉnh hợp đồng. Hợp đồng thông minh là giao thức đặc biệt nhằm đóng góp, xác minh hoặc thực hiện thương lượng hoặc thực hiện hợp đồng. Hợp đồng thông minh cho phép thực hiện các giao dịch đáng tin cậy mà không có bên thứ ba. Các giao dịch này có thể theo dõi và không thể đảo ngược. Hợp đồng thông minh chứa tất cả thông tin về các điểu khoản hợp đồng và thực hiện tất cả các hành động dự kiến một cách tự động (Tar, 2017).
Các loại Blockchain có thể chia thành ba loại theo nguyên tắc về quyền đọc ghi dữ liệu và tham gia vào hệ thống như: Public (công khai); Private (riêng tư) và ermissioned/Consortium (được phép). Với kiểu Public, bất kỳ ai cũng có thể đọc và ghi dữ liệu trên Blockchain, ví dụ các đồng tiền ảo Bitcoin, Ethereum,… Với kiểu Private, người dùng chỉ có quyền đọc không có quyền ghi dữ liệu vào Blockchain, chỉ có một bên thứ ba tin cậy được quyền ghi, ví dụ như Ripple. Còn với kiểu Permissioned bổ sung thêm sự kết hợp giữa bên thứ ba khi tham gia vào Public hay Private, ví dụ như các ngân hàng hay tổ chức tài chính liên doanh sử dụng Blockchain cho riêng mình (Savjee, 2017).