Academic Profile : Faculty

anwitaman-pic.jpg picture
Assoc Prof Anwitaman Datta
Associate Professor, College of Computing & Data Science
Courtesy Appointment, School of Physical & Mathematical Sciences (Courtesy Appointment)
External Links
Anwitaman is an Associate Professor in the School of Computer Science and Engineering at NTU Singapore. He currently teaches courses on Developing Data Products, Security Management and Distributed Systems. Additionally, he serves as a Senior Scientific Officer in a consulting role with QPQ.IO.

He did his undergraduate studies at IIT Kanpur, India, and his doctoral dissertation at EPFL Switzerland. During 2014-2018 he was a non-executive director of Qiv Storage Pte Ltd (which he had co-founded).
My research interests span the topics of large-scale resilient distributed systems, information security and applications of data analytics. Some of my distinctive and pioneering research contributions which have preceded and influenced new lines of research in respective research communities include: (i) decentralized online social networks for privacy and censorship resistance, (ii) novel erasure codes tailor made for distributed storage systems --- self-repairing (locally repairable) erasure codes, erasure codes with elastic redundancy, and codes exploiting cross-version sparsity to efficiently store multiple versions of data, and (iii) the application of machine learning and stereotyping to computational trust. I have also contributed to well established research topics, spanning security and privacy, distributed data stores, collaborative systems, social network analysis, decision support applications and cryptocurrency forensics.
  • BlockChain I/O: A framework for cross-chain interoperability
US 2017/0264317 A1: Method Of Encoding Data And Data Storage System (2019)
Abstract: According to various embodiments, there may be provided a method of encoding data, the method including providing a set of replica nodes, wherein each replica node of the set of replica nodes stores replica data identical to original data stored in a corresponding original node of a set of original nodes; receiving original data at each replica node of the set of replica nodes, wherein the received original data is transmitted from the corresponding original node of a different replica node; generating a first result at each replica node, based on the replica data stored therein and the received original data; and generating a second result at each replica node, based on the replica data stored therein and the first result from a different replica node; and replacing the replica data in each replica node with the second result from the respective replica node.