主页 > imtoken客户端下载地址 > 区块链技术分享

区块链技术分享

imtoken客户端下载地址 2023-01-18 15:42:25

灯明中生代科技

摘要:国付宝CTO将为大家讲解区块链的起源和基本概念,对第三方支付的影响,其他领域的应用,以及国付宝在区块链技术上的尝试。

海航旗下国付宝CTO邓明,在IT行业拥有超过17年的技术经验。 曾任IBM中国全球咨询服务部IT认证架构师,多年担任GBS部门架构师评审委员会专项组组长。 在其职业经历中,参与并主导实施了以下项目:第一代CFCA证书体系、中国建设银行总行级ESB、中国银行GPP全球支付系统、北京移动门户网站、国航PSS核心业务云系统咨询、国航电子商务网站、山东农信银行、山东城市商业银行核心系统及大、小额支付系统等。

大家好,我是国付宝CTO邓鸣。

今天很高兴和大家分享区块链相关的资讯。 今年以来,相信大家已经在很多媒体和场合看到了区块链的宣传。 在很多情况下,区块链被视为一种颠覆性的技术比特币减半机制,与互联网等技术相比较。 在本次分享中,我们也希望通过对区块链技术本质的剖析,来探讨其对商业的影响。

本次培训主要针对刚接触区块链的观众,所以会花一些时间讲解一些基本概念,已经了解这些概念的可以直接跳过。 讲解过程中如有不当之处,敬请指正。

区块链技术分享_Java

在介绍区块链之前,先介绍一下国付宝的情况。 国付宝是一家成立于2011年的第三方支付公司,其前身是商务部中国电子商务中心下属的内部支付平台。 支付服务费用。

区块链技术分享_Java_02

今天的介绍将分为几个部分。 首先是结合比特币介绍区块链的起源和基本概念; 由于国付宝是一家第三方支付公司,所以第二部分将重点介绍区块链的第三方支付。 第三部分将介绍区块链在其他领域的应用,通过案例让大家了解区块链可能带来的革命性变化; 最后一部分将介绍国富宝和海航在区块链技术方面的一些尝试,希望对大家有所启发。

区块链技术分享_Java_03

区块链技术源于比特币。 应该说,比特币至今仍是区块链最成功的应用。 2008年,中本聪在密码邮件群发表了一篇文章《比特币:一种点对点的电子现金系统》,其中首次提到了区块链的思想。 区块链也称为分布式账本。 我们可以对比一下传统票据和区块链票据的区别。 传统票据中记录了一些基本信息,包括记账人信息、日期等,类似于一个区块(Block); 在区块链账本中,除了上述信息外,还记录了当前页码和之前的页码。 页码,使所有记账页(即块)形成一条链。 所以“区块链”一词实际上是指由区块+链构成的数据结构。

如果区块链只是一个数据结构,那就太low了,后面我们会逐步揭开其他相关的技术。

区块链技术分享_Java_04

这张图解释了区块链形成的全过程:首先,交易信息会用非对称加密算法进行签名,交易信息会在互联网上广播,每个人都可以用公钥快速验证信息; 然后,那些通过验证的交易信息将被存储在区块中,交易信息将以 Merkle Tree 的形式存储。 交易信息的微小变化,可以通过Hash值的变化快速反映出来,防止信息被篡改; 第三步,生成新区块指向前一个区块,与历史区块形成链; 产生的新区块通过全网广播发送出去,因为每个人都可以产生区块,为了确定谁记录了这个区块,就需要使用“共识机制”来解决链分叉的问题,共识机制稍后会介绍; 以上所有步骤形成一个分布式网络存储,由于区块链信息通过全网广播验证,所有的存储节点都是对等的,是一个去中心化的系统。

通过链连接块也带来了优势。 区块越长,越难修改,因为一旦区块被改变,链的后续区块就需要改变,因为区块生成规则的原因是任何一个区块的修改都需要一个相当大的计算成本,这使得篡改旧块基本上是不可能的。 后续会结合出块说明为什么计算成本高。

