# DPtracer: Integrating Log-Driven Accountability into Data Provision Networks
## 1 Introduction  
A recurring problem in emerging applications such as blockchain [1; 2; 3], self-consistent large language models (LLMs) [4], multi-agent LLMs [5], autonomous vehicles [6], healthcare [7], and federated learning [8] is the reliable acquisition and provision of data from external sources through multiple agents. For example, blockchain price oracles aggregate asset prices from centralized or decentralized exchanges to derive a consensus price used in smart contracts [9; 10; 11]. This collaborative network of multiple nodes, which supplies data to a closed system, is defined as a _data provision network_ (DPN). A DPN prioritizes providing reliable and accurate data over delivery efficiency. It is structured to mitigate, detect, and correct potential threats or errors that could compromise the accuracy of the data provided using several reliability mechanisms. First, nodes within the DPN are inherently untrusted and must perform mutual verification. Second, these nodes collect data from diverse sources, paths, and instances for the same type of information and synthesize them into a single reliable value through the in-network aggregation process, which includes consensus building. Finally, a critical feature of DPNs is the self-correcting mechanism. After data are delivered to the data requester, if an issue arises with the provided data, a self-correction process is initiated, such as the dispute phase in the price oracle [1; 2] or the feedback mechanisms in multi-agent LLMs [5]. If a node is identified as the source of the erroneous data during this process, it is adjusted, isolated from subsequent data provision, or even subjected to penalties. Nevertheless, the effectiveness of self-correction is constrained unless it is performed with sufficiently fine-grained evidence, which a systematic logging system can provide. Furthermore, DPNs often lack responsible loggers. Instead, the responsibility for maintaining and presenting evidence for misbehavior falls to those who propose self-corrections [1]. Maintaining comprehensive log records throughout the data provisioning process benefits DPNs. These logs help identify erroneous nodes during the error-correction process, provide clear evidence, and validate the results' accuracy based on the sufficiency of the input data. Such detailed logs thus facilitate finer-grained accountability in DPNs, ensuring all actions are traceable and verifiable. However, managing a log within DPNs presents unique challenges. Nodes in a DPN, often part of a dynamic membership, are generally unsuitable for retaining log records for later dispute processes. Introducing a specialized logger node could address this issue, but it must be designed to operate efficiently in the untrusted DPN environment of a DPN. The logger should efficiently implement frequent audits to protect against tampering and must enforce comprehensive logging by all nodes to facilitate potential inspections. This paper proposes DPTracer: a novel logging system tailored for DPNs that uses a tamper-evident logging approach that assumes the logger is untrusted and subject to rigorous audits. We incorporate logging and validation steps directly into the delivery protocol for comprehensive logs of processes and continuous auditing of both nodes and the logger. Before a node transmits an output to the subsequent node in a DPN, the node must obtain a commitment and proof of the updated log states. By verifying the proof, the node can confirm the consistency of its inputs and outputs in the log and the integrity of logged items up to its output. The commitment is then forwarded along with the output for the subsequent node to continue this validation cascading. The underlying data structure for the logger is Process Tree, which is based on History Tree [12] and is optimized for generating efficient proofs of versioned logs. DPTracer records the flow-sensitive activities of nodes in a data provision process with Process Tree and generates interval proofs.