主页 > imtoken钱包地址 > FTCon2017|微软亚洲研究院闫颖:如何平衡以太坊的性能与隐私保护?

FTCon2017|微软亚洲研究院闫颖:如何平衡以太坊的性能与隐私保护?

imtoken钱包地址 2023-01-17 14:48:25

雷锋网AI金融评论出版社:3月25日,由开源社、TopGeek、汇智科技共同主办的中国区块链与金融创新技术峰会(FTCon2017)在上海举行。 基于以太坊的隐私保护技术,她发表了自己的看法。 据雷锋网AI财经报道,颜颖曾获得微软学者和IBM全球英才称号,在国内外顶级会议期刊发表论文30余篇,专利10余项。

“我们需要区分匿名和化名,”晏颖说。 “目前的比特币和以太坊区块链不能匿名,只能是化名。” 因此,隐私保护成为一个问题。 我们需要掩盖交易的细节,验证交易的正确性。 那么,业界的通行做法是什么? 如何平衡隐私保护和性能? 对此,晏颖给出了详细的解答。

以下为雷锋网AI金融评论整理的演讲全文,并在不改变文章原意的情况下进行了编辑。

大家好,今天很高兴在这里跟大家聊一聊:区块链的隐私保护技术。 今天主要从三个方面讲一下。

以太坊的崛起

让我们从区块链的历史说起。 2008年,比特币首次被提出,2009年初系统上线。但在当时,比特币还没有任何价值。 直到2010年年中,比特币才有了价值,10000个比特币换了2个披萨。 在接下来的一个月里,它的价格上涨了10倍,所有人都意识到了它的价值。 到 2011 年,比特币等于一美元。 2013年,有一个少年Vitalik,他是比特币爱好者,想要开发一种新的货币。 然后他必须重新实现一个类似比特币的系统。 他想知道是否可以有一个更通用的系统架构来支持各种数字资产的定义。 就这样,他提出了“以太坊”。

与比特币相比,以太坊的主要区别在于引入了智能合约。 实际上,智能合约就是一段代码,可以定义数字资产和数字资产转移的规则。

有了这个想法后,他辍学了,发表了他的白皮书,然后和伙伴们一起写了一份更详细的黄皮书。 之后是 ICO,以太坊是迄今为止最成功的 ICO。 2014年底,以太坊正式上线,第一个版本已经很稳定了。 如果你在以太坊中发现一个错误,提出它并被接受,你将获得比特币作为奖励。 以太坊一上线就支持七种语言,可以避免一种语言带来的局限性。

在下图中,大家可以看到以太坊现在的发展有点像三年前比特币的发展。 我们有理由相信,以太坊仍有发展空间。

手机刷以太坊_手机以太坊怎么挖矿_以太坊联盟和以太坊的关系

5 层区块链

你可能看过区块链的各种定义和介绍。 为了理解隐私问题,我今天将回顾一下区块链的基本定义。 区块链由几个部分组成。 当有人跟你说起他在做区块链项目的时候,你可以问他在做哪一个? 因为它包括5层存储、智能合约和上层应用。

以太坊联盟和以太坊的关系_手机刷以太坊_手机以太坊怎么挖矿

以太坊联盟和以太坊的关系_手机以太坊怎么挖矿_手机刷以太坊

数据结构

首先,数据结构是比较基础的部分。 就像它的名字一样,区块链是连接在一起的交易区块。 这种数据结构的特点是,如果你改变了一段数据的内容,很容易被发现。

以太坊是如何实现的? 大家看到这个架构图,都觉得特别复杂。 是的,就是这么复杂。 以太坊有 7000 多个节点,人们来自不同的国家,有着不同的目的。 节点之间完全不信任彼此。 这些复杂的设计在设计时就考虑到了安全性和性能。 在存储层面,每个节点都存储着高冗余的数据。

共识协议

如果有不同的节点,如何保证数据的一致性? 这就是我们常说的共识协议。 每时每刻我们都需要选出一个节点负责决定哪些交易属于下一个区块,然后广播给大家记录。 这个领导节点的选择和激励机制是共识协议研究的重点。

智能合约

再来说说智能合约。 什么是智能合约? 这只是一段代码。 要解决什么问题? 我刚刚谈到用比特币转账。 那么我们可以使它更灵活吗? 让我们举个例子。