区块链技术分享_Java_05

在介绍一些技术细节之前,我们先来了解一下比特币是如何实现价值转移的。 我们知道,在现有的金融体系下,转账通常需要一个中介机构,可能是银行,也可能是第三方支付。 简单来说,从A向D转账通常需要A和D都在中心机构O开户,然后从A在中心机构的账户转账到D的账户。

在比特币中,信息流和资金流合二为一:A想把比特币转给D,只需要向比特币网络发送一个签名的交易信息; 网络上的矿工(矿工是比特币网络的参与者,也可能是汇款人/收款人)会争相记账,因为一旦记账成功,就会有比特币奖励; 一旦交易信息被成功记录在区块链中,交易就完成了。 这里有两点需要注意:

第一个,前面说了,所有矿工都可以记账,那么谁记账呢? 这就涉及到上面提到的共识机制,也就是大家怎么达成共识。 具体来说,在比特币中,采用POW Proof of work,工作量证明机制。 该机制的原理将在后面详细介绍。 为了实现POW,需要进行大量的计算,类似于矿工挖金矿,所以这个过程也形象地比作挖矿。

二、如何保证记录不是假账? 如何保证同一个比特币不会被多次使用(即双花问题)? 首先,针对假账户问题,比特币的交易都会被签名,这种非对称加密算法的签名是可以被所有人验证的; 只要签名是合法的,就可以认为是比特币所有者授权的合法交易。 针对双花问题,比特币引入了UTXO(Unspent Transaction Output)的概念来追踪每一枚比特币的来源,确保不会被重复支付。 这个也会在后面介绍。

区块链技术分享_Java_06

前面提到,POW是比特币中非常重要的共识机制。 这种共识机制与比特币区块头的构成有很大关系。 比特币区块头一共80字节,包括前一个区块的Hash值(这是指向前一个区块的指针)、本区块交易信息的Merkle根(代表本区块所有信息的集合) ) )、时间戳和随机数 (nonce)。 这个随机数是 POW 的关键。

这个随机数的要求是保证加入随机数后,区块头的SHA256哈希计算结果小于某个目标值。 这个目标值可以简单理解为前面有N个0的十六进制数。 前面的0越多,这个随机数就越难计算,因为大家都知道hash算法是无规律的,只能一个一个的尝试。 直到一个数能满足目标值的要求。 这就是比特币区块链生成过程被称为挖矿的原因。 比特币网络的参与者使用他们的计算机或其他设备不断重复收集数据和计算随机数的过程,就像淘金的矿工一样。 就跟反复的体力劳动一样。

目标值的设定也很有讲究。 这个目标值不能设置得太小,如果太小,可能会导致10分钟内无人产生合法区块(比特币区块链每10分钟产生一个新区块); 不能太大比特币减半机制,太大意味着计算难度不高,可能有很多矿工同时挖矿,容易分叉。 而且大家都知道,由于摩尔定律,计算机的计算能力一直在提高,所以目标值不可能一成不变。 因此,在比特币中,最大目标值(前8个0)有一个常数,同时目标值每2周会根据全网算力调整一次,使其适合于整个网络的新计算能力水平。 到今年5月,目标值前面已经有17个零。

你也可能通过很多媒体看到,当人们批评比特币的时候,他们会说这是一种资源浪费,指的就是这个挖矿过程。 一开始,任何电脑或笔记本电脑都可以开采地雷。 后来人们发现显卡计算速度更快,于是开始用显卡挖矿。 到现在已经发明了专门的矿机,集成了专门的芯片进行挖矿。 矿业。 在这个过程中,设备越来越专业化,使用的电也越来越多。

区块链技术分享_Java_07

