Kết thúc: Một khi đạt được kết quả mongđợisố vòng lặptoàn cục hoặc làmột ngưỡng hiệu suấtcụ thể thìServer sẽhoànthiện mơ hình tồn cụcvà kết thúc q trình lặp.2.4.3 Các loại Federated Lear
Trang 1Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
YSC5.F003
PHÂN TÍCH Dữ LIỆU BẢO TOÀN TÍNH RIÊNG TƯ TRÊN CÂY MERKLE
CỦA BLOCKCHAIN
LÂMNGỌC LONG1*, ĐỖ QUỐCTUẤN1, TRẦN ANH TUẤN1, NGUYỄN MINH LUẬN1, TRƯƠNG MẠNH QUỲNH1, NGUYỄN THÀNH TÍN1, VÕQUỐCTHỊNH1, ĐÀO XUÂN HOÀNG
TUẤN1, NGUYỄN HỮU TÌNH1, LEPHÚCLŨ1
}Khoa Công nghệ Thông tin, TrườngĐại học Công nghiệp Thành phổ Hồ Chỉ Minh
'lamngoclongl 004@gmail.com
T óm tat Blockchain là mộtcông nghệ đang pháttriểnrấtnhanh và được sử dụng trong nhiều lĩnhvực
như tiền ảo, chuỗi cung ứng, giáo dục,thương mại, ỵ tế Bên cạnh đó, việc huyxuấtdữ liệu bảo toàn tính riêng tư (Private Information Retrieval -PIR) vẫn luôn là một thách thức lớn.Như thế, việc áp dụng PIR
cho cây Merklecủa Blockchain là một ýtưởng tự nhiên và quan họng, được nhóm chúng tôi đưarakhai thác và giải quyết Việcnày cho phép các thao tác hên cây Merkle được thực hiện mà không cần tiếtlộ
thôngtinriêng tư của người dùng Bằngcách nghiên cứucáchthức truy xuất Merkle proof của một giao
dịch, nhóm đưa racách áp dụngPIRcho từng node trong câyMerkle, chính là các hashvàcũng hướng đến cải tiến hiệu suất bằngviệc phân hoạch tập hợp đỉnh trong cây một cách đồng bộ (Balanced Unrelated
Partitioning - BUP)
Từ khóa PIR, Cây Merkle, Hash, Blockchain, BUP
PRIVACY-PRESERVING DATA ANALYSIS ON BLOCKCHAIN’S MERKLE TREE Abstract Blockchain is atechnology which is developing very fastandcanbe applied in manyfields such
as crypto currency, logistic, education, commerce, healthcare, Besides, private Information Retrieval
(PIR)is still a bigchallenge So die application of PIR to the Merkle treeof Blockchain is really a natural and important idea, which is exploited andsolved by this research This allows operations on die Merkle
dee to be performed withoutrevealing the user'sprivateinformation Bystudying how theMerkle proof of
a transaction is retrieved, our team shows how to apply PIR to each node in the Merkle tree, which are hashes and aim toimproveperformance by using balanced unrelatedpartition (BUP)
Keywords PIR,Merkle dee, Hash, Blockchain, BUP
1 GIỚI THIỆU
Theo [ 1],quyền riêng tư vàbảovệ thông tin cá nhân làmột dong những vấnđề quan trọng nhất dong thời
đại số hóahiện nay.Với sự phát triển nhanh chóng của côngnghệvàmạng lưới kết nối, khối lượng dữliệu
cá nhân được thu thập và chia sẻ đã tăng vọt, từ các hoạtđộng hực tuyến hàng ngày chođến các dựán lớn
vềphân tích dữliệu Tuynhiên, việc thu thậpvà sử dụng dữ liệu cánhân cũngđặt ra nhiềunguy cơ và mối
đe dọađến quyền riêng tư và anninh thông tin cá nhân Trong ngữ cảnh này, phân tích dữ liệuđã hở thành mộtcông cụ mạnh mẽđể rút rathông tin quan họng và đưa ra quyết định hợp lý Từ việc nghiên cứu xu hướng tiêudùngđếnphân tích tìnhhìnhkinhdoanh, phân tích dữ liệu đã đóng vai hò ngày càng quantrọng
hong việc tạo ragiátrịvà nâng caohiệu suấthoạt động của nhiềulĩnhvựcnhưtài chính,ỵ tếvà quản lý
chuỗi cungứng
Hiện nay, có những phương pháptruy xuất dữ liệu đã vàđangđượcphát triển hiện nay như: giả mờ dữliệu [3] làmộtphươngpháp để xửlýdữ liệu không chắcchắn hoặc không rõ ràng Vớinhữngưu điểm nhưlinh
hoạt và xử lý đa dạng dữ liệu nhưng cũng cónhững khuyết điểm như đòi hỏi tính toán phức tạp, độ chính
xácvàkhả dụng khôngcaodongcác tập dữ liệu lớn và phức tạp Ta cũng cóphương pháp Anonim hóa dữ
Trang 2Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
liệu [4] làquá trình xử lýdữ liệu để loại bỏ hoặc ần danh thông tin cá nhân, nhằmbảo vệ quyềnriêng tưvà tránh tiềm ẫn rủi ro
Trong lĩnh vực công nghệ, côngnghệ Blockchain(còngọi là Chuỗikhối) đã thu hút sự chú ý đặc biệt Blockchain, vóitính chất phi tập trung và tính bảo mật cao,đã manglại nhiều tiềm năng ứng đụng trong việc bảo vệ thông tin cá nhân và đảm bảo tính toàn vẹn củadữliệu Tuy nhiên, việc bảo vệ tínhriêng tư của người dùng trên Blockchain vẫn là một thách thức lớn Đóchính là chủ đề quan trọng mà chúng tôisẽ phân tíchvà đưa ra giảiphápgiải quyết trong nghiên cứunày
2 Cơ SỞ LÝ THUYẾT VÀ CÁC CÔNG NGHỆ LIÊN QUAN
2.1 Hashing
Hashing (hàm băm) là một kỹ thuật rấtquantrọngvàcó tính ứng dụng cực kỳ cao, đặc biệttronglĩnhvực
bảo mật Hashing là quá trình biếnđầuvàolà một nội dung có kích thước, độdàibấtkỳrồi sử dụngnhững
thuật toán, công thức toán học đểbiến thành đầu ratiêu chuẩncó độ dài nhất định Nó là một kiểu mã hóa
một chiều và có thểmô tảnhư ảnh bên dưói:
Hình 1: Mô tả cách hoạt động của mã hóa
Các hàm bămphổ biến: MD5, SH Al, SHA2 Ngoài ra, hàm băm cóthể dùngđể:
o Kiểm tra sự toàn vẹn của tệp tin' Như đặc điểmcủahàmbăm, cùng một giá trị sẽchoracùng một giá
trịbăm Vậynên ta có thể đốichiếu tệptin ta tải trên mạng về với bản gốc bằng cách so sánh giá trị băm của chúng với nhau Nếu chúng có chung giá trịbămtức làtệp tin trùng với bản gốc, nếu không
tệptin của bạnđãbị sủa đối hoặc bị hỏng Một số trườnghợp, tệp tin củabạntải về bị can thiệp bởi bên thứ ba trước khi đến thiếtbị của bạn vàchúng có thể càimãđộc vào tệp tinđó Việc kiểm tra giá trị băm giúp đảmbảo tệp tin antoàn
o Xác minh mật khẩu', trong nhũng thiết kế cơ sởdữ liệu hiệnđại,thứlưu trong đó không phải mật khẩu dưói dạng văn bản đơnthuầnmàlà giátrị hash của chúng.Khi nhập,mật khẩu sẽ được chạy qua hàm
hash, sau đósẽ được sosánh với giátrị băm trong cơsởdữ liệu để quyết định user có được chứng thực
để sửdụng địchvụ không Điều nàylàm giảm đángkểthiệt hại khi cơ sởdữ liệu bị tấn công, khi những
gìbị lộ ra ngoàilà những giá trị băm chứ không phải mậtkhẩu gốc Để an toànhơn, hệ thống cònthêm giátrị salt vào mậtkhẩu gốc, rồichochạy qua hàm băm, sau đó mớilưu vào cơ sởdữ liệu Vậynên kể
cả khigiá trịbămcủa mậtkhẩu bị lộ và bị giải mã, kẻ tấn công vẫn chua thểcó đượcmật khẩu thực sự
ban đầu
2.2 Công nghệ Blockchain
2.2.1 Giới thiệu
Theo [8], Blockchain bắtnguồn từ cuối những năm 1970, khi một nhà khoa học máytínhtên là Ralph Merkle được cấp bằngsáng chế cho cây Băm hay cây Merkle Những câynày là một cấu trúc khoa học máy tính để lưu trữdữ liệu bằng cách Hên kết các khối có sử dụngmật mã Vào cuối những năm 1990, Stuart Haber và w Scott stomettađã sử dụng cây Merkleđể triển khai một hệ thống trong đó dấu thòi gian củatài liệu khôngthểbị làm giả Đây là trường hợp chuỗikhối xuấthiệnđầu tiên trong Hch sử
Trang 3Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Hình 2: Mô phỏng các ứng dụng của Blockchain
2.2.2 Các ứng dụng
Côngnghệ blockchain được sửdụng cho nhiềumụcđích khác nhau từcung cấp dịch vụ tài chính đến quản trị hệ thống bỏphiếu Dưới đây là các ứng dụng phổ biến nhất của blockchain:
o Tiền điện tử: Việc sửdụng blockchain phổ biến nhất hiện naylà tiền điện tử như Bitcoin hoặc Ethereum Khi mọi người mua, trao đổi hoặc chi tiêutiền điện tử,các giao dịch được ghilại trên mộtblockchain,
o Ngân hàng Ngoài tiền điện tử, blockchain đang được sử dụng để xử lý các giao dịch bằng tiền tệ fiat
nhưUSD và EUR Côngnghệ này giúp việcgửi tiền quangân hàng nhanhhơn vàcác giao dịch được
xácminh nhanh hơn ngoàigiờlàmviệc bình thường
o Chuyển giao tài sản: Blockchain cũngcóthể đượcsử dụng để ghilại và chuyển quyền sỏ' hữu các tài
sản khác nhau Côngnghệ này hiện đang rất phổ biếnvới các tài sản kỹ thuật sốnhư NFT - một đại
diện cho quyềnsở hữu nghệ thuật kỹ thuật số và video
o Smart contracts:Một ứng dụng khác của blockchain là cáchợp đồng tự thực hiệnthường được gọi là
“hợp đồng thông minh” Cáchợp đồng kỹthuật số này được banhành tự động sau khi cácđiều kiện
được đáp ứng
2.2.3 Các ưu nhược điểm và cách thức hoạt động
Ưu đỉểm của blockchain có thể kể đến như sau: độ chính xác cao hơn cửa các giao dịch, khôngcần trung gian, chuyển tiền hiệu quả hơn, phi tập trung, bất biến và đồng thuận Bên cạnh đó, nhược điểm của
blockchain đó là tốc độ xử lý chậm như quá trinh xác nhận các giao dịchtrong blockchain yêucầusựđồng thuận của nhiều tham gia, điều này khiến quá trình xử lý giaodịch diễnra chậm hon so với các hệ thống
truyềnthống Chi phícao do các giao dịch trong blockchain đòi hỏimộtsốnguồn tàinguyên lớn nhưđiện
năng vàsứcmạnh tính toán, dẫn đến việc tăngchi phígiao dịch, đặc biệt làtrên các mạng công cộng quy
môlớnnhưBitcoin và Ethereum
Các thành phầnchính củaBlockchain bao gồm: sỗcáiphântán, smartcontracts và mậtmã hóacông khai Các bước mà một Blockchain hoạt động:
o Bước 1 - Ghi lại giao dịch
o Bước2 - Đạt được sự đồng thuận
o Bước 3 -Liên kết các khối
o Bước 4 - Chiasẻ sổ cái
Các loại Blockchain: mạnglưới chuỗi khối công khai, chuỗi khối công khai, chuỗikhối hỗn hợpvà các mạng lưới chuỗi khốiliên hợp
Trang 4Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Hình 3: Mô tả hệ thống phân phối bản sao mới nhất của sổ cái trung tâm cho toàn bộ người tham gia
2.3 Tổng quan về cây Merkle
2.3.1 Giới thiệu về cây Merkle
Cây Merkle được đặt theo tên nhà khoa học cùng tên đã phát minh vào năm 1987 trong bài báo “ ADigital Signature Based on a Conventional Encryption Function” (Chữ kí số dựatrên chức năng mã hóa thông thường) Đây làmột cấu trúc dữ liệu câynhị phân, trong đó mỗi đỉnh được biểu diễnbằng mã hashcủa nội dung trong các đỉnh con của nó
Cây Merklecho phép biểu diễn một lượng lớndữ liệu và đảm bảo tính toànvẹndữ liệu Mọi thay đỗi trong
các đỉnhcon sẽ đẫn đến thay đỗi của thông tintạiđỉnhgốc của cây Điềunày giúp kiểm tra tính toàn vẹn của dữ liệumột cách hiệuquả với độphức tạp O(log(n)) với n là sốlượngdữ liệu lưutrữ' tại các lá củacây
Cây Merkle rất hữuích vi nó chophép ngườidùng xác minh một giao dịch cụ thể mà không cần tải xuống toàn bộchuỗi khối
CâyMerkle cónhiều ứng dụng quan trọng trong thựctế Ví dụ, nó được sử dụng để đồng bộdữ liệu trong
Amazon DỵnamoDB, lưu trtt ghi log củaGoogle’s Certificate Transparency, và cả lưu trtt các giaodịch trong các Blockchain
2.3.2 Cách thục hoạt động
Theo[ 11 ], để dễ hiểuta hình dungcấu trúcnàygiống như một cái cây Trong sơđồbên dưới, “T” là một giao dịch,“H” là một hàm băm Các hàmbăm ỏ' hàng dưới cùng được gọi làcác "lá", các giá trị băm ởgiữa
là "các nhánh" vàhàmbăm ở trên cùng là "gốc" Gốc Merkle của một khối nhấtđịnh được lưutrữtrong
tiêu đề.Ví dụ, gốc Merklecóthể là:
e045bl 8e7a3d708d686717b4f44db2099aabcađ9bebf968de5f7271b458f71c8.
Gốc M erkỉe được kết hợp với các thông tin khác (phiên bản phần mềm, hàm bămcủa khối trước,nhãnthòi gian (timestamp), mục tiêu độ khóvàsố được sử dụng một lần(nonce)) và sau đóchạy qua hàmbămđể
tạo rahàm bămduynhất của khối
Hình 4: Mô phỏng cây Merkle trong Blockchain
Trang 5Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
Ví dụ: giả sử muốn xác minh rằng giao dịchTcótrong khối ở sơ đồ trên.Nếucó hàm băm gốc (H12345678),
tasẽ tìm nó nhưsau:truy van H4trong mạng lướivà nótrả về các giátrị H3, H12 và H5678- CâyMerkle cho
phépxác minh rằngmọithứđượctínhbằngba giátrịbăm đã biết là H12,H3, ĨỈ5678 và gốcH12345678, H4 (hàm băm duynhấtbị thiếu)phảicótrong hệthống
2.4 Federated Learning
2.4.1 Giói thiệu ve Federated Learning
Trong phần này, ta giới thiệu thêm về một vấn đề bảo toàn tính riêng tư liên quan đến lĩnh vực Machine learning Hiện nay,việc huấn luyệncác mô hìnhtrí tuệ nhân tạo với phương phápMachine learning(học
máy) cổđiển đang phải đốimặt với hai thử thách chính Một là trong hầuhếtcácngành công nghiệpdữ liệu thường bị cô lập,phân tán nhiều nơi Hailà ngàycàng nhiều các chính sáchbảo mật dữ liệu Đe giải
quyết những khókhăn này, mộtphươngpháphọc máy là Federated Learninghaycònđược gọi là học cộng
tác làmột kỹ thuậthọc máy cho phép huấn luyện mô hìnhtrí tuệ nhântạo với dữ liệu trên các thiết bị, máy chủ,trung tâm dữ liệu phân tán mà không cần phải tập trung dữ liệulại một nơi như cách chúngta thường
làm với phương pháp Họcmáycổđiển nhưngvẫn có hiệu suất không quá khác biệt sovớiphươngpháp
học máy cổđiển [7]
2.4.2 Các đặc điểm chính của Federated Learning
Để đảmbảo kết quả cuối cùng của mô hình toàn cục có kết quả tốt, FederatedLearning học tập dựavào
quá trìnhlặp được chia nhỏ thànhmột tập hợp các tương tác giữa Node và Servergọi làvònglặp Federated
Learning Mỗi quỵtrình vòng lặp bao gồm việcgửi mô hình toàn cục cho cácNode tham gia huấnluyện
với dữ liệu cục bộđể tạo ra mô hình cục bộ và tổng hợp các mô hình cục bộnàyđể tạo phiên bản môhình toàn cụcmới [7]
Quá trình lặp học liên kết gồm các quỵtrình chính như sau:
1 Khởi tạo: Dựatrêntập nhỏ dữ liệu ở Server, mộtmô hình học máy được chọnvà huấn luyện
2 Chọn các Nodehọc: Một tỉ lệ các Node (tập con của toàn bộ Node đang tham gia học) sẽ được
chọn để tham giahuấn luyện Các Nodekhông đượcchọn khác thì đợi các vònglặpsau
3 Cấu hình: Server sẽ gửi các siêu tham số cho các Node để huấn luyện với dữ liệu cục bộ (mini batch, local iteration, )
4 Phản hồi:các Node sau khihọc sẽ gửimô hình cục bộ trở lại Server để tiếnhànhtổnghợp Server
sẽtổng hợpcác kết quả này lạitạo phiên bản mô hình toàn cục mới Đối vớicác Nodeđược chọn nhưng bị lỗi (mất kết nối, ) không phản hồi đượcởvòng này thì sẽ được yêu cầu gửi phản hồi ở
các vòng lặp sau
5 Kết thúc: Một khi đạt được kết quả mongđợi(số vòng lặptoàn cục hoặc làmột ngưỡng hiệu suất
cụ thể) thìServer sẽhoànthiện mô hình toàn cụcvà kết thúc quá trình lặp
2.4.3 Các loại Federated Learning
Trong Federated Learningdữ liệu thường có phânphối và đặctính rất đa dạng, để phù hợp vớicác bài toán hơn thìchúng ta cócác hình thức Federated Learning dựa trênphânvùngvà đặc tính của dữ liệu
o HorizontalFederatedLearning: trong trưòìig hợpnày, feature space sẽ như nhauvàhaibênhọc sẽ
tiến hànhđóng góp thêmmẫuđểlàm giàu dữ liệu
o VerticalFederated Learning: còn được gọi là học liên kết dựa trên featureáp dụng cho các trường
hợp hai bộ dữ liệucó chung (ID space) nhưng khác nhau về (feature space)
o Federated Transfer Learning: hai tập dữ liệukhácnhau sẽ không có bấtcứ điểm chung nào trong
feature space và sample space
Trang 6Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Dju from A
P.IU from B
Piít.1 from A
f'rjlwrrw ơ<itj (rom B Ve«t>csi Federated Learning
tXrt«1 from A
Federated Tumter learning
|)4i J from B
Hình 5: Mô phỏng các loại Federated Learning
3 BÀI TOÁN TRUY XUẤT DỮ LIỆU BẲO TOÀN TÍNH RIÊNG Tư (PRIVATE INFORMATION RETRIEVAL - PIR)
3.1 Private information retrieval và ứng dụng
Bài toán PIR - private information retrieval, đật ra khimột ngườidùng muốn tải một nội dung từ cơ sởdữ
liệu côngkhaisao cho khôngđểlộ thông tin họđã tải những gì
PER cung cấpmột cơ chế bảo mật quyền riêng tư cho việc truy cập thông tin được lưutrữ trên máy chủ từ
xa Giao thức PER đảmbảo rằng máy chủ không biếtgivềtruy vấn củangườidùng, trong khi người dùng
cóthể nhận được thông tin mong muốnmà không tiết lộ sự quan tâmcủamình cho máy chủ
Bàitoán được giớithiệulần đầu vào năm 1995 bởiChor và cộngsự; pháttriển thêm một nhánh rào năm
1997 bởi Kushilevitz Từ đó đến nay, đã có nhiều mô hình đã được khai thác, gần nhất các bài báo trong chuỗihội nghị khoahọc ISIT 2020-2021
o Server:có chứa n bit/item dữliệu(xi,X2, ,Xn) vóin rấtlớn
o User: muốn truy xuất một tập con kbitsxi với i thuộc {1,2, , n} sao cho giữ bí mật được thôngtin của K (có thểxem Klà các thôngtincóHên quan với nhau)
Query Q {.Ị)
Response DB(i]
Hình 6: Mô phỏng của Private information retrieval Trong trường hợp toàn bộ dữHệu được lưutrữtrên một server, giải pháp gần như duy nhất để đảmbảo được tính riêngtư là tảihếttoàn bộdữ liệu đó về (căn cứ trên các lý thuyết thông tin và các sức mạnh tính toán củamáy tínhlượngtử) Vìthế, để bàitoán có ý nghĩa, xét haikhíacạnhkinhđiểncủaPER.:
o Hạn chế vềkhả năng tính toáncủaserver để có thể triển khai các mô hình mã hóa
o Phân tán dữ Hệu ranhiềuserverđộclập, không giao tiếp để có thể triển khai các mô hình truy xuất thíchhợp bằng cách gâynhiễu
Trang 7Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
Các hệ thống huy xuất thôngtin truyền thống yêu cầungười dùng tiết lộ truy vấn cho máychủ, điều này
gây ra mối quan ngại về quyền riêng tư, đặc biệt làkhi xử lýdữ liệu nhạy cảm hoặc cá nhân PIR giải quyết vấn đề này bằng cách chophép người dùnghuy xuất thông tin một cách riêng tư trong khi giữ truy vấn của
mình không bị máy chủbiết Giao thức PIRđóng vai trò quantrọng trongcác ứng dụng yêu cầu quyền riêng tư vàbảomật, chẳng hạn như cơ sở dữ liệu ỵ tế, hồsơtài chính vàhệ thống nhắn tin riêng tư Có các phươngpháp khác nhau để đạtđượctruyxuất thông tin riêng tư, bao gồm:
Truy xuất thông tin riêng tưtính toán (cPIR): Các giao thứccPIR dựahêncáckỹ thuậtmậtmã để
che giấu huy vấn của người dùng Thông thường, chúng sử dụng cáckỹ thuậtnhưmã hóa, huyền thông không phụ thuộcvà tínhtoán đa bênan toànđểđảm bảo quyền riêng tư
Truy xuất thông tin riêng tưđốixứng:Những giao thức này sửdụng các hệmãhóađối xứng, trong
đó người dùngmãhóa huy vấncủamình vàgửi đến máychủ Mảychủ, không biếtnộidunghuy
vấn, truy xuất dữ liệu đượcyêu cầuvà gửi lại cho người dùng, ngườicó thể giải mã để nhậnthông
tin mong muốn
Truy xuất thông tin riêng tư công khai: sử dụngmậtmã học khóacông khai, trongđó ngườidùng
mã hóa truy vấn của mình bằngkhóacông khai củamáychủ.Máychủ, sởhữukhóa bí mậttương
ứng, có thể giải mãtruy vấn, truy xuất dữ liệu đượcyêu cầuvà gửi cho ngườidùng
3.2 Private information retrieval trong merkle proofs
Khicần kiểm ha xem một giaodịch có thuộc câyMerkle không,người dùng có thể sửdụng Merkleproof
Merkle proof cho phép người dùng kiểm tra tính toàn vẹn của một giao dịch bằng cách kiểm hacác giá hị
hash trung gian trong cây Merkle.Bằngcách cung cap Merkle proof, người dùng chỉcần kiểmtra một số
lượng nhỏ cácgiáhi hash đểxác minh tính hợp lệ của một giao dịch mà không cần phảikiểm tratoànbộ
cây Nhờ tính chất toàn vẹnvà hiệu quả của nó, Merkleproof đóngvai tròquan họng trong việc đảm bảo
tính toàn vẹn dữ liệu và kiểm ha item trong các ứng dụng thực tế
Tronglĩnh vựcnày [2], c.Y.Merkle đãđề xuất mộtphươngpháp quan họng để đảmbảo tính riêng tư trên
Blockchain Tuynhiên, dùđãcónhiều nỗlựcđể bảovệtính riêng tưtrên Blockchain, vẫn còn nhiều thách thức và vấn đềcầnđược giảiquyết.V iệc triển khai và sửdụng câyMerkle hên Blockchain không đảm bảo
hoàn toàn tính riêng tư, đặc biệt là honghườnghợpcác giao dịch được kết hợp vàphân tích Mộtngười
dùng có thể bịnhận diệnthông qua các thôngtin được liên kết với địa chỉcông khai của mìnhhong cây
Merkle, vấnđềnàygây ra lo ngại lớn vềquyền riêng tư và an ninh thông tin trong việc sửdụng Blockchain
Với mụctiêu giải quyết nhữngkhuyếtđiểm của các phương pháptruy xuất dữ liệu hiện nayvà tăng tính
bảo mật trong việc sử dụng cây Merkel hên Blockchain, ta đưa ra giải pháp ^Privacy-preserving data analysis on Blockchain merkle tree”. Đe đạtđược mục tiêu này, ta tiến hành cácnhiệm vụsau:
o Đảmbảo quyền riêng tư cho thông tincánhân: Chúng tôi sẽ tìm hiểu và áp dụng cácphương pháp
và kỹ thuật để bảovệ thông tin cánhân hong quá hình phântích dữ liệu hên MerkleTree
o Xây dựnghệ thống bảo vệ quyền riêng tưsử dụng Merkle Treehên Blockchain: thiết kếvà triển
khai mộthệ thống đáng tin cậyvà an toàn, sử dụngMerkle Tree trên nềntảngBlockchain, nhằm đảmbảotính toànvẹn vàbảo mật dữ liệu cá nhân.Tuân thủ các quỵ định chính sách vàquyềnriêng
tư hiện hành
o Đánh giá hiệu suấtvàtính tincậy:tiến hành các thử nghiệm và đánh giá hiệusuất, tính tincậy của phươngphápbảovệquyền riêng tư đềxuất, so sánh vớicácphương pháp hiệncó
o Quađây, chúng tôihy vọng có thể giới thiệu bàibáo nghiên cứu và đềxuất mộtphương pháp cân
bằng giữaquyền riêng tư của người huy cậpthông tin và khả năng sửdụng hiệu quảtrênnền tảng Blockchain, từ nâng cao sự tin cậyvà chấp nhậncủacông nghệ Blockchain trong nhiềulĩnh vực
vàứngdụng trong đờisống Góp phầnvào sự phát hiển vàứngdụng tiếp thị củaBlockchaintrong
tươnglai
3.3 Giải pháp thực hiện PIR trong Merkle Proofs
Tađặt ra câu hỏi: “Neu máy chủ có cây Merkle và người dùng có một giao dịch T cùng với chỉmục của
nó, liệungười dùng có thể huyxuấtchứng minh Merklecủa T mà không cầntiết lộT?” Trong quá hình huy xuất riêng tư của chứng minh Merkle, người dùng muốn lấyđược chứngminh Merklecủagiao dịch
T, trong khi vẫn giữđượctính riêng tư của T Đelàm điều này,người dùng có thểsửdụng các kỹ thuậtmã hóavà cácchức năng hash không thể đảo ngược
Trang 8Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
Giải pháp #1: người dùng có thể tải xuống toàn bộ cây Merkle từmáy chủ Nhìn chung, giải pháp này không yêu cầuchi phí tính toán và đảm bảođượctính toàn vẹnvà riêng tưcủagiao dịch T Nhưng nhược
điểmlớnnhất chính là việc tiêu tốntài nguyên khiuserphải lưutrữtoànbộ cây Merkle trên thiếtbị của
mình và điều này cũngyêu cầu chi phí lớnđể thực hiện
Giải pháp #2: Áp dụng kỹ thuậtPIR để tải xuốngtừng giá trị hash một cáchriêng tư từ cây Merkle, giải pháp này đượcnghiêncứurộng rãi từnhững năm 1977 Trong giải pháp này,thayvì tải xuống toàn bộcây
Merkle, người dùngyêucầu máy chủchỉcung cấpchứng minh Merklecho giao dịch T cụthể Chứngminh này sẽ chứa các giátrị hash trung gianvàcácphép tínhhashđược thực hiện trên câyMerkle, mà không tiết
lộ thôngtin về giao dịchT Ngườidùng sau đó sử dụng chứngminh Merkle để xác minh tính hợp lệ của
giaodịch T mà không cần phải truy xuất toàn bộcây Merkle Bằng cáchchỉ yêu cầu máy chủ cungcấp các
giá trịhash trung gian cầnthiết và thực hiệncác phéptính hash tương ứng,người dùng có thể kiểm tra tính toàn vẹn của giao dịch T một cách hiệu quả
Giải pháp #3: (parallel) layer-based - giải phápnàytận dụngcấutrúc lớp của câyMerklevà xem mỗi lớp nhưmột cơ sở dữ liệu độc lập Cụ thể:
o Bước 1: Xử lý từng lớp nhưmột cơ sở dữ liệuriêng biệt Mỗi lớp chứa một sốlượng hash tương ứng với số lượng đỉnhtrênlớpđó
o Bước2: Áp dụngPIR(Private Information Retrieval) để tải xuống một giá trị hash từ mỗilớp PIR
chophép người dùng truyxuất thôngtin từ một cơsở dữ liệu mà không tiết lộthôngtin truy vấn
củamình
o Bước3: Quá trình truy xuất được thực hiện songsong, ví dụ nhưsử dụng nhiều lõixửlý (multi
core) để cải thiện hiệu suất
Nhìnchung, giải pháp dựatrênlớp giúp giảm kích thước cơsở dữ liệu và cải thiện hiệu suất thông quaviệc
áp dụngPIR trêntừng lớp của cây Merkle Tuynhiên, người dùng phảichờ đợicho đếnkhi quá trình truy xuất đếnlớp cuối cùng, do quá trình truyxuất bắt đầu từ lớptrên cùngvà tiếp tục xuống lớp cuối cùng, người dùng phảichờ đợi cho đếnkhitruyxuất tớilớp dưới cùng(có kích thước n = 2h), nên có thể gâymất
điểm về thời gian đáp ứngtrongmột số trường hợp
Giải pháp #4: (parallel) partition-based - giải phápnày nhằm giải quyếtvấn đề truy xuấtriêngtư của chứng minh Merklemà không tiết lộthông tin giaodịch T Cụ thể:
Bước 1: Phân chiacác giátrị hash thành h tập hợpdisjoin cân bằng Mục đích là chia cây Merkle thành
các phân đoạn cósố lượng hash gần như nhau
Bước 2: Áp dụngPIR(PrivateInformation Retrieval) trênmỗi tập hợp.PIRchophép người dùngtruy xuất thông tin từmộtcơ sở dữ liệu mà không tiết lộthông tin truy vấn củamình
Tổng quan về giải pháp (parallel) partition-based giúp cải thiệnhiệu suất sovớigiải pháp trước đó (giải pháp#3) thông qua việcáp dụngPIRtrên từng tập hợpcủacác giátrịhash Tuynhiên, việc phân vùng các
giá trị hash thànhcác tập hợp cânbằng có thể làmộtthách thức đối với việc triển khai
3.4 Swapped Merkle Tree
Swapped Merkle Tree [5] -một biến thể của cây Merkletrong đó các nútlá được hoánđổi vị trívớinhau Swapped Merkle Tree đảmbảotính toànvẹn vàchophéptruy xuất các Merkle proof theo root-to-leaf path
Nguyên tắc hoạtđộngcụthể như sau:
Hoán đổi các nút lá\ Trong Swapped MerkleTree, các nút lá được hoán đổivị trí với nhau Điều này có nghĩa là khối dữ liệu tại mỗi lá đã được đảo ngượcvị trí so với cây Merkle thông thường Câyhoán đổi
(Swapped tree): Ket quả của việc hoán đổi các nút lá làmột cây Merklemới, được gọi là SwappedMerkle
Tree Trong Swapped tree, các Merkle proof được xây dựngbằng cách sử dụng đường đi từ gốc đến lá
(root-to-leaf path) trên câyhoán đổi Mỗi Merkle proofvẫn giữ đượctính chất xác thực tínhtoàn vẹn của
dữ liệu mà không cầntiết lộ thông tin vềcây hoán đổi cho bên thứ ba Câu hỏi đặt ra là “Vấn đềđặt ra là
làm thế nào để truy xuất mộtđường đi từ gốcđến lá trên Swapped Merkle Tree một cáchriêng tư và bảo
mật,mà không tiết lộthông tin vềcâyhoán đổi cho bên thứba”
Trang 9Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Hình 7: Minh họa Swapped Merkle Tree
Giải pháp'. Mộtgiải pháp đểtruyxuấtmộtđường đitừ gốcđếnlá trên SwappedMerkle Tree một cách riêngtưlà sử dụng giải pháp dựa trênphân vùngsongsong
Phãn vùng các giá trị băm'. Đầu tiên, chúng ta chia các giá trịbăm trêncây thành cáctập hợp con không giaonhau và cân bằng nhau Mỗi tập hợp con này sẽchứa mộtphần củacây hoánđỗi Âp dụng PIR cho mỗi tập hợp con: Tiếp theo, chúng ta áp dụng Private Information Retrieval (PIR) cho mỗi tập hợp con
PIR đảmbảo rằng chúng ta có thể truy xuấtthôngtin từ mỗi tập hợp con một cách riêngtư và bảo mật mà
không cầntiết lộthông tinvề cây hoán đỗi
3.5 Cài đặt mô hình song song trên cây Merkle dùng phân hoạch BUP
Giả sửngười dùng có một giao dịch cụ thể và biết vị trí (index) của giao dịch đó trong cây Merkle Người
dùng muốn tải về một cách bảo mật cácchứng minh Merkle của giaodịch đó(vì khi biết vị trí, người dùng biết các giá trịhash cần tải về).Một giảipháp trựctiếplà tảivề toàn bộ câyMerkle, tuy nhiên, điều nàyđòi
hỏinhiềutàinguyênvà có phần lãng phí Để giải quyết vấn đềnày, chúng tacóthểthực hiện việc hoán đổi
vị trí của tất cảcácđỉnh từ trái sang phải ở mỗitầng, từ đó tạoramột mô hìnhmới trongđótấtcả các chứng minh Merkle đềunằmtrêncùng một đường đi từ gốc đến lá
Cách cài đặt như sau:Với mỗi tầng trong cây Merkle, chúng tabiết rằng sẽ có một đỉnh cần tải về Chúng
tasửdụngcông cụ SealPIR [6] để thực hiệnPER (Private InformationRetrieval) chotừng tầng Công cụ này có khả nănghỗtrợ thực hiện song song cho các tầng Tuy nhiên, đỉều này không cải thiệntốc độ lắm,
vì mỗitầngcó sốlượng đỉnhtăng gấp đôi và thời gianthựchiệnPIR cho tầng cuối cùngsẽ lâu nhất (trong
khitầng đầu tiênchỉ có 2 đỉnh)
Vi vậy, để tăng tốc độ, chúng ta cần phân chia đồng đều các đỉnh trong câyMerkle và sử dụng BUP
(Balanced Unrelated Partitioning)để thực hiệnPIR Điều này sẽ cải thiện tốc độ từ 2h xuốngkhoảng ——, tăng tốc độ lên khoảng ệ lần Việc phân chia đồng đều các đỉnhlà cần thiết vi:
Nó giúp tiếtkiệmthời gian
Nó đốm bảo tính riêngtư bằng cách không tiết lộ vị trí (index)của giao dịch đang được quan tâm
Nếu không,nếu có hai đỉnh trên cùng một đường đitừ gốc đến lá, điềunày sẽ cho phép máy chủ
đoán biết vị trí (index)của giao dịch mà ngưòi dùng muốn kiểm tra
Trang 10Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Merkle root
Hình 8: Minh họa cho một cách phân hoạch vi phạm tính không là tổ tiên
4.1 So sánh cây Merkỉe có PIRvà cây Merkle bình thường
4.1.1 về mục đích sử dụng
o CâyMerkle trong Blockchain: Mục đích chính của nó làxác minh tính toàn vẹncửa dữ liệu trong Blockchainvà cung cấptính năng như Proofof Existence Nó giúp đảm bảo rằngdữ liệukhông bị thay đỗi và các giaodịch trongBlockchainkhông bị gian lận
o CâyMerkle có PIR: Mục đích chính là bảo vệquyền riêng tư của người dùng khi truy vấn dữ liệutừ một nguồndữ liệu công khai Nó cho phép ngườidùng truy vấndữ liệu mà không tiết lộ thông tinvề
truy vấn của họ cho người quản lý nguồn dữ liệu
4.1.2 Xây dựng cây
o Cây Merkle trongBlockchain: Cây M erkletrongBlockchain được xây dựng bằng cách tim giá trị hash củamọi mục dữliệu và nhómcácmục đó thànhtừng cặptừ trái sang phải đây sẽ làcác nút lá, tính
toán hash của từngcặpáp dụnghàm băm vàtạora nút cha mới,tiếptục nhóm các nútchanàylạirà tiếptục quátrình này chođếnkhi chỉ còn lại nútduynhất, được gọi là root hash
o Cây Merkle có PIR: Cây Merkle có PIR cũng được xây dựng tương tự như cây Merkle trong Blockchain.Tuynhiên,cây M erklecó PIRđược sử dụng để bảovệ quyền riêngtưtrongquátrình truy vấndữ liệu.Dữliệu được phânchia thành các phần tử, mỗi phần tử đượchash và ghép thành các cặp,
và quá trình này đượclặp lại cho đến khichỉcòn lại một giá trịroothash
4.1.3 Quyền riêng tư và truy cập dữ liệu
o CâyMerkle trong Blockchain: Cây Merkle trong Blockchain không cung cấp bảo vệ quyền riêng tư
trong việc truy cậpdữ liệu.Mục đích chính của nó là đảm bảotính toànvẹncủadữ liệu và xác minh giao dịch
o CâyMerkle có PIR: Cây Merkle có PIR được thiết kế đểbảo vệ quyền riêng tư củangườidùngkhi
truy vấndữ liệu từ mộtnguồn dữ liệu côngkhai Nó cho phép ngườidùng truy vấn dữ liệumà không
tiết lộ thông tin về truy vấn của họcho người quản lý nguồndữliệu
4.2 Ket quả nghiên cứu
Trong bàibáo nghiêncứu này, chúngtôi đã khám phá ứng dụng củacông nghệ Blockchain trong nhiềulĩnh
vực đadạng như tiền ảo, chuỗi cung ứng,giáo dục, thương mại, y tế, và cáclĩnhvực khác Vớisự phát
triển nhanh chóng của Blockchain, việc bảo toàn tính riêng tư của dữ liệutrởthành một thách thức lớn Để giải quyếtvấn đề này, chúngtôiđã đề xuấtvà nghiên cứu việcápdụng PIR (Private Information Retrieval) cho câyMerklecủa Blockchain, một ýtưởng tự nhiên vàquan trọng
ứng dụng PIR cho câyMerkle chophép các thaotáctrên câyđược thực hiệnmàkhôngcần tiết lộ thông
tin riêngtưcủa người dùng Bằng cách nghiên cứu cách thức truy xuất Merkle proofcủamột giao dịch
chúng tôi đãđề xuất cách áp đụng PIR cho từngnode trong câyMerkle, đó làcác giá trịhash Điều này giúp người dùng kiểm tratính toàn vẹn của giao dịch một cách riêng tư vàan toàn