Tổng quan nghiên cứu

Công nghệ blockchain hiện nay đang được nghiên cứu và ứng dụng rộng rãi trong nhiều lĩnh vực như kinh tế, tài chính, y tế và giáo dục nhờ vào các đặc tính ưu việt của nó. Theo báo cáo của ngành, Bitcoin blockchain đã ghi nhận khoảng 577.000 khối dữ liệu với hơn 416 triệu giao dịch, trung bình mỗi khối chứa khoảng 2.400 giao dịch và mỗi ngày có khoảng 373.000 giao dịch được thực hiện. Dữ liệu blockchain ngày càng tăng nhanh theo thời gian, tạo ra thách thức lớn trong việc khảo sát, đánh giá và phân tích dữ liệu thô được lưu trữ dưới dạng các tập tin nhị phân.

Vấn đề nghiên cứu chính của luận văn là xây dựng một mô hình và công cụ hỗ trợ khảo sát dữ liệu trên nền tảng blockchain, giúp chuyển đổi dữ liệu thô thành dạng dữ liệu trực quan và dễ dàng phân tích hơn. Mục tiêu cụ thể bao gồm xây dựng cơ sở dữ liệu dựa trên giao dịch của blockchain, trực quan hóa dữ liệu và phát triển công cụ hỗ trợ khảo sát, phân tích và thống kê dữ liệu. Phạm vi nghiên cứu tập trung vào dữ liệu thô của Bitcoin blockchain trong khoảng thời gian thu thập dữ liệu đến năm 2019 tại Việt Nam.

Ý nghĩa của nghiên cứu thể hiện qua việc cung cấp một framework mở giúp các nhà nghiên cứu và chuyên gia dữ liệu có thể tiếp cận, phân tích dữ liệu blockchain một cách hiệu quả hơn, từ đó thúc đẩy các ứng dụng blockchain trong thực tế và nâng cao chất lượng nghiên cứu khoa học về blockchain.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Luận văn dựa trên hai lý thuyết chính: lý thuyết về công nghệ blockchain và mô hình quản lý dữ liệu phân tán. Blockchain được hiểu là chuỗi khối liên kết với nhau theo thứ tự thời gian, mỗi khối chứa thông tin giao dịch được xác thực và không thể thay đổi. Mô hình blockchain bao gồm các node dữ liệu độc lập, hoạt động đồng thuận để duy trì tính toàn vẹn của chuỗi.

Các khái niệm chuyên ngành quan trọng bao gồm:

  • Block (khối dữ liệu): chứa các giao dịch và thông tin liên quan như hash khối trước, timestamp, nonce.
  • Transaction (giao dịch): bao gồm các input, output, địa chỉ gửi và nhận, giá trị giao dịch và phí giao dịch.
  • Fullnode: node dữ liệu tham gia vào mạng lưới blockchain, lưu trữ toàn bộ dữ liệu và xác thực giao dịch.
  • LevelDB: hệ quản trị cơ sở dữ liệu key-value được sử dụng để lưu trữ dữ liệu thô của blockchain.
  • PostgreSQL: hệ quản trị cơ sở dữ liệu quan hệ được sử dụng để lưu trữ và truy vấn dữ liệu đã được chuyển đổi, hỗ trợ đa tiến trình và tối ưu truy vấn.

Phương pháp nghiên cứu

Nguồn dữ liệu chính là dữ liệu thô của Bitcoin blockchain được lưu trữ dưới dạng các tập tin nhị phân trong LevelDB. Cỡ mẫu nghiên cứu bao gồm khoảng 300 khối dữ liệu và 200 giao dịch được thu thập và xử lý thử nghiệm trên hệ thống. Phương pháp chọn mẫu là lấy mẫu ngẫu nhiên có kiểm soát từ chuỗi khối để đảm bảo tính đại diện.