假设一场球赛即将举行,我和埃德温打赌,如果A赢了,他给我100元,B赢了,我给他100元。 如何离线执行此场景? 我们每个人先把钱给第三方,结果出来后,谁赢了就把钱发给谁,第三方会收取一些手续费。 智能合约可以代替这个第三方,这是一段定义上述逻辑的代码。 它有自己的账户,可以向其转账。 足球比赛结果出来后,将结果注入区块链。 我们可以触发这个合约,它会自动把钱转给赢家。 智能合约本身的存储空间。 当智能合约运行在区块链上时,输入的是区块链上的数据。 处理后,将结果写回区块链。

手机以太坊怎么挖矿_以太坊联盟和以太坊的关系_手机刷以太坊

以太坊联盟和以太坊的关系_手机刷以太坊_手机以太坊怎么挖矿

可能有人会有这样的疑问,如果有人写了一段运行时间很长的代码,区块链系统会不会拥塞?

以太坊也有解决方案。 它的运行不是免费的,而是收取gas费。 如何充电? 根据你消耗的资源来收集,比如CPU资源,存储资源。 想要连续跑,没有巨额资金是跑不起来的。 这样可以降低黑客攻击的成功率。

基于区块链的交易流程到底是怎样的?

说完区块链的几个要素,我们再深入一点。 在以太坊,我转了一笔钱。 交易流程是怎样的?

假设我要转50块钱给一个人,我提示客户转50块给他,就会产生一笔交易手机刷以太坊,网络上的每个人都可以看到转了多少钱给谁。 这个交易存在于全网,当其他节点收到我的转账时,账本就变了。 所以我有两个状态,我当前的余额重新生成一个新的节点。 所有的交易都被组织成一颗默克尔树,根节点也被计算出来。 我们把整个值放在块的头部,最后把这个块和前一个块连接起来。

我的交易实际存储在什么结构中? 以上所有信息都以KV对的形式存储在LevelDB中,key hash value,Value为内容。 默克尔树中间节点的内容是它的子节点。 如下表所示,我们可以通过他们的信息找到对应的值。

手机以太坊怎么挖矿_以太坊联盟和以太坊的关系_手机刷以太坊

显然,这种查询方式效率不高,使用leveldb主要是为了“写”的优化。 智能合约也类似,也是一个交易的内容,存储内容也是以默克尔树的形式存储。

落地隐私保护技术

现在,我们有了稍微具体一点的了解。 我们发现比特币或者以太坊的区块链基本上都是纯文本的,除了地址本身不是那么对应之外,所有的信息都是对应的。

手机以太坊怎么挖矿_以太坊联盟和以太坊的关系_手机刷以太坊

这时候问题就来了,不就是匿名吗? 我们必须区分匿名和别名。 如果您的名字与离线的人无关,那么它就是匿名的。 其实区块链根本做不到,为什么呢?

比如我买一个比特币,总要通过一些支付渠道来支付。 在美国,超过 2000 美元的交易需要实名,而且这个地址总是以某种形式与真实的人相关联。 所以区块链不是匿名的,只能称为别名。 既然不是匿名的,我们怎么解决隐私问题呢?

首先,交易的内容要隐藏起来,不让任何人看到; 但同时,其他人要验证这笔交易是否有误,而且无法加密。 两者之间存在矛盾,其实是对隐私保护的技术挑战。

实际应用过的方案其实有两种,分别是:

形象地说,这两种方式可以称为拼车和烟雾弹。

停车场

我认为加密解决方案类似于拼车的概念。 如果我给别人转钱,很容易暴露,所以我会和一堆人一起转。 你不知道是谁把它转移给了谁。 谁做拼车业务? 我们需要在网络中建立几个主节点。 主节点将转账的兄弟姐妹连接在一起,但一个主节点容易受到攻击。 这时候我们可以使用多个主节点来对抗,而不是一个主节点。 在这种情况下,会增加被攻击的难度。

烟雾弹

另一种技术有点像烟雾弹模型。 过去,拼车是几个人愿意转钱的组合。 但是这种技术就是找一些“无辜的人”,把他们放在一起。

