Blockchain cho internet vạn vật
Hồ Đức Chung
Tóm tắt:
Được thúc đẩy bởi sự bùng nổ gần đây xung quanh blockchain, bài viết đánh giá liệu blockchain có mang lại lợi ích và hiệu quả nhật định cho Internet vạn vật (IoT) hay không? Blockchain cho phép chúng ta có một mạng ngang hàng phân tán (a distributed peer-to-peer network) nơi mà những thành viên không tin cậy trong mạng có thể tương tác lẫn nhau không cần một trung gian tin cậy trong một cách có thể kiểm chứng được. Bài viết xem xét cơ chế này hoạt động như thế nào dựa trên công nghệ blockchain và cho phép tự động hóa các quy trình gồm nhiều bước. Sau đó bài viết đi sâu vào khía cạnh IoT và mô tả sự kết hợp như thế nào giữa bockchain – IoT: i) những điều kiện chia sẻ dịch vụ và những nguồn tài nguyên dẫn đến việc tạo ra một thị trường giữa các dịch vụ và thiết bị; ii) cho phép chúng ta tự động hóa một cách có thể kiểm chứng xác thực bằng mật mã. Bên cạnh đó bài viết cũng đưa ra những vấn đề nhất định mà sẽ được xem xét trước khi triển khai một mạng blockchain trong IoT.
1. Giới thiệu
Blockchain chú ý được sự thu hút quan tâm gần đây trong một loạt các ngành công nghiệp và dịch vụ như từ tài chính và sức khỏe cho tới các tiện ích, địa ốc và trong các khu vực chính phủ [1 - 7]. Lý do cho việc bùng nổ của sự quan tâm: Với một blockchain tại chỗ, các ứng dụng trước đây có thể chạy hoặc thao tác thông qua một trung gian tin cậy, và bây giờ có thể chạy một cách phi tập trung, không cần thiết cho một trung gian chứng thực, và đạt được cùng chức năng với cùng một lượng chắc chắn nhất định. Điều này rất đơn giản nhưng bất khả kháng trước đây.
Chúng ta có thể nói rằng blockchain cho phép các mạng không đáng tin cậy bởi vì các bên dịch vụ có thể giao dịch thậm chí chúng không tin cậy lẫn nhau. Sự vắng mặt của một trung gian tin cậy có nghĩa là sự hòa hợp nhanh hơn giữa các bên dịch vụ giao dịch. Việc sử dụng mật mã chuyên sâu, một tính chất quan trọng của mạng blockchain, mang lại sự ủy quyền đằng sau tất cả các tương tác trong mạng. Điều này làm cho blockchain lôi cuốn các nhà nghiên cứu và phát triển làm việc trong Internet vạn vật (IoT).
Hiển nhiên là việc chuyển sang mạng phi tập trung không phải lúc nào cũng có nghĩa. Trên hết, thậm chí là ngay cả khi chuyển đổi như vậy là mong muốn, các yêu cầu của ứng dụng dựa trên mạng blockchain có thể không đáp ứng. Blockchain mang lại một loạt lợi ích, nhưng chúng ta cũng thấy rằng nó cũng có những bất lợi kèm theo.
Blockchain hoạt động như thế nào?
Một blockchain là một cấu trúc dữ liệu phân tán được nhân rộng và được chia sẻ giữa các thành viên trong cùng một mạng. Blockchain được giới thiệu bởi Bitcoin [8] để giải quyết vấn đề chi tiêu gấp đôi [9]. Kết quả là làm thế nào các nút trên mạng Bitcoin (được gọi là những thợ mỏ/đào) được xác thực, các giao dịch được đồng ý thỏa thuận lẫn nhau, nhà điều hành Bitcoin blockchain có thẩm quyền nắm cái giao dịch chính được thiết lập cho những ai đã sở hữu những gì [10].
Hình 1. Mỗi khối trong chuỗi danh sách của những giao dịch và một hash của khối phía trước. Ngoại trừ khối đầu tiên của chuỗi (không nằm trong hình), được gọi là khối gốc, là phổ biến cho tất cả các con (clients) trong một mạng blockchain mà không có gốc (parent).
Tuy nhiên, một blockchain có thể vẫn duy trì ổn định và không cần thiết phải có tiền điện tử. Blockchain có thể được xem như một bản ghi trong hồ sơ được đánh dấu bằng khối thời gian. Mỗi khối được đánh dấu bởi hàm hash mật mã của nó. Mỗi khối có liên hệ (tham chiếu) tới hàm hash của khối trước đó. Điều này thiết lập một liên kết giữa các khối, vì thế tạo ra một chuỗi của khối, hoặc là blockchain được mô tả như Hình 1. Bất kỳ nút (node) có quyền truy cập vào danh sách, danh sách liên kết ngược của các khối có thể đọc nó và đưa ra các trạng thái của dữ liệu là gì mà có thể trao đổi trên cùng mạng [10].
Chúng ta sẽ hiểu rõ hơn blockchain hoạt động như thế nào, khi ta phân tích một mạng blockchain vận hành như thế nào. Đó là một tập hợp các nút (nodes/clients) vận hành trên cùng một blockchain thông qua bản sao của mỗi nút được giữ lại. Một nút thường có thể hoạt động như là một điểm đầu vào cho một vài người dùng blockchain khác nhau, để đơn giản, ta giả sử rằng mỗi người dùng giao dịch trên cùng một mạng thông qua nút chính nó. Những nút này là một dạng của mạng ngang hàng (peer-to-peer network) khi:
- Những người dùng tương tác với blockchain thông qua một cặp khóa riêng biệt/ chung. Chúng sử dụng khóa riêng biệt để đăng nhập vào giao dịch, và chúng có thể truy cập vào mạng thông qua khóa chung. Việc sử dụng mật mã bất đối xứng mang lại tính xác thực, toàn vẹn và không lặp lại trong cùng mạng. Mỗi giao dịch đã ký được phát đi bởi một nút người dùng đến nút ngang hàng của nó.
- Những nút ngang hàng lân cận đảm bảo giao dịch đầu vào là hiệu lực trước khi chuyển tiếp thêm nữa; giao dịch không hợp lệ bị loại bỏ. Cuối cùng, giao dịch này trải rộng trên toàn bộ mạng.
- Những giao dịch được đã được thu thập và xác thực bởi mạng sử dụng quy trình ở trên trong khoảng thời gian thỏa thuận, được đặt và đóng gói trong một khối xác định được đánh dấu thời gian. Đây là một quy trình được gọi là đào/khai thác (mining). Nút đào sẽ truyền thông tin khối này trở lại mạng.
- Các nút xác định các khối được đề xuất (a) chứa các giao dịch hợp lệ và (b) liên hệ thông qua với các hàm hash khối chính xác trước đó trên chuỗi của chúng. Nếu đó là trường hợp chính xác, chúng sẽ thêm khối vào chuỗi của chúng, và áp dụng các giao dịch mà chứa nội dung để cập nhật thế giới quan của chúng vào chuỗi. Nếu đó không phải là trường hợp chính xác, khối đề xuất sẽ bị loại bỏ. Điều này đánh dấu sự kết thúc của một vòng. Khi mỗi nút trong mạng theo các bước được liệt kê ở trên, blockchain được chia sẻ, nó hoạt động dựa trên bản ghi được xác thực và đánh dấu thời gian của hoạt động của mạng [10].
Tiếp cận sự đồng thuận trên mạng
Các nút cần sự đồng ý trên các giao dịch và thứ tự được liệt kê trên khối mới được khai thác. Nếu không, các bản sao riêng biệt của blockchain sẽ bị phân tán và kết thúc; các nút sẽ có cái nội dung khác nhau và sẽ không còn tồn tại để duy trì tính thẩm quyền xác thực của một mạng. Một cơ chế đồng thuận phân tán là cần thiết cho mọi mạng blockchain. Cơ chế đồng thuận phân tán phụ thuộc vào loại mạng blockchain và véc tơ truy cập có thể đáp ứng được sự hoạt động của mạng. Ở một kịch bản lý tưởng, tất cả cá nút đang xác thực sẽ được xem xét theo thứ tự giao dịch cho khối tiếp theo. Trong một mạng mở mà mọi người có thể tham gia vào mạng điều này có thể là một thảm họa bởi vì sự tấn công Sybil [12]: một thực thể đơn có thể tham gia với nhiều định danh, lấy được nhiều nội dung khác nhau, và vì thế sự ảnh hưởng lên mạng để tăng tính hấp dẫn của thực thể này. Nói cách khác, thiểu số thực thể có thể nắm quyền kiểm soát của mạng.
Một số thuật toán có thể được sử dụng để giải quyết những vấn đề thường gặp trong một mạng blockchain. Điều này tạo ra sự đồng thuận để đạt được các thứ tự chính xác trong mạng blockchain như proof-of-stack (PoS) [8]; thực hành dung sai lỗi Byzantine (PBFT) [13]; thuật toán đồng thuận Ripple [14]; và thuật toán đa dạng khai thác [15]. Ngoài ra, còn một số thuật toán khác không được đề cập trong bài viết này.
Chuyển dịch tài sản số trên Blockchain
Để chỉ ra một chuyển dịch tài sản hoạt động như thế nào, chúng ta xem xét một ví dụ đơn giản từ ngân hàng thế giới. Tưởng tượng rằng cơ sở dữ liệu của một ngân hàng theo dõi số dư tổng hợp của từng khách hàng. Cơ bản là chúng ta nhìn vào một bảng với 3 cột “loại sài sản”, “chủ sở hữu” và “số lượng”. Ví dụ, một hàng trong bảng với “USD”, “Alice”, “10” xác định Alice có $10 được ký gửi trong ngân hàng. Bob có một tài khoản cùng ngân hàng với $0 trong tài khoản. Khi Alice chuyển $2 cho tài khoản Bob, hàng “số lượng” USD/Alice (loại tài sản/chủ sở hữu) được cập nhật $8, và hàng USD/Bob bây giờ có $2. Một tài sản ($2 USD) hay đúng hơn đó là đại diện số của tài sản này, được chuyển giữa 2 thực thể thông qua sự chuyển đổi của những hàng chính xác trong cơ sở dữ liệu.
Việc chuyển tài sản mã hóa số có thể đạt được một cách dễ dàng và có thể kiểm chứng bằng mật mã sử dụng một mạng blockchain mà sử dụng mô hình giao dịch Bitcoin. Mỗi hàng chứa các trường giống nhau như là ví dụ ngân hàng ở trên, với trường “chủ sở hữu” khác nhau bây giờ được nắm bắt bởi khóa chung của người dùng được cho phép hiệu chỉnh hàng. Giả sử rằng dữ liệu chỉ ra rằng Alice sở hữu 10 đơn vị tài sản X. Điều này, một hàng trong cơ sở dữ liệu, mang mã khóa chung Alice trong cột “chủ sở hữu” và giá trị X và “10” trong cột “kiểu tài sản” và “số lượng” tương ứng. Giả sử, Alice biết khóa chung của Bob. Bằng cách nào Alice chuyển 2 đơn vị X đến Bob? Alice ký một giao dịch có thể được xác định bằng hàng của Alice, giảm giá trị X xuống 2, và tạo ra hàng mới, người “chủ sở hữu” được xác định khóa chung của Bob, và người sở hữu các trường “loại tài sản” và “giá trị” là “X” và “2” tương ứng.
Hình 2. Mô hình giao dịch chuyển tài sản từ Alice đến Bob. Alice ký đầu vào, và tạo ra một khóa đầu ra chống lại khóa chung của Bob, chỉ có Bob mới có thể sử dụng nó.
Blockchain và IoT
Hãy xem xét các thiết lập sau để hiểu được cách thức hoạt động của blockchain trong IoT. Tất cả các thiết bị IoT của một nhà sản xuất hoạt động trên cùng mạng blockchain giống nhau. Nhà sản xuất ứng dụng hợp đồng thông minh cho phép chúng lưu trữ hàm hash của bản cập nhật mới nhất trên mạng. Hơn thế nữa, một mạng blockchain nơi tiền điện tử có thể trao đổi cung cấp một lớp tiền tệ thuận tiện và mở đường cho thị trường giao dịch giữa thiết bị và dịch vụ. Cùng dịch vụ như vậy, trong lĩnh vực năng lượng sự tích hợp của IoT vào trong blockchain cho phép mạng thị trường ngang hàng nơi máy móc có thể mua và bán năng lượng tự động, theo tiêu chí do người dùng định nghĩa.
Sự hữu dụng của blockchain trong việc thiết lập IoT không chỉ dừng lại ở đó. Việc xem xét ví dụ chuỗi cung cấp điển hình được sử dụng để làm nổi bật giá trị của blockchain: một thùng chứa hàng hóa rời khỏi nhà sản xuất (điểm A), được vận chuyển thông qua đường sắt đến cảng lân cận (điểm B), sau đó được chở đến cảng đến (điểm C), được vận chuyển trở lại đến cơ sở của nhà phân phối (điểm D), cho đến khi nó cuối cùng đưa đến khu vực bán lẻ (điểm E). Quá trình này liên quan đến một vài bên liên hệ và kiểm tra suốt quá trình đường đi của hàng hóa, được mô tả như ở Hình 3a. Mỗi bên nắm giữ thường duy trì cơ sở dữ liệu riêng của họ để theo dõi việc truy cập, mà họ cập nhật dựa trên đầu vào từ các bên khác trong chuỗi. Một mạng blockchain mặc dù được cài đặt theo dõi truy cập này sẽ có một cơ sở dữ liệu chia sẻ theo dõi nơi mà cập nhật đầu vào với tính xác thực bằng mật mã, được truyền tự động dọc theo mạng và tạo ra một dấu vết kiểm toán của thông tin. Ví dụ như Hình 3b, khi người chuyển hàng đến cảng đích, chúng gởi một thông tin đã ký cho một hợp đồng thông minh đã được xác nhận và đồng ý trước cho phép mọi người trên chuỗi biết rằng thùng chứ hàng bây giờ ở điểm C. Vì thế giao dịch được ký, nó tạo ra một biên nhận có thể kiểm chứng của công ty vận chuyển tuyên bố rằng thùng hàng đã đến cảng đích.
Cân nhắc việc triển khai
Trong phần này một vài vấn đề được nhận định có thể xảy ra khi các nhà sản xuất IoT thử nghiệm thêm blockchain và có những thiết bị của họ tham gia vào một mạng blockchain. Ta sẽ đánh giá tích để vượt qua những vấn đề này, hoặc làm nổi bật lên những công việc đang làm và đã xong để giải quyết chúng nơi mà có thể áp dụng. So với cơ sở dữ liệu tập trung được cấu hình đúng, một giải pháp blockchain thường sẽ hoạt động kém hơn, dẫn đến dung lượng xử lý giao dịch thấp hơn và độ trễ cao hơn.
Trong một blockchain, mỗi nút thực hiện cùng một tác vụ và không có chỗ cho việc thực thi tác vụ song song, tức là không có sự chia sẻ. Một vài vấn đề được chỉ ra dưới đây tạo ra các giải pháp để việc triển khai thử nghiệm blockchain cho một mạng IoT như là: i) duy trì tính riêng tư trong blockchain là một vấn đề khá phức tạp; ii) một vấn đề khác được xem xét khi triển khai trong một mạng blockchain là đang quyết định (hoặc đang kiểm tra) tập khai thác/đào.
Kết luận
Bài viết đã trình bày, sự kết hợp của blockchain và IoT có thể là bước đi mạnh mẽ. Blockchain cung cấp cho người dùng các hệ thống ngang hàng phân tán thực sự linh hoạt và khả năng tương tác ngang hàng một cách đáng tin cậy, có thể kiểm tra và điều khiển được. Các thiết bị trong hệ sinh thái IoT là những điểm thực tế chính tương tác với thế giới vật lý thực. Khi tất cả chúng được kết nối và kết hợp, sẽ tự động hóa các quy trình công việc theo những cách mới ít tốn thời gian, mới và độc đáo, đạt độ chính xác cao và được xác thực bằng mật mã, cũng như là tiết kiệm đáng kể về chi phí và thời gian cho các quá trình này. Việc tích hợp blockchain vào IoT sẽ tạo ra sự biến động đáng kể cho các ngành công nghiệp, cung cấp và mang lại các mô hình kinh doanh mới cho các ngành dịch vụ. Ngoài ra sự kết hợp giữa công nghệ blockchain và hệ thống IoT cũng sẽ đáp ứng được những yêu cầu ngày càng phức tạp của cách mạng công nghiệp 4.0 trong tương lai. Thông qua bài viết, mang lại cho người đọc một cái nhìn tổng thể về blockchain ứng dụng trong IoT và sự hoạt động của nó mang lại hiệu quả như thế nào trong các mô hình thực tế.
2. Tài liệu tham khảo
[1] J. Kelly and A. Williams. (2016). Forty Big Banks Test Blockchain-Based Bond Trading System. [Online]. Available: http://www.nytimes.com/reuters/2016/03/02/business/02reuters-bankingblockchain-bonds.html.
[2] I. Kar. (2016). Estonian Citizens Will Soon Have the World’s Most Hack-Proof Health-Care Records. [Online]. Available: http://qz. com/628889/this-eastern-european-country-is-moving-its-health-recordsto-the-blockchain/.
[3] W. Suberg. (2015). Factom’s Latest Partnership Takes on US Healthcare. [Online]. Available: http://cointelegraph.com/news/factoms-latestpartnership-takes-on-us-healthcare.
[4] S. Lacey. (2016). The Energy Blockchain: How Bitcoin Could be a Catalyst for the Distributed Grid. [Online]. Available: http://www.greentechmedia. com/articles/read/the-energy-blockchain-could-bitcoin-be-a-catalyst-forthe-distributed-grid.
[5] D. Oparah. (2016). 3 Ways That the Blockchain Will Change the Real Estate Market. [Online]. Available: http://techcrunch.com/2016/02/06/3- ways-that-blockchain-will-change-the-real-estate-market/
[6] A. Mizrahi. (2015). A Blockchain-Based Property Ownership Recording System. [Online]. Available: http://chromaway.com/papers/A-blockchainbased-property-registry.pdf.
[7] M. Walport, ‘‘Distributed ledger technology: beyond block chain,’’ U.K. Government Office Sci., London, U.K., Tech. Rep., Jan. 2016. [Online]. Available: https://www.gov.uk/government/publications/ distributed-ledger-technology-blackett-revie.
[8] S. Nakamoto. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System. [Online]. Available: https://bitcoin.org/bitcoin.pdf.
[9] Double-Spending—Bitcoin WiKi, accessed on Mar. 15, 2016. [Online]. Available: https://en.bitcoin.it/wiki/Double-spending.
[10] Eris Industries Documentation—Blockchains, accessed on Mar. 15, 2016. [Online]. Available: https://docs.erisindustries.com/explainers/ blockchains/.
[11] Wikipeida, “Hash function”, accessed on July 1st, 2019. [Online]. Available: https://en.wikipedia.org/wiki/Hash_function.
[12] J. R. Douceur, ‘‘The Sybil attack,’’ in Peer-to-Peer Systems (Lecture Notes in Computer Science). Berlin, Germany: Springer, Mar. 2002, pp. 251–260. [Online]. Available: http://link.springer.com/ chapter/10.1007/3-540-45748-8_24.
[13] M. Castro and B. Liskov, ‘‘Practical Byzantine fault tolerance,’’ in Proc. OSDI, vol. 99. 1999, pp. 173–186.
[14] Ripple, accessed on Mar. 15, 2016. [Online]. Available: https://ripple.com/.
[15] G. Greenspan. (2015). MultiChain Private Blockchain—White Paper. [Online]. Available: http://www.multichain.com/white-paper/.
[16] TransActive Grid, accessed on Mar. 15, 2016. [Online]. Available: http://transactivegrid.net/.