如前所述,比特币区块链的设计重点是如何避免双重支出,即如何保证同一组比特币不会被使用两次或更多次。 比特币交易的基本单位是未花费的交易输出UTXO(Unspent Transaction Output)。 UTXO 是不可分割的比特币,由其所有者锁定并为整个网络所认可。 因为比特币交易需要全网广播,所以大家在收到广播的交易信息后需要验证UTXO的来源是否合法,如果不合法可以拒绝。 这种方法可以避免“双花”的情况。

如前所述,如果两个矿工同时挖出一个新区块,可能会导致区块链的分叉。 此时,在整个区块链网络中,可能有一部分参与者接受了新的区块A,另一部分参与者可能接受了新的区块B。通常,大家会在分支A和B之后不断产生新的区块,直到某个在某个时间点,A分支明显比B分支长,这时候大家就会放弃B分支,转向A分支。无论是A分支还是B分支,都不允许UTXO双花。

由于分叉的存在,如果某一群矿工拥有全网51%的算力,他们可能通过某种合作实现双花,所以有“51%攻击”的说法。

比特币中还有两个很有意思的数字,2100万和每秒7笔交易,这里也简单说明一下。

先说2100万比特币,这跟比特币的产生机制有关。 在比特币网络中只有一种方式可以产生新的比特币,那就是挖矿,每挖出一个新的区块都会得到比特币的奖励。 最初,为每个生成的块生成 50 个比特币; 每 4 年减半。 从2008年到现在减半一次,就是25个比特币,今年又要减半了。 以此类推,到2140年,在产生了约2100万个比特币后,将不再产生新的比特币。

现在很多人会说比特币交易的性能有问题。 它最多只支持每秒 7 个事务。 这是怎么发生的? 如前所述,比特币每 10 分钟生成一次区块,但每个区块的大小只有 1M。 这个1M的区块需要记录10分钟内全网所有的交易信息; 每笔交易信息约250字节,计算平均每秒只能记录7笔交易。

区块链技术分享_Java_08

前面介绍比特币的时候重点介绍了它的POW共识机制,就是如何通过计算随机数来获得记录区块账本的记账权。 所谓共识机制,就是在一个去中心化的系统中,让众多参与者以某种方式达成共识。 除了前面提到的 PoW 工作量证明方法,还有一些 PoW 变体,例如 PoS 和 DPoS。 这些都是因为大家意识到PoW方式浪费了很多算力,所以在PoW的基础上做了一些优化。 这些机制一般用在互联网这样的不受信任的网络环境中,这种区块链也叫公链。

传统分布式计算系统中使用的共识算法,如Paxos/Raft,越来越多地用于可信网络环境下的区块链,也称为联盟链和私有链,后面会介绍。

区块链技术分享_Java_09

目前,区块链按照使用范围分为公链(比特币是典型的公链)、联盟链和私有链。

通过之前对比特币区块链技术的了解,我们可以发现区块链的几个特点。

首先,权力下放/去中介化。 比如比特币,没有中央货币发行机构,也没有中央交易机构。 所有交易都可以在没有中介的情况下点对点完成。 当然,这里的中心和中介并不完全一样。

其次,稳定可靠。 所有节点都是平等的并且有完整的数据。 任何单点故障都不会影响全局。

然后有共识机制自动达成共识,可以执行智能协议。 智能合约现在是区块链的一个新热点。 协议的执行逻辑可以通过代码记录下来,然后签署到区块链中。 一旦满足某些条件,它将自动执行。 比如用比特币支付,可以约定一个支付时间,在支付交易写入区块链后一个月实现比特币的转账。 这是一个简单的智能合约。

最后,透明度不能改变这一点很容易理解。

区块链技术分享_Java_10

下面介绍一下区块链在支付中的应用。

前面我们提到了传统支付和区块链支付的区别。 完整的区块链支付可以将信息流和资金流结合起来,但前提是它的货币发行和记账都是通过区块链完成的。 除了比特币,一些机构已经在进行类似的尝试。 包括中国人民银行行长周小川也在今年年初表示,中国将研究基于区块链的数字货币。