具体来说,这个技术就是当我要发起一笔交易的时候,我用我的私钥和一群人的公钥一起发起,这样我就不知道是谁发起的了。 但有一个问题:如果他们知道你选择的地址,你就暴露了。 所以这不是完全的隐私保护,只能说是隐私保护的一部分,至少你是推广者中的一员。

手机以太坊怎么挖矿_以太坊联盟和以太坊的关系_手机刷以太坊

零知识证明

这项技术本身并不是一项新技术。 它已经出现在 1980 年代。 我们也看到了这项技术的复杂性及其理论上的重要性。 目的是让验证者在事实本身未知的情况下判断某件事的真假。

南北支相连,有钥匙连接。 老王自称有这扇门的钥匙,但不愿意直接拿出来。 他不愿意交出钥匙,我们怎么知道我们有这把钥匙? 我们已经找到了测试人员,同时我们要防止测试人员配合老王作弊。 我们应该怎么做? 测试员蒙上眼睛,然后老王胡乱走到了一个分店。 测试员随机让老王从某个分店出来,老王就能出来。 难道说法老有钥匙? 不能。 如果法老进入的树枝与测试者在同一侧,他也可以出来。 所以这种测试需要多做。 如果老王每次都能出来,我们就猜测老王有钥匙。 但是这种验证效率很低。

手机以太坊怎么挖矿_以太坊联盟和以太坊的关系_手机刷以太坊

还有一种是非交互的,就是可以做一个测试来判断真假。 误判概率低,但不能保证100%。 在ZCash铸币过程中,给出序列号,用zk-SNARK证明我是这个币的主人。 这样既隐藏了详细信息,又可以同时进行验证。

还有一种侧链方式,比如Quorum,现在很流行,因为它是基于以太坊的,而且是开源的。 Quorum目前的架构基本可以满足所有的金融需求。 它是如何完成的? 它引入了一个私有状态手机刷以太坊,只有私有状态允许的人才能看到。 私有状态的哈希与公共状态一起链接到区块链,确保数据完整性。

如何平衡隐私和性能?

如果我们要保护隐私,势必会影响系统性能。 一方面要注意隐私,另一方面要兼顾性能。 我们研究的是如何平衡这两个方面。 在这里我分享两个微软研究院在这方面的工作:

一是在联盟链中结合SGX等硬件技术,在保证性能的同时,可以很好的解决隐私问题。 该项目仍在开发测试中,计划于 5 月发布。

此外,在与客户沟通的过程中,我们发现他们有一些需求可以通过区块链来解决,但使用传统的区块链系统并不是唯一的最佳方案。 客户更需要的是一个共同拥有、可编程、共同管理的云数据库。 现在,基本上所有的云提供商都有相应的云数据库。 例如,Microsoft Azure SQL 数据库每天有数千万个客户端小时。 现在的云数据库确实有局限性,就是只有一个拥有admin权限的所有者。 在多机构合作中,问题来了,谁将成为这个共享数据库的所有者?

以太坊联盟和以太坊的关系_手机刷以太坊_手机以太坊怎么挖矿

在区块链应用过程中,我们常说它解决了无法找到可信第三方的问题。 那么可信的定义是什么?

如何定义值得信赖?

可信包括两个方面:

1. 可验证可追溯。 如果我的数据和变化能够被验证和追踪,那就等于没有信任。

其次,系统需要稳定性、可靠性和可用性。

区块链解决方案是用它的数据结构来解决的。 第一个问题可以通过分布式存储和一致性协议来保证。 在云数据库中,第二个问题自然就解决了。 那么,我们如何为云数据库添加可验证和可追溯的属性呢? 所以我们开发了ConsortiumDB系统。 系统使用传统的云数据库作为存储,拥有完备的会员和规则管理机制。

例如,用户可以定义谁可以访问哪个表,谁可以更改数据,谁可以加入等等,所有这些都可以得到更好的管理。 所有规则的管理和执行都被组织使用区块链技术记录下来,然后其他机构对数据库的操作可以被验证和追溯。

最后,我想说的是,区块链技术是基础和敲门砖,更重要的是思考如何在实际应用中发挥这项技术的优势。 只有在明确的应用需求下,才能更好地设计隐私保护技术和系统的性能优化。

点击关键词查看相关历史文章

●●●

最近流行

专修科

以太坊联盟和以太坊的关系_手机刷以太坊_手机以太坊怎么挖矿