Phương pháp phân tích bao gồm:

  • Trích xuất dữ liệu thô từ LevelDB thông qua giao thức RPC (Remote Procedure Call).
  • Chuyển đổi dữ liệu thô sang dạng bảng quan hệ trong PostgreSQL để thuận tiện cho việc truy vấn và phân tích.
  • Xây dựng mô-đun chuyển đổi dữ liệu (Transform Data) và mô-đun thống kê (Statistics) để trực quan hóa và phân tích dữ liệu.
  • Thời gian nghiên cứu kéo dài từ tháng 2 đến tháng 6 năm 2019, thực hiện trên môi trường Ubuntu 18.2 LTS với CPU Intel Core i5 và RAM 16GB.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

  1. Hiệu quả chuyển đổi dữ liệu: Quá trình truy xuất thông tin một khối dữ liệu qua RPC mất khoảng 200ms, cho phép xử lý 100.000 khối trong khoảng thời gian hợp lý, chứng minh tính khả thi của mô hình chuyển đổi dữ liệu từ LevelDB sang PostgreSQL.
  2. Thiết kế bảng dữ liệu: Ba bảng dữ liệu chính được xây dựng gồm bảng khối, bảng giao dịch và bảng địa chỉ, chứa đầy đủ các thông tin cần thiết như hash khối, số lượng giao dịch, địa chỉ tham gia, giá trị giao dịch và phí giao dịch.
  3. Khả năng truy vấn lịch sử giao dịch: Mô hình key-value được thiết kế cho phép truy vấn nhanh chóng lịch sử giao dịch của từng địa chỉ, bao gồm vai trò gửi hoặc nhận, giá trị giao dịch và vị trí trong giao dịch.
  4. Tối ưu hóa truy vấn: PostgreSQL hỗ trợ đa tiến trình giúp cải thiện đáng kể tốc độ truy vấn và phân tích dữ liệu so với việc truy xuất trực tiếp từ LevelDB, đặc biệt khi xử lý các truy vấn phức tạp liên quan đến nhiều khối và giao dịch.

Thảo luận kết quả

Nguyên nhân của hiệu quả trên là do việc chuyển đổi dữ liệu thô sang dạng bảng quan hệ giúp chuẩn hóa và tổ chức dữ liệu khoa học hơn, đồng thời tận dụng được các tính năng tối ưu của hệ quản trị cơ sở dữ liệu quan hệ. So với các nghiên cứu trước đây chỉ tập trung vào việc mô hình hóa dữ liệu hoặc xây dựng node kết nối, nghiên cứu này đã phát triển thêm công cụ hỗ trợ phân tích và thống kê dữ liệu trực quan, giúp mở rộng khả năng ứng dụng trong thực tế.

Kết quả cũng cho thấy việc xây dựng lịch sử giao dịch theo địa chỉ là một bước tiến quan trọng, giúp các nhà nghiên cứu và chuyên gia phân tích hành vi giao dịch trên blockchain một cách chi tiết và hiệu quả hơn. Các biểu đồ so sánh thời gian truy xuất dữ liệu giữa LevelDB và PostgreSQL minh họa rõ ràng sự cải thiện về hiệu suất, đồng thời bảng thống kê các chỉ số giao dịch cung cấp cái nhìn tổng quan về hoạt động của blockchain.

Đề xuất và khuyến nghị

  1. Phát triển thêm các module phân tích nâng cao: Tích hợp các thuật toán khai thác dữ liệu và học máy để phát hiện các mẫu giao dịch bất thường, hỗ trợ công tác giám sát và bảo mật blockchain. Thời gian thực hiện dự kiến 6-12 tháng, do nhóm phát triển phần mềm blockchain thực hiện.
  2. Mở rộng phạm vi dữ liệu: Áp dụng mô hình và công cụ cho các blockchain khác như Ethereum, Bitcoin Cash để tăng tính đa dạng và khả năng ứng dụng. Thời gian 12 tháng, phối hợp với các trung tâm nghiên cứu blockchain.
  3. Tối ưu hóa giao diện người dùng: Phát triển giao diện trực quan thân thiện hơn cho công cụ khảo sát dữ liệu, giúp người dùng không chuyên cũng có thể dễ dàng sử dụng. Thời gian 3-6 tháng, do nhóm thiết kế giao diện và phát triển phần mềm đảm nhiệm.
  4. Đào tạo và phổ biến kiến thức: Tổ chức các khóa đào tạo, hội thảo về công nghệ blockchain và công cụ khảo sát dữ liệu cho các nhà nghiên cứu, doanh nghiệp và sinh viên. Thời gian liên tục, do các trường đại học và tổ chức đào tạo thực hiện.