区块链技术分享_Java_11

R3是一家美国初创公司,较早在银行领域尝试区块链。 许多主要国际银行都加入了其区块链联盟,包括中国平安集团和招商银行。 R3在商业票据和分布式账本上尝试过区块链技术,因为R3最近发布了Corda分布式账本的白皮书,后面会对Corda做一些分析。

区块链技术分享_Java_12

据介绍,Corda是一个记录和处理金融智能合约的分布式账本,但它不同于最早的区块链账本。 正如Corda白皮书中所介绍的,其设计的核心思想之一是数据一致性可以降低业务复杂度。 做过支付的同学可能会有这种共鸣。 付款过程中和付款后的多方对账会非常复杂。 因此,Corda认为这是区块链账本的一大优势,将账本信息的权威性视为另一种设计思路,即签名确认后一切以区块信息为准。 它与传统区块链最大的区别是不需要所有信息的全球共享,强调只有参与者才能看到交易信息。 这也很好理解,因为很多商业合作都是需要保密的。 其智能合约的记录也很有特点,强调将合约程序代码和合约文本同时记录在区块链中,兼顾了机器执行和人工阅读。 其防止双花的机制有点类似于UTXO。 上图左下角是Corda发行货币的例子。 ABC银行通过特定的交易发行了100英镑的电子货币,并通过左上角的交易将这100英镑转给了XYZ公司。 类似的方法可以实现点对点支付。

区块链技术分享_Java_13

Corda 并不是 R3 的全部。 它的愿景是开发一个名为Concord的平台,该平台可以支持金融衍生品和贸易融资等各种业务。 其中,Concord Vault是其区块链,Corda是Concord的底层分布式账本。

可以看到,如果Corda真的在银行和企业之间实现,那么企业与企业之间、个人与个人之间、个人与企业之间的点对点支付都可以实现,不需要第三方支付机构在全部。 同时,如果第三方支付能够主动介入,也可以通过这种模式发行电子货币,参与到业务流程中。

区块链技术分享_Java_14

如前所述,中国人民银行也在考虑利用区块链技术发行电子货币。 这个想法在英国已经转化为行动。 英格兰银行和伦敦大学联合开发了 RSCoin,中央银行可以通过它控制和发行基于区块链的数字货币。

在RSCoin的系统中,记录区块链的角色分为两种:bank,即中央银行; 和薄荷糖。 银行给mintette颁发数字证书,类似于PKI证书体系,所以是一个联盟链。

Mintette 负责生成较低级别的区块,并将其上传到银行以生成较高级别的区块。 Mintette每隔一段时间生成一个下层区块(这个周期称为epcho,持续时间是可变的,每个mintette可能不同),并且mintette之间的区块可以有交叉引用。 这样做是为了打破先前规定的比特币区块链每秒 7 笔交易的限制。

Mintette每隔一定时间(Period,这个时间是固定的)将低层区块上传给银行,银行产生一个高层区块,形成主链。

在这个系统下,货币的发行是由银行完成的。

区块链技术分享_Java_15

RSCoin通过mintette实现下级区块记账,但每个mintette记录下级区块的时间间隔不同。 在这种情况下如何避免双重支出? 在RSCoin中,设计了一种类似于两阶段提交的方法来避免双花。

在RSCoin的交易系统中,使用了addrid的概念,addrid代表交易方的公钥和交易信息。 每个 addrid 都分配给一组 mintettes。 交易时,先通过公众服务查询输入addrid的mintette,确认数字货币未被消费; 然后系统将输出的addrid通知mintte,以确认交易,mintette将交易记录在区块中后,交易完成。

RSCoin模式下并没有明确规定只有商业银行才能承担mintette的角色,所以第三方支付理论上也可以作为mintette的记账。 但第三方支付机构应该更积​​极地参与相关设计。

区块链技术分享_Java_16

