我的研究僧之旅 : p

区块链学习笔记(一)

Fine-Grained, Secure and Efficient Data Provenance on Blockchain Systems_2019_VLDB

有个背景

区块链上的查询只能依赖于事务的回放,已经不适用于线上的交易进程。
However, querying data history in existing blockchains can only be done by replying all transcations.This approach is applicable to large-scale,offline analysis, but not suitable for online transcation processing.

提出了一个细粒度安全的溯源系统***LinegeChain***,它可以通过API接口向 smart contracts 传送数据,撑起了一类新的区块链程序(其执行逻辑在运行时依赖于源信息)。
LineageChain exposes provenance information to smart contracts via simple and elegant interfaces, thereby enabling a new class of blockchain applications whose execution logics depend on provenance information at runtime.

说明一下,该系统在contracts执行的时候捕获源,把它存到Merkle tree里;它还设计了一个索引,能快速查找provenance。(我现在都搞不懂Data Provenance到底是个啥子
LineageChain captures provenance during contract execution, and efficiently stores it in a Merkle tree. LineageChain provides a novel skip list index designed for supporting efficient provenance query processing.

还有就是这个系统运行于Hyperledger和ForkBase之上,最后做了实验测了测,大家都说这个好,啪啪啪鼓掌

具体说一下

区块链用到了P2P network、分布式共识协议(Pow.PoS)等技术。比特币是区块链应用到了货币领域,现在更多的区块链应用比如Ethereum和Hyperledger超出了货币领域,他两加了个“smart contract”的概念,这东西存储在区块链上,实现任意编码和图灵完备的计算。(图灵完备就是像一个完整的计算机似的)

区块链好啊,有两个主要特点:去中心化和防篡改。工业革命造起来!

有人说区块链就是个不完整的数据库,对于data provenance的查询也只是粗粒度的,然而在数据库中已经做了大量研究来支持源;区块链通过事务的回放重构历史状态,也就是说,smart contracts无法访问历史的区块链状态。举一个栗子:我的研究僧之旅 : p_第1张图片
你看这个栗子是不是很简单,描述了一个smart contract,它叫Token;就是我有钱我就能把我的钱转给你。现在我提出一个更复杂的条件,你必须保证自己最近几个月的钱大于100块,意思就是现在是10月份,你8,9,10月份的钱都大于100,满足这个条件我才把钱转给你。我思考了一下为啥会出现这种复杂的转账条件,我想大概这就是爱情吧…你得有足够稳定的存款才能拿到结婚证…

当然还没完事,这个交易也不是很安全:
1.无法保证交易的可串行性(transcation serializability)我验证你钱有没有平均100块的时候,8,9月都满足条件,刚要验证10月的时候,你把钱花了,瞬间没钱,好嘛,这不是浪费我时间?我验证你余额时发出的交易请求也是要占资源的好不好?
2.会受到Transaction-Ordering attaacks.可看论文——Making smart contract smarter.

快用我们这个系统,无忧无虑!———LinegeChain!你想成为…你想让你的smart contracts冻起来吗!我们保证巴拉巴拉巴拉。
We aim to enable a new class of smart contracts that can access provenance information at runtime.

这个系统究竟多牛逼,主要做了以下3点贡献:

你可能感兴趣的:(我的研究僧之旅 : p)