Đối tượng nên tham khảo luận văn

  1. Nhà nghiên cứu công nghệ blockchain: Có thể sử dụng framework và công cụ để phân tích dữ liệu blockchain phục vụ các nghiên cứu chuyên sâu về bảo mật, hiệu suất và ứng dụng blockchain.
  2. Chuyên gia phân tích dữ liệu: Hỗ trợ trong việc trực quan hóa và khai thác dữ liệu blockchain, từ đó đưa ra các báo cáo, dự báo và phân tích hành vi giao dịch.
  3. Doanh nghiệp fintech và tài chính: Áp dụng công cụ để giám sát giao dịch, phát hiện gian lận và tối ưu hóa quy trình thanh toán dựa trên blockchain.
  4. Sinh viên và giảng viên ngành khoa học máy tính: Là tài liệu tham khảo quý giá trong việc học tập, nghiên cứu và phát triển các ứng dụng blockchain thực tế.

Câu hỏi thường gặp

  1. Blockchain là gì và tại sao dữ liệu của nó khó phân tích?
    Blockchain là chuỗi khối dữ liệu liên kết với nhau, mỗi khối chứa các giao dịch được xác thực và không thể thay đổi. Dữ liệu thường được lưu trữ dưới dạng tập tin nhị phân phân tán, gây khó khăn cho việc truy xuất và phân tích trực tiếp.

  2. Mô hình dữ liệu của Bitcoin blockchain gồm những thành phần nào?
    Bao gồm các khối dữ liệu (block), giao dịch (transaction) và địa chỉ (address). Mỗi khối chứa nhiều giao dịch, mỗi giao dịch có các input, output, địa chỉ gửi và nhận, giá trị và phí giao dịch.

  3. Tại sao cần chuyển đổi dữ liệu từ LevelDB sang PostgreSQL?
    LevelDB lưu trữ dữ liệu dạng key-value thô, khó truy vấn phức tạp. PostgreSQL là hệ quản trị cơ sở dữ liệu quan hệ hỗ trợ đa tiến trình, giúp truy vấn nhanh và dễ dàng phân tích dữ liệu hơn.

  4. Công cụ hỗ trợ khảo sát dữ liệu blockchain có thể làm gì?
    Công cụ giúp trực quan hóa dữ liệu, thống kê các chỉ số giao dịch, truy vấn lịch sử giao dịch theo địa chỉ, và hỗ trợ phân tích hành vi giao dịch trên blockchain.

  5. Khó khăn lớn nhất khi khảo sát dữ liệu blockchain là gì?
    Khó khăn là dữ liệu thô phân tán, không chuẩn hóa, và việc truy xuất dữ liệu lịch sử giao dịch của từng địa chỉ đòi hỏi phải quét toàn bộ chuỗi khối, tốn nhiều thời gian và tài nguyên.

Kết luận

  • Đã xây dựng thành công mô hình và công cụ hỗ trợ khảo sát dữ liệu trên nền tảng Bitcoin blockchain, chuyển đổi dữ liệu thô sang dạng quan hệ dễ phân tích.
  • Mô hình cho phép truy vấn nhanh chóng thông tin khối, giao dịch và lịch sử giao dịch theo địa chỉ với hiệu suất cao.
  • Công cụ hỗ trợ trực quan hóa và thống kê dữ liệu giúp nâng cao khả năng phân tích và ứng dụng blockchain trong thực tế.
  • Kết quả nghiên cứu mở ra hướng phát triển các module phân tích nâng cao và mở rộng sang các blockchain khác.
  • Đề xuất các giải pháp phát triển tiếp theo nhằm hoàn thiện công cụ và phổ biến kiến thức blockchain trong cộng đồng nghiên cứu và doanh nghiệp.

Mời các nhà nghiên cứu, chuyên gia và doanh nghiệp quan tâm ứng dụng và phát triển thêm dựa trên nền tảng này để thúc đẩy sự phát triển của công nghệ blockchain tại Việt Nam và trên thế giới.