产业资讯

零知识证明——为用户隐私保驾护航

零知识证明是现代密码学的几个重要组成部分之一。通俗的来讲,它指的是证明者能够在不向验证者提供任何有用的信息的情况下,通过「交互」使验证者相信某个论断是正确的。但其实零知识是一种广义的密码学协议属性,在几乎所有的密码学安全协议中都会涉及「零知识」这个概念。而这里的「证明」一词指的是一种交互式系统,也是涉及所有的密码学安全协议,甚至包括基本的加密,签名等基础模块。

零知识证明非常有趣,也非常反直觉,很多人在初步了解零知识证明的用处之后,都会感慨密码学的神奇。当你深入到零知识证明的原理层面后,你会更加惊奇于内部的精密构造,以及这个概念的伟大。零知识证明的底层理论基础是计算复杂性理论加上信息论,比如图灵机,P,NP问题,纸带,算法这些概念都被数学化,这是可以一路回溯到罗素、哥德尔、图灵等先驱的贡献,伴随着计算机互联网一路成长起来的理论技术。而我们通常所提到的零知识证明技术,狭义上是指一类构造零知识证明的通用技术,比如像zkSNARK,zkSTARK。

零知识证明这个概念最早诞生于 20 世纪 80 年代,由 S.Goldwasser、S.Micali 及 C.Rackoff 在一篇名为 「交互式证明系统的知识复杂性」的论文中提出。但是在随后的很长一段时间里,碍于一直没有较好的通用性方案和较高的运行成本,零知识证明一直停留在理论阶段而没有得到广泛的应用。

不过最近十年,零知识证明技术在理论上倒是得到了快速的发展。这段时间里有很多的传奇密码学家,可以说正是由于他们不懈的耕耘,才研究出了这么神奇的黑科技。比如其中一位,Jens Groth,他以前是 UCL大学的计算机系的教授,现在是 Difinity 的首席科学家,这个大神发表过很多的零知识证明论文。他在 2010 年发表的文章「Short Pairing-Based Non-interactive Zero-Knowledge Arguments」(简称 Groth10)为后来的零知识证明协议 Pinocchio 打下了坚实的基础。这篇论文也是目前最前沿的一些零知识证明系统,比如Marlin, Spartan, Sonics, Libra,Plonk 等等的重要基础。

而在2012年的时候,一篇里程碑式的论文出现了,简称 GGPR,这篇论文提出了 QAP 这个重要概念。这个大大提升了 Groth 10 算法的效率,它通过高效的多项式编码,使得证明尺寸被压缩到了常数级,而且特别特别小。到了2013年,Byan Parno,继续改进,提出了Pinocchio 协议,也就是Zcash 最早采用的零知识证明系统。Pinocchio 算是一个标志性的进展,让密码学家们看到了工程应用的希望。大家可以去看看 Pinocchio 论文,有一半的篇幅都在讲性能。

差不多2016年的时候,ZCash诞生,零知识证明与区块链技术一起走进了大众的视野。而随着这几年的发展,零知识证明已经成为了区块链不可或缺的一环,它可以很好的解决区块链在实际应用中面临的一些问题,比如保护用户的隐私数据,还比如区块链扩容,还有在区块链上实现公共校验等等,零知识证明真正在区块链领域引起广泛关注是从 2019 年才开始的,而它在区块链上的应用其实还有很多待挖掘的场景,相信很快大家就可以看到。

Read More
产业资讯

CBDC央行数字货币是什么

CBDC 翻译过来是央行数字货币,先需要给大家澄清一个概念,央行数字货币中“数字”这个词实际上不太准确,因为我们的数字货币早都有了,宏观来说,除了黄金、纸币这种以实物形式流通的货币之外,我们以前的记账货币(记在账本上的),还有原始社会在墙上画的,这种用数字形式来记录货币的权利归属及交付流转的都是广义上的数字货币,都是用数字的形式来表示,而不是实物的形式。狭义一点来说呢,数字货币实际上指的是数码货币。

