老铁们,大家好,相信还有很多朋友对于比特币交易流程图和比特币交易流程图解的相关问题不太懂,没关系,今天就由我来为大家分享分享比特币交易流程图以及比特币交易流程图解的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
本文目录
浅析Fabric Peer 节点电子货币和数字货币的区别如何评价靠比特币身价百亿的新东方老师李笑来如何让自己的比特币消失浅析Fabric Peer 节点HyperledgerFabric,也称之为超级账本,是由IBM发起,后成为Linux基金会Hyperledger中的区块链项目之一。
Fabric是一个提供分布式账本解决方案的平台,底层的账本数据存储使用了区块链。区块链平台通常可以分为公有链、联盟链和私有链。公有链典型的代表是比特币这些公开的区块链网络,谁都可以加入到这个网络中。联盟链则有准入机制,无法随意加入到网络中,联盟链的典型例子就是Fabric。
Fabric不需要发币来激励参与方,也不需要挖矿来防止有人作恶,所以Fabric有着更好的性能。在Fabric网络中,也有着诸多不同类型的节点来组成网络。其中Peer节点承载着账本和智能合约,是整个区块链网络的基础。在这篇文章中,会详细分析Peer的结构及其运行方式。
在本文中,假设读者已经了解区块链、智能合约等概念。
本文基于Fabric1.4LTS。
区块链网络是一个分布式的网络,Fabric也是如此,由于Fabric是联盟链,需要准入机制,所以在网络结构上会复杂很多,下面是一个简化的Fabric网络:
各个元素的含义如下:
对于Fabric网络,外部的用户需要通过客户端应用,也就是图中的A1、A2或者A3来访问网络,客户端应用需要通过CA证书表明自己的身份,这样才能访问到Fabric网络中有权限访问的部分。
在上面的网络中,共有四个组织,R1、R2、R3和R4。其中R4是整个Fabric网络的创建者,网络是根据NC4配置的。
在Fabric网络中,不同的组织可以组成联盟,不同的联盟之间数据通过Channel来隔离。Channel中的数据只有该联盟中的组织才能访问,每一个新的Channel都可以认为是一条新的链。与其他的区块链网络中通常只有一条链不一样,Fabric可以通过Channel在网络中快速的搭建出一个新的区块链。
上面R1和R2组成了一个联盟,在C1上交易。R2同时又和R3组成了另外一个联盟,在C2上交易。R1和R2在C1上交易时,对R3是不可见的,R2和R3在C2上交易时,对R1是不可见的。Channel机制提供了很好的隐私保护能力。
Orderer节点是整个Fabric网络共有的,用来为所有的交易排序、打包。比如上面网络中O4节点。本文不会对Orderer节点进行详细说明,可以把这个功能理解为比特币网络中的挖矿过程。
Peer节点表示网络中的节点,通常一个Peer就表示一个组织,Peer是整个区块链网络的基础,是智能合约和账本的载体,Peer也是本文讨论的重点。
一个Peer节点可以承载多套账本和智能合约,比如P2节点,既维护了C1的账本和智能合约,也维护了C2的账本和智能合约。
为了可以更深入了解Peer节点的作用,先了解一下Fabric整体的交易流程。整体的交易流程图如下:
Peer节点按照功能来分可以分为背书节点和记账节点。
客户端会提交交易请求到背书节点,背书节点开始模拟执行交易,在模拟执行之后,背书节点并不会去更新账本数据,而是把这个交易进行加密和签名,然后返回给客户端。
客户端收到这个响应之后就会把响应提交到Orderer节点,Orderer节点会对这些交易进行排序,并打包成区块,然后分发到记账节点,记账节点就会对交易进行验证,验证结束之后,就会把交易记录到账本里面。
一笔交易是否能成功是根据背书策略来指定的,每一个智能合约都会指定一个背书策略。
Peer节点代表着联盟链中的各个组织,区块链网络也是由Peer节点来组成的,而且也是账本和智能合约的载体。
通过对上面交易过程的了解可以知道,Peer节点是主要的参与方。如果用户想要访问账本资源,都必须要和peer节点进行交互。在一个Peer节点中,可以同时维护多个账本,这些账本属于不同的Channel。每个Peer节点都会维护一套冗余账本,这样就避免了单点故障。
Peer节点根据在交易中的不同角色,可以分成背书节点(Endorser)和记账节点(Committer),背书节点会对交易进行模拟执行,记账节点才会真正将数据存储到账本中。
账本可以分成两个部分,一部分是区块链,另一部分是CurrentState,
也被称之为WorldState。区块链上只能追加,不能对过去的数据进行修改,链上也包含两部分信息,一部分是通道的配置信息,另一部分是不可修改,序列化的记录。每一个区块记录前一个区块的信息,然后连成链,如下图所示:
第一个区块被称之为genesisblock,其中不存储交易信息。每个区块可以被分为区块头、区块数据和区块元数据。区块头中存储着当前区块的区块号、当前区块的hash值和上一个区块的hash值,这样才能把所有的区块连接起来。区块数据中包含了交易数据。区块元数据中则包括了区块写入的时间、写入人及签名。
其中每一笔交易的结构如下,在Header中,包含了ChainCode的名称、版本信息。Signature就是交易发起用户的签名。Proposal中主要是一些参数。Response中是智能合约执行的结果。Endorsements中是背书结果返回的结果。
WorldState中维护了账本的当前状态,数据以Key-Value的形式存储,可以快速查询和修改,每一次对WorldState的修改都会被记录到区块链中。WorldState中的数据需要依赖外部的存储,通常使用LevelDB或者CouchDB。
区块链和WorldState组成了一个完整的账本,WorldState保证的业务数据的灵活变化,而区块链则保证了所有的修改是可追溯和不可篡改的。
在交易完成之后,数据已经写入账本,就需要将这些数据同步到其他的Peer,Fabric中使用的是Gossip协议。Gossip也是Channel隔离的,只会在Channel中的Peer中广播和同步账本数据。
智能合约需要安装到Peer节点上,智能合约是访问账本的唯一方式。智能合约可以通过Go、Java等变成语言进行编写。
智能合约编写完成之后,需要打包到ChainCode中,每个ChainCode中可以包含多个智能合约。ChainCode需要安装,ChainCode需要安装到Peer节点上。安装好了之后,ChainCode需要在Channel上实例化,实例化的时候需要指定背书策略。
智能合约在实例化之后就可以用来与账本进行交互了,流程图如下:
用户编写并部署实例化智能合约之后,就可以通过客户端应用程序来向智能合约提交请求,智能合约会对WorldState中数据进行get、put或者delete。其中get操作直接从WorldState中读取交易对象当前的状态信息,不会去区块链上写入信息,但put和delete操作除了修改WorldState,还会去区块链中写入一条交易信息,且交易信息不能修改。
区块链上的信息可以通过智能合约访问,也可以在客户端应用通过API直接访问。
Event是客户端应用和Fabric网络交互的一种方式,客户端应用可以订阅Event,当Event发生时,客户端应用就会接受到消息。
事件源可以两类,一类是智能合约发出的Event,另一类是账本变更触发的Event。用户可以从Event中获取到交易的信息,比如区块高度等信息。
在这篇文章中,首先介绍了Fabric整体的网络架构,通过对Fabric交易流程的分析,讨论了peer节点在交易中的作用,然后详细分析了peer节点所维护的账本和智能合约,并分析了peer节点维护账本以及peer节点执行智能合约的流程。
文/Rayjun
[1]https://hyperledger-fabric.readthedocs.io/zh_CN/release-1.4/whatis.html
[2]https://developer.ibm.com/zh/technologies/blockchain/series/os-academy-hyperledger-fabric/
[3]https://en.wikipedia.org/wiki/Gossip_protocol
电子货币和数字货币的区别1、应用不同
数字货币:快捷、经济和安全的支付结算;票据金融和供应链金融;抵押品物权数字化。
电子货币:卖方将买方的支付指令通过支付网关送往卖方的收单行;收单行通过银行卡网络从发卡行获得授权许可,并将授权信息再通过支付网关送回卖方;卖方取得授权后,向买方发出购物完成信息。如果支付获取与支付授权不能同时完成,卖方还要通过支付网关向收单行发送支付获取请求,把该笔交易的资金由买方转账到卖方的账户中。银行与银行之间通过支付系统完成最后的行间结算。
2、特点不同
数字货币特点是交易成本低、交易速度快、高度匿名性
电子货币特点是匿名性、节省交易费用、节省传输费用、持有风险小、支付灵活方便、防伪造及防重复性、不可跟踪性。
3、种类不同
数字货币分为三类:完全封闭的、与实体经济毫无关系且只能在特定虚拟社区内使用,如魔兽世界黄金;可以用真实货币购买但不能兑换回真实货币,可用于购买虚拟商品和服务,如Facebook信贷;可以按照一定的比率与真实货币进行兑换、赎回,既可以购买虚拟的商品服务,也可以购买真实的商品服务,如比特币。
电子货币:基于互联网环境使用的且将代表货币价值的二进制数据保管在微机终端硬盘内的电子现金;将货币价值保存在IC卡内并可脱离银行支付系统流通的电子钱包。
拓展资料:
电子货币(ElectronicMoney),是指以金融电子化网络为基础,以商用电子化工具和各类交易卡为媒介,以电子计算机技术和通信技术为手段,以电子数据(二进制数据)形式存储在银行的计算机系统中,并通过计算机网络系统以电子信息传递形式实现流通和支付功能的货币。
1、概念:是一种表示现金的加密序列数,它可以用来表示现实中各种金额的币值。随着基于纸张的经济向数字经济的转变,电子现金将成为主流。
2、特点:匿名性、节省交易费用、节省传输费用、持有风险小、支付灵活方便、防伪造及防重复性、不可跟踪性。
3、种类:(主要有两种)一种是基于互联网环境使用的且将代表货币价值的二进制数据保管在微机终端硬盘内的电子现金;一种是将货币价值保存在IC卡内并可脱离银行支付系统流通的电子钱包。
4.定义:消费者向电子货币的发行者支付传统货币,而发行者把与传统货币的相等价值,以电子形式存储在消费者持有的电子设备中。
特点
(1)以电子计算机技术为依托,进行储存,支付和流通;
(2)可广泛应用于生产、交换、分配和消费领域;
(3)集金融储蓄、信贷和非现金结算等多种功能为一体;
(4)电子货币具有使用简便、安全、迅速、可靠的特征;
(5)现阶段电子货币的使用通常以银行卡(磁卡、智能卡)为媒体。
优点
(1)方便
(2)安全
(3)通用
(4)增加社会效益
应用
电子商务中,银行是连接生产企业,商业企业和消费者的纽带,起
着至关重要的作用,银行是否能有效地实现电子支付已成为电子商务成败的关键。以一个简单的网上交易流程为例,首先买方向卖方发出购物请求;电子货币交易流程图卖方将买方的支付指令通过支付网关送往卖方的收单行;收单行通过银行卡网络从发卡行获得授权许可,并将授权信息再通过支付网关送回卖方;卖方取得授权后,向买方发出购物完成信息。如果支付获取与支付授权不能同时完成,卖方还要通过支付网关向收单行发送支付获取请求,把该笔交易的资金由买方转账到卖方的账户中。银行与银行之间通过支付系统完成最后的行间结算。
从上述交易流程中不难发现,网上交易可以分为交易环节和支付结算环节两大部分,其中支付结算环节又由包括支付网关,发单行和发卡行在内的金融专业网络完成的。因此,离开了银行,便无法完成网上交易的支付,从而也谈不上真正的电子商务。
如何评价靠比特币身价百亿的新东方老师李笑来如何评价靠比特币身价百亿的新东方老师李笑来?
根据自称及相关描述,李笑来顶着以下光环:
中国比特币首富
国内持有比特币最多的人之一
新东方名师
多本畅销书作者
著名天使投资人等等
是不是有些惊讶?看这些来头,李笑来也是个大人物,但了解他的人似乎并不多。
相反,倒是他曾经提及的发小罗永浩,在科技圈子里无人不知。
可老罗在成名后不曾与他互动过,无论是最风光的新东方时期,还是最煎熬的的做着锤子手机。
那这位“中国比特币首富”到底何许人也?我们来看看他的发迹史吧。
李笑来读书时期多次在计算机竞赛中获奖。高二那年,他参加了吉林省举办的一个竞赛,原本获得第一的他因有老师抗议,被取消了比赛成绩。而这次竞赛的前三名都被保送了清华。受此打击,他高考未正常发挥,进了长春大学。
毕业后,先做起了销售,曾做到总代级别,赚了不少钱。可由于为父治病,钱都用光了。
后来,跟罗永浩一样,去了新东方。一方面当起了教英语的老师,另一方面先后出版了《TOEFL核心词汇21天突破》等书。
到这里,并没有什么特别与众不同的地方,直到他遇上了比特币。
2011年,李笑来知道了比特币的交易价格超过了1美元。虽然不理解为什么这个币这么贵,但他还是一开始就买了2100个币。
当比特币涨到24美元的时候,他决定去“挖矿”,买硬件设备用来挖币。结果这次并不成功,与人合伙投入了60多万,收获只有100多个币。
不过,通过这段经历,他全身心的开始投入了虚拟货币的领域。此后不断的收购,直到2013年底,《华尔街日报》提到:
“北京刚成立不久的一个比特币观察人士团体说,现年41岁的李笑来是中国持有比特币最多的人之一。李笑来不愿具体说明自己持有的数量,但他说他的持有量为6位数,首位数是1。也就是说他持有的比特币价值已经超过了1亿美元。”
成为了亿万富翁后的生活,是怎样的?
创建了付费群,按李笑来的说法,一个是学习通识课,叫《七年》,让人学习技能的;另外一个是商学院,叫《共同成长》,做行业学习分享的。
出了书,《七年就是一辈子》,玩出了新花样:支付2500多元,可以进到一个群。进这个群有什么好处呢?这本书的章节更新会首先在这个群里。
开专栏,在得到APP上开了专栏《通往财富自由之路》,每位付费用户需要支付199元,在2017年的时候,他的专栏用户已经超过了十几万,也就是这个专栏他收获了超过3000多万的。
一个已经财富自由的人,在一个受众面较小的知识付费APP上,收费传授《通往财富自由之路》。
想想总觉得挺好玩的。
也许,就像李笑来的百度词条上写的,“致力于让一部分知识分子先富起来”吧。
实际上,李笑来至今没有向人们出示他拥有价值百亿比特币的证据,很简单又不会有什么损失的展示,但是他从没有这样做过——因此,他是否像外界流传的拥有那么多的比特币,也是存疑的。
所有关于他拥有身家百亿比特币的信息,都是来源于他向记者的单方面陈述。在比特币开始火爆起来的2013年左右,各大媒体的财经头条开始介绍这位前新东方教师出身的传奇人物,李笑来向人们讲述他两年前就开始做比特币的上游产业了,在一个鸟不拉屎的地方租下厂房,利用廉价的地租和电力成本来挖矿。
当然,很多人是不买账的,要求李笑来出示证据,只要公开一下他的钱包就可以了,由于比特币的加密设计,这样的展示其实根本不会影响他的资金安全,但是李笑来总是避而不谈这件事。
因为对于李笑来说,无论他有没有这么多钱,不公开展示是他最好的策略,因为会给人一种神秘感,一种影子富豪的感觉,从而对他其它的生意有所帮助。
而无论他有没有价值百亿的比特币,李笑来都俨然成为成功人士,因为他总是站在这几年新兴浪潮的风口浪尖上。
如何让自己的比特币消失如何让自己的比特币消失,这是我们区块链研习社高级课程里的一个游戏环节,虽然通过语音方式讲解,但是希望更多人能动手参与。这个游戏表面看显得有些滑稽,但实际上我希望通过借助这次课让大家能够更深入理解比特币里的公私钥怎么回事,以及理解比特币这个全球最大分布式网络。
很多人开始知道了比特币,特别是上次“想哭”勒索病毒大规模爆发,更多的人知道了这个神奇的东西的存在。但是,绝大部分人能了解到的比特币仅仅局限于在某个交易所买到了一个叫做“比特币”的东西(当然还有一部分甚至不知道如何买卖,网上去查吧),但是对于这个“比特币”究竟是何物,是不是我们听过的、学习过的那个比特币,根本没有去深入思考这个问题。
通过前期的一个叫做“你怎么知道买的比特币是真的呢?”的课程,你应该知道我说的是什么,以及知道交易所的“比特币”远非我们的想象。
而这次的课程呢?你将更能加深对比特币的认识。
我们暂时仅仅从“加密货币”这个角度来说说比特币,所谓的比特币:
因此,从这个描述里我们可以知道,对公钥和
私钥的理解非常关键(公私钥是我提到的“区块链学习的make集”的第一个),因为比特币在流转的过程中伴随着大量的公私钥计算和转换过程。当然,这个转换是单向的:通过私钥可以计算公钥,通过公钥无法计算私钥。比特币通过公钥来生成收款地址,收款地址是不限制数量的,而实际上钱包程序(至少BitcoinCore是这样)针对每个收款地址都有一个对应的私钥地址。下面是我实际操作过程中的一个截图:
在使用这个钱包的过程中要非常小心,因为Core钱包默认会对所有区块数据进行同步,通过提示来看,目前要同步至少120G的区块数据,如果一不小心,每次同步,硬盘会慢慢被塞满,所以记得关闭钱包界面右下角的网络图标。
上面是通过钱包对地址和私钥有一个基本的认识,而实际比特币在计算公私钥的时候还是“蛮复杂”的,因为很多人看不懂16进制,看不懂很多加密算法,所以碰到一个奇怪的字符或函数名都会头疼,比如ripemd160、sha256、base58等等。但如果能动手一下,其实并没想象中那么复杂。
下面是一个地址的计算的流程图:
有了这样一个计算过程,我们是如何实现让比特币“消失”的呢?其实,有种最笨的方法,就是生成一个公私钥,然后给对应的公钥地址转账,接下来把这个私钥扔掉或者彻底忘掉,那么以后没人能够还原这个私钥,不就实现“消失”了吗?
但是,英语里有句话说的是“nopain,nogain”,中文意思是“不劳无获”,代价不能白白花费呀,所以消耗了比特币,我们希望“永生”。这也是本次课程的终极目的:消失是为了永生!
在实现这个目的之前,我们要对比特币到底是什么进行重新考量:
作为今天的游戏实验,我们利用的是其中第3点:比特币是全球最大的分布式网络!由于这个网络里记录了所有的交易记录信息,因此,可能可以尝试把信息以交易的形式存储于这个永不灭亡的网络里。
好,原理搞清楚了,现在看怎么去做。回到上面的“地址计算流程”图,我们在第3步动点手脚。比如,我们需要将一条信息“HelloBitcoin!”永久记录到区块链里,可以对这个字符进行sha256计算,于是生成一个哈希值,然后替换掉第3步中的值,并继续下面的生成过程,最后得到一个收款地址,假设是1DDiE5gkXGTnFS3TGXEV6SUVjEYnNDdfxH。
于是,这个收款地址就生成了,但是大家发现没,我们这里并没有产生私钥。而且根据公私钥的原理大家也知道:根据公钥计算出私钥几乎是不可能的。因此,这里我们给这个地址进行转账,于是交易记录就产生了,而且,做到了把“HelloBitcoin!”这个字符串的哈希值永久地记录进了区块链里。
因此,我们所有的目的就实现了!
实际上,这不是我的首创,很多人都这么干过,很多人利用比特币的区块链网络是全球最大的分布式网络,而且寄生于互联网而存在,不可能消灭,因此将比特币作为底层,把大量的哈希值信息记录进去。大家看看下面这个图,每笔交易金额都是1聪:
看到这里,不知道大家是否理解了这样一个过程。比如上面这个图里面那一列收款地址,背后实际上可能会有一些特殊的含义。
最后,不要被这些貌似复杂的计算过程给吓到,因为不需要懂得这些函数的原理,这些函数在网络上是很容易获得的(有些可能要翻墙),我列出了一些,供大家学习和动手时使用:
今天课程到此结束,大家动起来吧,有问题留言交流。
文章到此结束,如果本次分享的比特币交易流程图和比特币交易流程图解的问题解决了您的问题,那么我们由衷的感到高兴!