Show simple item record

dc.contributor.advisorNeha Narula.en_US
dc.contributor.authorAspegren, Henry(Henry B.)en_US
dc.contributor.otherMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.en_US
dc.date.accessioned2019-07-15T20:28:36Z
dc.date.available2019-07-15T20:28:36Z
dc.date.copyright2018en_US
dc.date.issued2018en_US
dc.identifier.urihttps://hdl.handle.net/1721.1/121620
dc.descriptionThis electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.en_US
dc.descriptionThesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2018en_US
dc.descriptionCataloged from student-submitted PDF version of thesis.en_US
dc.descriptionIncludes bibliographical references (pages 60-63).en_US
dc.description.abstractEquivocation allows attackers to present inconsistent data to users. This is not just a problem for Internet applications: the global economy relies heavily on verifiable and transferable records of property, liens, and financial securities. Equivocation involving such records has been central to multi-billion-dollar commodities frauds and systemic collapses in asset-backed securities markets. In this work we present b_verify, a new protocol for scalable and efficient non-equivocation using Bitcoin. b_verify provides the abstraction of multiple independent logs of statements in which each log is controlled by a cryptographic keypair and makes equivocating about the log as hard as double spending Bitcoin. Clients in b_verify can add a statement to multiple logs atomically, even if clients do not trust each other. This abstraction can be used to build applications without requiring a central trusted party. b_verify can implement a publicly verifiable registry and, under the assumption that no participant can double spend Bitcoin, guarantees the security of the registry. Unlike prior work, b_verify can scale to one million application logs and commit 1,112 new log statements per second. b_verify accomplishes this by using an untrusted server to commit one hundred thousand new log statements with a single Bitcoin transaction which dramatically reduces the cost per statement. Users in b_verify maintain proofs of non-equivocation which are comparable in size to a Bitcoin SPV proof and require them to download only kilobytes of data per day. We implemented a prototype of b_verify in Java to demonstrate its ability to scale. We then built a registry application proof-of-concept for tradeable commodity receipts on top of our prototype. The client application runs on a mobile phone and can scale to one million users and ten million receipts.en_US
dc.description.statementofresponsibilityby Henry Aspegren.en_US
dc.format.extent63 pagesen_US
dc.language.isoengen_US
dc.publisherMassachusetts Institute of Technologyen_US
dc.rightsMIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.en_US
dc.rights.urihttp://dspace.mit.edu/handle/1721.1/7582en_US
dc.subjectElectrical Engineering and Computer Science.en_US
dc.titleb_verify : scalable non-equivocation for verifiable management of dataen_US
dc.title.alternativeScalable non-equivocation for verifiable management of dataen_US
dc.typeThesisen_US
dc.description.degreeM. Eng.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.identifier.oclc1098041245en_US
dc.description.collectionM.Eng. Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Scienceen_US
dspace.imported2019-07-15T20:28:33Zen_US
mit.thesis.degreeMasteren_US
mit.thesis.departmentEECSen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record