也就是说计算机出现了以后,对货币进行记账的这种方式不再是记在纸上,更不是记在壁画上了,是记在计算机里面,这时候其实还不叫数字货币,应该叫电子货币,最早的电子化,电子货币。再往后有了网络,有了互联网之后,我们的这些货币不管人民币还是美元,开始在网络上流通了,这个时候就已经出现数字货币这个词了。因为我们现在所讲的数字经济指的就是互联网经济出现以后的这个经济形态,所以当时讲数字货币的时候大家指的就是互联网上能够流通的这些货币就叫数字货币,实际上我们现在的网上银行,支付宝,微信支付,这些全是在网络上流通的货币了,所以早就有数字货币了。

而这些数字货币呢,从货币原来的发行方来看,有些数字货币很早就开始做实验,在互联网上发行自己的货币,包括早期的密码货币都是在做这些尝试,包括QQ的Q币这些都是比较明显的,还曾经一度超出了QQ的生态范围,流向外界了,这些发行方都是私人不是央行,这些可以称为私人的数字货币。但是主要流通的譬如支付宝微信,它里面流通的都不是自己发行的货币,而是人民币,人民币是央行发的,所以现在的支付宝、微信支付、网上银行他们所流通的应该都叫央行的数字货币,因为是央行发行的。并且是数字化流通的。

那么我们现在说的央行数字货币指的是什么呢,指的就是比特币等一系列数字货币出现后,央行参考了它们的一些技术来做的数字货币,那么早期大家认为央行既然借鉴比特币的技术那一定是用区块链技术来做的,所以大家以为央行的数字货币就是区块链的货币,但是后来大家发现不是这样的,其实央行主要借鉴的是加密技术,通过非对称密码可以做到个人不依赖银行,用私钥就能确权,确认上面的币就是我的。

所以呢,央行这个数字货币严格的来说应该叫做央行的密码货币,也就是说,他跟以前的数字货币,跟现在的支付宝里面流通的微信支付面流通的数字货币不一样的地方是,它是用非对称密码,用私钥和公钥来掌控个人的帐号,这是一个重大的区别,这可能这是他在技术上是跟比特币相通的地方,就是用户掌握私钥,然后用公钥来记账,记录你有多少钱,这是他的关键的特征。

那么央行用这个非对称密码来建立账户体系有什么好处呢,好处是非常大的。因为以前我们的银行都是记账货币,纸币是少量的,这个记账货币系统就要确认账上的钱属于谁,个人和银行之间要确认自己的权利是通过复杂的监督系统,年纪大的人可能还记得以前的银行是怎么样的,到柜台去证明你是谁,柜员又要去给会计证明,会计再找来主管,主管再来盖个章等等,也就是说以前的银行的这套体系很大一部分工作都是用来验证身份的,用来保障安全的。

但是有了非对称密码以后就简单多了,有了非对称密码以后,用户拿私钥签个名,任何人都可以验证,而且银行不需要保管用户的私钥。以前为什么那么多人相互监督呢?是因为用户的私钥、用户的密码、用户的身份,都要保存在银行里,而且要有一级一级的人来管理他,所以需要很大的人力物力财力来保障整个系统的安全性,来保存用户的信息,处理用户的信息,来一起监督,以前整个银行系统大部分人都在做这个工作。

那么现在有了非对称密码系统,有什么好处呢?就是用了这个系统之后,用户就很容易的来确认自己的身份,行使权利,银行方面管理也变得很容易。

关于央行数字货币背后的原理,首先要确定的是它不是去中心化的,他不会用分布式共识机制,记账不是多么麻烦的事情,现在记账很容易的,所以也基本用不上区块链,但是它用到了非对称密码,只有用了非对称密码才能节约中间的信用成本,才能提高效率,这是必然的。

