This thesis proposes techniques aiming to make blockchain technologies and smart contract platforms practical by improving their scalability, latency, and privacy. This thesis starts by presenting the design and implementation of Chainspace, a distributed ledger that supports user defined smart contracts and execute user-supplied transactions on their objects. The correct execution of smart contract transactions is publicly verifiable. Chainspace is scalable by sharding state; it is secure against subsets of nodes trying to compromise its integrity or availability properties through Byzantine Fault Tolerance (BFT). This thesis also introduces a family of replay attacks against sharded distributed ledgers targeting cross-shard consensus protocols; they allow an attacker, with network access only, to double-spend resources with minimal efforts. We then build Byzcuit, a new cross-shard consensus protocol that is immune to those attacks and that is tailored to run at the heart of Chainspace. Next, we propose FastPay, a high-integrity settlement system for pre-funded payments that can be used as a financial side-infrastructure for Chainspace to support low-latency retail payments. This settlement system is based on Byzantine Consistent Broadcast as its core primitive, foregoing the expenses of full atomic commit channels (consensus). The resulting system has extremely low-latency for both confirmation and payment finality. Finally, this thesis proposes Coconut, a selective disclosure credential scheme supporting distributed threshold issuance, public and private attributes, re-randomization, and multiple unlinkable selective attribute revelations. It ensures authenticity and availability even when a subset of credential issuing authorities are malicious or offline, and natively integrates with Chainspace to enable a number of scalable privacy-preserving applications.
翻译:本文提出了旨在使链链技术和智能合同平台实用化的技巧, 改进它们的可缩放性、 延缓性和隐私性。 该论文首先介绍了链空间的设计和实施, 这是支持用户定义的智能合同的分布式分类账, 并在目标上执行用户提供交易。 智能合同交易的正确执行是公开可核实的。 链空间可以通过扭曲状态进行缩放; 它是针对试图通过拜占庭违约度( BFT) 来损害其完整性或可用性属性的节点子的。 该论文还引入了针对交叉硬性共识协议的对硬性分布式分类账进行重现攻击的组合; 它们允许只使用网络访问的攻击者重复使用资源。 我们随后建立比兹奎特( Byzcuit), 一个新的交叉硬性共识协议可以通过扭曲性状态进行缩放行; 它可以用来通过ByastPay, 一个甚至高透明性结算性结算结算的支付系统, 它可以用来作为支持稳定性公共交易的金融侧结构, 其最终的可动用性固定性、 和核心性支付 核心支付 。