R3 Corda 和 RS Coin 较早推出,都是传统企业希望设计以满足现有金融服务的区块链系统。 现在有更多原本做比特币业务的公司开始涉足传统金融业务。 Circle 就是这样的一家公司。 Circle最初定位为比特币银行,但最近将重心转向社交支付,并发布了基于iMessage的支付产品。 目前已在中国开设分公司,但业务主要在欧美地区。

区块链技术分享_Java_17

区块链技术始于比特币,比特币和区块链的出现也给各个行业,尤其​​是金融行业带来了极大的冲击。 比特币最初的设计目的是去中心化和无中介,但现在作为最大的金融中介,银行也开始尝试使用区块链技术来改善业务; 比特币最初希望创造一种没有中央控制的货币,现在各国中央银行也在尝试利用区块链技术发行中央银行货币。 可见,比特币背后的区块链技术潜力非常强大,大家寄予厚望。

后面会介绍其他行业的案例,主要是国外的案例。

区块链技术分享_Java_18

这是一个使用区块链的证券交易所案例。 从业务属性上看,交易所提供的服务主要是信息撮合、支付服务、信息公证,最终的证券交易结果由交易所背书。 由于区块链的技术属性,可以通过签名验证交易的有效性,区块+链的数据结构可以保证信息不可篡改。 从技术层面来说,它可以在很大程度上替代交易所的信息公证能力。 于是纳斯达克尝试用区块链技术记录私募股权交易,即Pre-IPO阶段二级市场的股权交易。 过去,这类信息通常只记录在Excel文件中,公证难保。

区块链技术分享_Java_19

这是另一种类型的区块链初创公司。 DAO 是一个建立在 Ethereum IQ 上的 Dapp(去中心化应用程序)。 其愿景是实现“去中心化自治组织”。 DAO成立之初就备受瞩目,通过众筹获得了超过1.6亿美元的资金,号称是全球最大的众筹案例。 让我们看看为什么每个人都对它如此热衷。

DAO 本身没有业务,它提供了一个运行业务的平台。 以其中一个项目 Mobotiq 为例。 Mobotiq是一个共享电动汽车项目。 发起人首先在The DAO平台上发布项目提案,对项目感兴趣的人可以参与众筹; 参与众筹的人在项目的实际运作中拥有投票权,可以投票决定项目资金的使用、具体事项的决策等; 当共享电动汽车投入实际运营时,用户也将使用以太坊电子货币进行支付。 这些货币可以投资于公司的持续经营,也可以用来回馈投资者。 所有的投票决策规则、支付规则等都是通过代码签名写入区块链的智能合约,实现了没有法人实体的公司。

参与The DAO项目的人不需要互相认识,甚至可能感觉不到对方的存在。 只要他们相信记录在区块链中的信息,包括智能合约信息,他们就可以共同经营一个类似公司的实体。 不能不说这是一个很大的变化。

当然,虽然 DAO 吸引了很多投资,但它仍然只是一个实验项目。 不过,这个案例也让人们从另一个方面看到了区块链技术改造现有商业模式的潜力。

区块链技术分享_Java_20

日本瑞穗兴业银行希望建立一个系统来自动化处理跨境证券交易,这是一个跨企业的业务合作过程。 起初,他们尝试建立传统的IT系统,但发现投资和复杂度都很高:需要搭建一个独立的IT系统,需要组建一个独立的团队,对现有的业务流程进行较大的改造。 后来他们利用区块链搭建了一个新的系统,减少了交易状态和数据的验证工作,也减少了人员组织的开销,大大提高了交易处理效率。

从这个案例中,我们会发现传统的跨企业系统集成的思路会带来大量的系统开销和组织开销。 区块链技术的去中心化特性,通常会给我们带来另一种解决问题的思路。

区块链技术分享_Java_21