另外就是它有可能要用UTXO的模型,因为它提到了双离线支付,如果说一般的账户系统支付的话,必须联网,随时变动的都要记账,记账以后才能确认支付完成。但是中本聪设计的UTXO系统他是个混合系统,就是它即有点像钞票,又有点像记账货币,他一方面像钞票一样,可以一笔一笔的签名,签完名就销毁了,然后再产生一笔新的,像实物一样在传递,另外一方面又在公共的账本上记下来,所以它是有这种特征的。那么央行如果想要做到双离线,可能要把它做成UTXO这种可以销毁的、可以传递的方式,而不是单纯的记账。

Read More
产业资讯

神秘的区块链预言机

预言机这个名字并不是区块链领域首创的,它其实是计算机行业的祖师爷图灵第一次提出来的。他在图灵机的基础上,加入了一个黑盒,称之为Oracle,意思是预言者,它可以向图灵机系统内部输入信息,帮助图灵机完成运算。

以太坊的智能合约是“图灵完备(Turing Complete)”的,某种意义上可以看做一个图灵机,所以以太坊的设计者借鉴这个概念,把向“图灵完备的智能合约”这个图灵机输入信息的也被称为预言机oracle。

预言机提供了一种无信任(或至少近乎无信任)的方式来获取外在的(即“真实世界”或“链外”)信息,例如足球比赛的结果、黄金的价格或真正的随机数字,用于以太坊平台上的智能合约。它们还可用于直接将数据安全地中继到DApp前端。

因此,可以将预言机视为弥合链外世界与智能合约之间差距的机制。允许智能合约基于真实世界的事件和数据来强制执行合约关系,从而大大扩展了它们的应用范围。

在解释预言机的之前,就不能不提智能合约。因为区块链预言机其实就是为智能合约来服务的。

智能合约最早由尼克萨博提出的一种,旨在以信息化方式传播、验证或执行合同的计算机协议。虽然智能合约的概念在很早就提出来了,但是在当时由于缺少可信的执行环境,智能合约并没有被应用到实际产业中。

自比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境,以太坊首先看到了区块链和智能合约的契合,发布了白皮书《以太坊:下一代智能合约和去中心化应用平台》A Next-Generation Smart Contract and Decentralized Application Platform,希望可以将以太坊打造成最佳智能合约平台。

但是我们现在所熟知的智能合约已经与最初的概念有了区别。Vitalik在参与比特币的社区开发工作期间,希望可以扩充比特币功能有限的脚本和操作码,设计一个更加功能更加强大的脚本,实现更多的功能。

他的想法没能在比特币上实现,但是他另起炉灶,创立了以太坊,实现了一个专门运行去中心化程序的虚拟环境EVM,并且了一个设计了一个“图灵完备”编程语言,将这种程序取名为智能合约。

“智能合约”这个名字,很容易让人产生一些“不切实际的幻想”,很多人听到名字就会认为,智能合约,应该是能完成我们现在各类合约的功能,并且可以更加智能的完成。但是实际上,智能合约能做的事情非常有限,它既不智能,也不像我们传统的合约那也有法律效力。连Vitalik自己都说,”智能合约“是一个糟糕的名字,我们应该称之为”持久化脚本(persistent scripts)“这类更技术的名字,以免人们对其功能产生误会。

智能合约之所以不够智能,除了受区块链的本身的各类限制之外,还因为它缺乏种类丰富的外部数据信息的输入。就像虽然厨师厨艺高超,但是却没有丰富的食材,自然做不出好吃的菜来。

我们以以太坊为例,以太坊平台的一个关键组件是EVM,它能够在去中心化的网络中的任何节点上执行程序,并获得与以太坊网络内其他节点一致的状态。为了保持共识,EVM的执行过程必须完全确定,并且仅基于以太坊状态和签名交易而改变。这产生了两个特别重要的后果:一个是EVM和智能合约没有内在的随机性来源,因为一切都是确定的;另一个是外部数据只能作为交易的数据载荷引入。

所以我们现在能看到的大部分的合约都是token或者围绕token建立的应用。如果我们想要扩大智能合约的应用场景,就必须建立一个智能合约的与外部世界的连接通道,将外部世界的种类繁多的数据输入到“虚拟环境”中。就像有人所说的那样:“在将智能合约带入到这个世界上之后,这个世界也需要被带入到智能合约中。”

