This repository contains a reference implementation of TAP: Transparent and Privacy-Preserving Data Services. The code in this repository can be used to reproduce the experimental results from Section 6 of the paper.
WARNING: This is an academic prototype, and should not be used in applications without code review.
Install MySQL and create a database with name tap.
Make sure the database is accessable with user root without a password.
Install golang 1.16 or later.
Clone this repo. Make sure gcc has been installed; if not, run the following (Linux)
sudo apt install build-essentialDownload dependencies inside the repo directory.
go mod tidyRun the experiments locally with a specific experiment flag.
go run . -experiment4Run the experiments as server-client over network. MySQL must run on the server side and this repo must be cloned on both server and client.
On the Server machine, build and run the service.
go build ./cmd/dbsvc
./dbsvcOn client side, run the experiments with remote flag.
go run . -remoteYou can specify server url with serverURL flag. The default is http://localhost:9045.