Onename试图通过区块链技术解决在线个人身份公证问题。 用户可以在区块链上记录和签名自己所有的网络账号,比如QQ号、邮箱号等,这样即使账号被黑了,大家都知道这个账号是你的。 这种方法利用区块链的防篡改特性提供了一种在网络上证明“你就是你”的方法。

区块链技术分享_Java_22

如果说onename是个人身份公证,Stampery则更大程度地拓展了公证范围。 它利用区块链的防篡改机制实现所有权证明、存在证明、真实性证明、协议证明、收据证明等。

区块链技术分享_Java_23

我介绍过很多国外区块链应用的案例,国内的区块链创业和应用也是如火如荼。 基本上,上述所有的区块链尝试都已经被国内企业实现了。 今年以来,国内涌现出一批规模较大的区块链联盟组织,共同推动区块链商业创新。

中国的大型互联网公司也在尝试区块链技术。 例如,蚂蚁金服利用区块链记录和追踪公益捐赠,微众银行利用区块链实现联贷业务,降低清算和对账成本。

区块链技术分享_Java_24

海航生态科技、国富宝也在尝试应用区块链。 为了找到合适的业务场景,充分发挥区块链的作用,我们对区块链的关键技术及其业务效果进行了映射。

数字签名技术使用非对称密钥实现数字签名,以达到身份识别和防篡改的目的。 业务效果是可以去掉中介,只需要信任签名就可以完成业务,剩下的由区块链系统根据智能合约和共识机制自动执行。 这个过程降低了业务的复杂性。

区块链全球账本让所有人看到的是同一个账本,不可篡改,达到信息透明的目的。

智能协议签署后将业务逻辑放入区块链。 人人监督,自动执行,减少人工成本,规则透明后更容易达成共识。

分布式共识机制不需要中介参与或集中协调。 通过执行约定的规则达成共识,可以避免恶意欺诈,降低不可信任环境下的风险; 由于系统整体是分布式的,也可以提高稳定性。 当然,在可信环境下,共识机制可以简化。

P2P数据共享可以及时同步数据,无需反复校验数据,降低复杂度。

As you can see, all of these are not new technologies, but when put together, they produce something as revolutionary as Bitcoin.

This makes us further reflect on whether we have used the power of technology to the extreme, and whether we are often constrained by existing ideas.

区块链技术分享_Java_25

This is a block chain system recently developed by Guofubao, which uses the distributed ledger of the block chain to share the blacklist, mainly to realize the sharing of credit data among Internet financial enterprises within HNA.

Because there are many Internet finance companies in the HNA system, including third-party payment companies and P2P wealth management companies, each company used to maintain its own blacklist independently. We hope to use this system to realize blacklist sharing in a decentralized way.

The advantage of using blockchain technology in this scenario is that each company can install its own system, and its own risk control department is responsible for entering and obtaining the blacklist; at the same time, because the blacklist entry process has a digital signature, the information can be traced .

At present, the system has been tested among several enterprises of HNA.

In addition, we are also trying to transform the interface between Guofubao and merchants through blockchain technology to improve the efficiency of account reconciliation.

区块链技术分享_Java_26

At the recently held China Blockchain Technology and Industry Development Forum, HNA Eco-Technology also released a new ecological blueprint for air travel based on blockchain smart contract technology, and is committed to building a complete blockchain application scenario.

区块链技术分享_Java_27

I spent a lot of space to introduce the source of the blockchain, the use of the blockchain in Bitcoin, and the scenarios where the blockchain is currently being used, hoping to inspire everyone. From the perspective of improving efficiency, saving costs, and business innovation, I believe you can find many scenarios for using blockchain. But any technology is not a panacea. Blockchain can bring surprises to everyone in Bitcoin, but it does not mean that it is applicable to other scenarios. The previous case introduction also briefly explained why blockchain is used in each scenario and the value brought by blockchain in combination with the technical characteristics of blockchain.

区块链技术分享_Java_28

This is the end of my introduction, please correct me if I am wrong, and I hope to have more exchanges with you. 谢谢大家!