我们假想一个猜硬币决胜负的游戏场景,这个游戏依赖于扔硬币正反面的随意性。矿工可以轻易破解这个游戏:他们只需要打包那些对其有利的随机结果即可。比如某以菠菜竞猜项目而知名的公链(EOS)由于在竞猜时需要随机数,所以经常被黑客进行随机数的攻击,根本原因就是区块链内部的确定性太高而随机性太差。那么我们如何解决这个问题呢?既然所有节点都可以就签名交易的内容达成一致,那么我们就可以引入外部信息,包括随机性、价格信息、天气预报等,作为发送到网络的交易的数据部分。

那么我们有没有办法做到呢,可不可以建立这样一座数据之桥呢。我们可以使用预言机尝试解决这些问题。需要注意的是,并不是有一个叫预言机的东西,可以帮助区块链来实现数据的连通性,而是我们把可以实现数据联通的这种组件,起个名字叫“预言机”。

那么那些领域需要预言机呢?

所有需要连接链上链下数据的地方都需要用到预言机。目前看来应用很成功的是DeFi领域。我们知道目前在区块链或者说加密世界里应用最成功的方向可能就是DeFi了。智能合约是一个由数据驱动的工具,它的运行结果是由输入的数据决定的。而 DeFi 作为金融类的智能合约,就更加依赖高质量金融数据。将数据送到智能合约的装置就是预言机。

一个 DiFi 项目,即使代码是完美的,算法是高效的,但是没有可靠的预言机作为数据输入装置,也是不可能成功的。所以在DeF领域,预言机的应用是最为广泛和成功的,几乎所有的DeFi应用都需要预言机,比如去中心化数字资产抵押借贷、去中心化数字资产期权、稳定币、DEX 等 DeFi 产品和服务,都需要引入真实世界的价格信息,来完成产品自身的逻辑闭环。目前主流的defi都使用我们,我们也正在和更多的defi项目接触中。

热门 DeFi 协议都在使用什么预言机?Chainlink 恐成最大赢家

Aave、Augur、bZx、Compound 等 11 个 DeFi 协议中,有 5 个正在或计划使用 Chainlink 作为预言机。

值得一提的是,很多项目是在出现了预言机攻击的情况之后,开始选择了Chainlink,比如这也印证出了在价格数据方面,Chainlink的安全性是得到了业界的广泛认可的。除了DeFi领域,预言机还可以在金融衍生品、债券、贸易融资、市场数据、数字资产、支付、预测市场、保险、身份信息、生物识别等非常多的领域有这广阔的应用前景。

Read More
产业资讯

跨链技术现状

跨链技术很容易从概念的角度理解,基本上是指在不同的区块链之间执行操作的能力,大多数常见的是原子交换和资产转移。

跨链源于一种认识,即“一链所有”心态在实践中可能永远不会发生,因此行业将进化为相互关联的区块链,服务于不同的用例。没有预见到这个未来的区块链有更少的机会成为相关的。

跨链技术仍处于婴儿时代,从几年前的标志性里程碑开始,BTC和LTC成功地执行了原子交换,并经历了其他业务,如资产转移和多链智能合同。跨链技术正在快速发展,有不同的模式,包括那些想要将一切都与宇宙或更简单的设计相互连接的项目,这些项目想要专注于一些方面,比如Nerve,它的设计是为了补充NULS。

尽管在这一领域取得了令人兴奋的进步,但有很多空间可以发展和融合新的想法,在这方面,无论区块链现在是用什么技术,如果它想在长期内生存的话,它都需要有能力适应和发展,而不是竞争。

Cosmos开创了中心架构,能够互连不同blockchains使用中介Hubs,这些Hubs

有助于规范不同的协议结构的区域,不需要彼此之间的直接交互,也验证不执行双花不带。

另一方面,Wanchain利用智能契约,允许数据和资产在Wanchain和其他区块链之间传输。Wanchain使用称为“vouchers”的凭证来接收来自其他区块链的交易请求,这些请求被传输到一个验证器节点,该节点部署了一个包含这个跨链交易的智能契约。

Nerve为交叉链验证实现了一个3层架构:

-普通节点:验证块和事务的节点

-共识节点:负责神经网络交易的安全与处理;

-虚拟银行:负责跨链资产的维护,使用智能合约

最大的不同是,Nerve的设计是为了补充NULS区块链,因此设计更简单、更有效。

跨链技术目前需要解决四个基本问题:

  1. 确保原始区块链上的令牌总数在跨链事务之后不会减少或增加。这可以通过使用智能契约和由特殊节点管理的多签名钱包来解决
  2. 找到一种方法来验证在区块链上以不可信的方式创建的跨链事务。例如,Wanchain实施了他们所谓的“代金券”,这是一个共识团体,在经济上受到激励,以核实交易的最终结果。Nerve使用负责监控外部区块链的虚拟银行。
  3. 如何处理具有概率终结性的事务;例如,一个BTC事务经过6次确认后被认为是安全的。COSMOS实现了peg – zone,这是一种允许跟踪外部链状态的链。使用Nerve,你需要将你的硬币发送到一个由smart合同保护的地址,该合同将逐个处理这种情况(每个区块链都有不同的smart合同)。
  4. 标准化不同的区块链协议结构,当然,还有可伸缩性的问题,但这不是特定于跨链技术的问题,而是渗透到整个行业的问题。
Read More
产业资讯

Google 计划推出全新 Fuchsia 操作系统

很多人一直在密切关注Google的Fuchsia OS的开发,以及源代码和代码审查中的公开信息。通常爱好者们需要猜测 Fuchsia 的进展情况,我们很少看到谷歌正式公布的一些明确信息。不过一份新报告提供了有关Google开源操作系统计划的简介,包括即将推出的设备和取代Android的雄心。

根据彭博社的说法,Fuchsia团队目前的操作系统计划是在未来三年内首先发布一个语音控制扬声器,然后在两年后推出其他设备,如手机和笔记本电脑。这个计划与我们公开看到的一致,包括代号为Gauss的开发智能扬声器的证据。三年多的时间是一个足够让 Fuchsia 更强大,安全并最终完成足以发布无屏幕设备的适当时间。再多花两年时间,将视觉用户界面抛光并准备好迎接黄金时段。

根据其中一位人士的说法,工程师们表示,他们希望在三年内将 Fuchsia OS 嵌入连接家庭设备,如语音控制扬声器,然后转向更大的机器,如笔记本电脑。 最终,该团队希望将他们的系统汰换 Android ,目标是在未来五年内实现这一目标,一位知情人士表示。

虽然这个时间表是令人兴奋的前景,但显然尚未由首席执行官Sundar Pichai签署。尽管如此,据说他是该项目的支持者。他可能会犹豫,但是对 Android 的最终定位有很多顾虑,毕竟 Android 每年为 Google 创造数十亿美元。

目前 Google 的大部分资金都来自广告收入,据报道,这导致了致力于新的消费者隐私功能的工程团队与致力于保持Google金库充足的广告团队之间至少发生过不少冲突。

这不是我们第一次看到与 Fuchsia 有关的内部分歧。上个月,在为支持Fuchsia的Android Runtime提议的代码更改中,两位开发人员对与Fuchsia相关的代码应该包含在Android中的方式产生了轻微的分歧。 Android团队成员说“除非Fuchsia成为一流的平台,否则ART团队无法承担确保您的代码继续运行甚至构建。”

这一切都不足为奇。正如一些公众不喜欢Android被别的操作系统取代的想法一样,所以紧张局势也必定在团队内部高涨。但是,如果公司要朝着统一的方向前进,那么Pichai先生必须让公司的未来计划明确起来。

本文转载自 Fuchsia 中文社区 https://fuchsia-china.com/fuchsia-replace-android/

Read More