比特币交易程序流程图比特币交易程序流程图解
大家好,今天来为大家分享比特币交易程序流程图的一些知识点,和比特币交易程序流程图解的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
本文目录
一文看懂互联网区块链如何让自己的比特币消失欧易uid是什么意思浅析Fabric Peer 节点一文看懂互联网区块链一文看懂互联网区块链
一文看懂互联网区块链,要了解区块链,就不得不从互联网的诞生开始研究区块链的技术发展简史,从中发掘区块链产生的动因,并由此推断区块链的未来。下面让我们一文看懂互联网区块链。
一文看懂互联网区块链1区块链的鼻祖就是麻将,最早的区块链是中国人发明的!区块链就跟麻将一样,只不过麻将的区块比较少而已,麻将只有136个区块,各地麻将规则不同可视作为比特币的硬分叉。
麻将作为最古老的区块链项目,四个矿工一组,最先挖出13位正确哈希值的获得记账权以及奖励,采用愿赌服输且不能作弊出老千的共识机制!
麻将去中心化,每个人都可以是庄,完全就是点对点。
矿池=棋牌室的老板抽佣。
不可篡改,因为说服其他三个人需要消耗太多算力和体力。
典型的价值互联网。我兜里的价值用不了八圈,就跑到他们兜里去了。
中国人基本上人手打得一手好麻将,区块链方面生产了全球70%~80%的矿机,并拥有全世界最多的算力,约占77%的算力
麻将其实是最早的的区块链项目:
1,四个矿工一组,先碰撞出13个数字正确哈希值的矿工可以获得记账权并得到奖励。
2,不可篡改。因为说服其他三个人需要消耗太多算力和体力。
3,典型的价值互联网。我兜里的价值数字货币www.gendan5.com/digitalcurrency/btc.html用不了八圈,就跑到他们兜里去了。
4、去中心化,每个人都可以是庄,完全就是点对点。
5、UTXO,未花费的交易支出。
还有另外一种赊账的区块链玩法,假设大家身上都没现金
细究一下,在大家达成共识时,我们看不到任何中介或者第三方出来评判丙赢了,大家给丙的奖励也不需要通过第三方转交给丙,都是直接点对点交易,这一过程就是去中心化,牌友们(矿工)各自记录了第一局的战绩,丙大胡自摸十三幺,乙杠了甲东风,记录完成后就生成了一个完整的区块,但要记住,这才只是第一局,在整个区块链上,这才仅仅是一个节点,开头说的8局打完,也就是8个节点(区块),8个区块连接在一起就形成了一个完整账本,这就是区块链。因为这个账本每人都有一个,所以就是分布式账本,目的就是为了防止有人篡改记录,打到最后,谁输谁赢一目了然。
4个男士(甲乙丙丁)凑在一块打麻将来钱,大家都没带现金,于是请一美女(中心化)用本子记账,记录每一局谁赢了多少钱、谁输了多少钱?最后结束时,大家用支付宝或微信支付结总账,但是如果这位美女记账时记错了或者预先被4人中的某人买通了故意记错,就保证不了这个游戏结果的公正公平合理性,你说是不是?那怎么办呢?如果你“打麻将”能用“区块链”作为游戏规则改编为如下:
4个男士(甲乙丙丁)凑在一块打麻将来钱,大家都没带现金,乙说让她带来的美女记账,甲说这位美女我们都不认识,于是甲乙丙丁4人一致约定每个人每局牌都在自己的手机上(区块链节点)同时记账(去中心化),最后打完麻将,直接手机上以电子货币结账时,大家都对一下记账的的结果,本来应该是一样的记账结果。
假设本来结果是甲手机上记的账:乙欠甲10元。但乙手机上的记录却是不欠,可是其余2人(丙、丁)和甲的记账一样,那还是按照少数服从多数规则结算,另外大家心里对乙的诚信印象就差评了,下次打麻将就不会带乙一起玩了。
除非乙预先买通(丙、丁)2人让其故意作假,但乙买通他们2人的代价是10万元(赖账10元的1万倍),那常理上乙只能选择放弃,因为做假成本太高了。
假设即使乙在打牌的过程中,偷偷愿意以高价10万元预先买通丙、丁做这笔巨亏的傻猫交易,但区块链的规则是按时间戳记账的,原来是下午1点钟记账乙欠甲10元的,即丙和丁下午3点钟再改账时,时间是不可逆的,只能记下午3点钟,那就又不吻合游戏规则了。
实际上在2017年博主已经开发出了一套麻将币
中国最早的区块链项目:四个矿工一组,最先从148个随机数字中碰撞出14个数字正确哈希值的矿工,可以获得一次记账权激励,由于分布式记账需要得到其他几位矿工的共识,因此每次记账交易时间长约十几分钟。
一文看懂互联网区块链2一、比特币诞生之前,5个对区块链未来有重大影响的互联网技术
1969年,互联网在美国诞生,此后互联网从美国的四所研究机构扩展到整个地球。在应用上从最早的军事和科研,扩展到人类生活的方方面面,在互联网诞生后的近50年中,有5项技术对区块链的未来发展有特别重大的意义。
1、1974诞生的TCP/IP协议:决定了区块链在互联网技术生态的位置
1974年,互联网发展迈出了最为关键的一步,就是由美国科学家文顿瑟夫和罗伯特卡恩共同开发的互联网核心通信技术--TCP/IP协议正式出台。
这个协议实现了在不同计算机,甚至不同类型的网络间传送信息。所有连接在网络上的计算机,只要遵照这个协议,都能够进行通讯和交互。
通俗的说,互联网的数据能穿过几万公里,到达需要的计算机用户手里,主要是互联网世界形成了统一的信息传播机制。也就是互联网设备传播信息时遵循了一个统一的法律-TCP/IP协议。
理解TCP/IP协议对掌握互联网和区块链有非常重要的意义,在1974年TCP/IP发明之后,整个互联网在底层的硬件设备之间,中间的网络协议和网络地址之间一直比较稳定,但在顶层应用层不断涌现层出不穷的创新应用,这包括新闻,电子商务,社交网络,QQ,微信,也包括区块链技术。
也就是说区块链在互联网的技术生态中,是互联网顶层-应用层的一种新技术,它的出现,运行和发展没有影响到互联网底层的基础设施和通讯协议,依然是按TCP/IP协议运转的众多软件技术之一。
2、1984年诞生的思科路由器技术:是区块链技术的模仿对象
1984年12月,思科公司在美国成立,创始人是斯坦福大学的一对夫妇,计算机中心主任莱昂纳德·波萨克和商学院的计算机中心主任桑蒂·勒纳,他们设计了叫做“多协议路由器”的联网设备,放到互联网的通讯线路中,帮助数据准确快速从互联网的一端到达几千公里的另一端。
整个互联网硬件层中,有几千万台路由器工作繁忙工作,指挥互联网信息的传递,思科路由器的一个重要功能就是每台路由都保存完成的互联网设备地址表,一旦发生变化,会同步到其他几千万台路由器上(理论上),确保每台路由器都能计算最短最快的路径。
大家看到路由器的运转过程,会感到非常眼熟,那就是区块链后来的重要特征,理解路由器的意义在于,区块链的重要特征,在1984年的路由器上已经实现,对于路由器来说,即使有节点设备损坏或者被黑客攻击,也不会影响整个互联网信息的传送。
3、随万维网诞生的B/S(C/S)架构:区块链的对手和企图颠覆的对象
万维网简称为Web,分为Web客户端和服务器。所有更新的信息只在Web服务器上修改,其他几千,上万,甚至几千万的客户端计算机不保留信息,只有在访问服务器时才获得信息的数据,这种结构也常被成为互联网的B/S架构,也就是中心型架构。这个架构也是目前互联网最主要的架构,包括谷歌、Facebook、腾讯、阿里巴巴、亚马逊等互联网巨头都采用了这个架构。
理解B/S架构,对与后续理解区块链技术将有重要的意义,B/S架构是数据只存放在中心服务器里,其他所有计算机从服务器中获取信息。区块链技术是几千万台计算机没有中心,所有数据会同步到全部的计算机里,这就是区块链技术的核心,
4、对等网络(P2P):区块链的父亲和技术基础
对等网络P2P是与C/S(B/S)对应的另一种互联网的基础架构,它的特征是彼此连接的多台计算机之间都处于对等的地位,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站。
Napster是最早出现的P2P系统之一,主要用于音乐资源分享,Napster还不能算作真正的对等网络系统。2000年3月14日,美国地下黑客站点Slashdot邮寄列表中发表一个消息,说AOL的Nullsoft部门已经发放一个开放源码的Napster的克隆软件Gnutella。
在Gnutella分布式对等网络模型中,每一个联网计算机在功能上都是对等的,既是客户机同时又是服务器,所以Gnutella被称为第一个真正的对等网络架构。
20年里,互联网的一些科技巨头如微软,IBM,也包括自由份子,黑客,甚至侵犯知识产权的犯罪分子不断推动对等网络的发展,当然互联网那些希望加强信息共享的理想主义者也投入了很大的热情到对等网络中。区块链就是一种对等网络架构的软件应用。它是对等网络试图从过去的沉默爆发的标杆性应用。
5、哈希算法:产生比特币和代币(通证)的关键
哈希算法将任意长度的数字用哈希函数转变成固定长度数值的算法,著名的哈希函数如:MD4、MD5、SHS等。它是美国国家标准暨技术学会定义的加密函数族中的一员。
这族算法对整个世界的运作至关重要。从互联网应用商店、邮件、杀毒软件、到浏览器等、,所有这些都在使用安全哈希算法,它能判断互联网用户是否下载了想要的东西,也能判断互联网用户是否是中间人攻击或网络钓鱼攻击的受害者。
区块链及其应用比特币或其他虚拟币产生新币的过程,就是用哈希算法的函数进行运算,获得符合格式要求的数字,然后区块链程序给予比特币的奖励。
包括比特币和代币的挖矿,其实就是一个用哈希算法构建的小数学游戏。不过因为有了激烈的竞争,世界各地的人们动用了强大的服务器进行计算,以抢先获得奖励。结果导致互联网众多计算机参与到这个小数学游戏中,甚至会耗费了某些国家超过40%的电量。
二、区块链的诞生与技术核心
区块链的诞生应该是人类科学史上最为异常和神秘的发明和技术,因为除了区块链,到目前为止,现代科学史上还没有一项重大发明找不到发明人是谁。
2008年10月31号,比特币创始人中本聪(化名)在密码学邮件组发表了一篇论文——《比特币:一种点对点的电子现金系统》。在这篇论文中,作者声称发明了一套新的不受政府或机构控制的电子货币系统,区块链技术是支持比特币运行的基础。
论文预印本地址在http://www.bitcoin.org/bitcoin.pdf,从学术角度看,这篇论文远不能算是合格的论文,文章的主体是由8个流程图和对应的解释文字构成的,没有定义名词、术语,论文格式也很不规范。
2009年1月,中本聪在SourceForge网站发布了区块链的应用案例-比特币系统的开源软件,开源软件发布后,据说中本聪大约挖了100万个比特币.一周后,中本聪发送了10个比特币给密码学专家哈尔·芬尼,这也成为比特币史上的第一笔交易。伴随着比特币的蓬勃发展,有关区块链技术的研究也开始呈现出井喷式增长。
向大众完整清晰的解释区块链的确是困难的事情,我们以比特币为对象,尽量简单但不断深入的介绍区块链的技术特征。
1、区块链是一种对等网络(P2P)的软件应用
我们在前文提过,在21世纪初,互联网形成了两大类型的应用架构,中心化的B/S架构和无中心的对等网络(P2P)架构,阿里巴巴,新浪,亚马逊,百度等等很多互联网巨头都是中心化的B/S架构,简单的说,就是数据放在巨型服务器中,我们普通用户通过手机,个人电脑访问阿里,新浪等网站的服务器。
21世纪初以来,出现了很多自由分享音乐,视频,论文资料的软件应用,他们大部分采用的是对等网络(P2P)架构,就是没有中心服务器,大家的个人计算机都是服务器,也都是客户机,身份平等。但这类应用一直没有流行起来,主要原因是资源消耗大,知识版权有问题等。区块链就是这种领域的一种软件应用。
2、区块链是一种全网信息同步的对等网络(P2P)软件应用
对等网络也有很多应用方式,很多时候,并不要求每台计算机都保持信息一致,大家只存储自己需要的的信息,需要时再到别的计算机去下载。
但是区块链为了支持比特币的金融交易,就要求发生的每一笔交易都要写入到历史交易记录中,并向所有安装比特币程序的计算机发送变动信息。每一台安装了比特币软件的计算机都保持最新和全部的.比特币历史交易信息。
区块链的这个全网同步,全网备份的特征也就是常说的区块链信息安全,不可更改来源。虽然在实际上依然不是绝对的安全,但当用户量非常大时,的确在防范信息篡改上有一定安全优势。
3、区块链是一种利用哈希算法产生”通证(代币)”的全网信息同步的对等网络(P2P)软件应用
区块链的第一个应用是著名的比特币,讨论到比特币时,经常会提到的一个名词就是“挖矿”,那么挖矿到底是什么呢?
形象的比喻是,区块链程序给矿工(游戏者)256个硬币,编号分别为1,2,3……256,每进行一次Hash运算,就像抛一次硬币,256枚硬币同时抛出,落地后如果正巧编号前70的所有硬币全部正面向上。矿工就可以把这个数字告诉区块链程序,区块链会奖励50个比特币给矿工。
从软件程序的角度说,比特币的挖矿就是用哈希SHA256函数构建的数学小游戏。区块链在这个小游戏中首先规定了一种获奖模式:给出一个256位的哈希数,但这个哈希数的后70位全部是0,然后游戏者(矿工)不断输入各种数字给哈希SHA256函数,看用这个函数能不能获得位数有70个0的数字,找到一个,区块链程序会奖励50个比特币给游戏者。实际的挖坑和奖励要更复杂,但上面的举例表达了挖矿和获得比特币的核心过程。
2009年比特币诞生的时候,每笔赏金是50个比特币。诞生10分钟后,第一批50个比特币生成了,而此时的货币总量就是50。随后比特币就以约每10分钟50个的速度增长。当总量达到1050万时(2100万的50%),赏金减半为25个。当总量达到1575万(新产出525万,即1050的50%)时,赏金再减半为12.5个。根据比特币程序的设计,比特币总额是2100万。
从上述介绍看,比特币可以看做一个基于对等网络架构的猜数小游戏,每次正确的猜数结果奖励的比特币信息会传递给所有游戏者,并记录到每个游戏者的历史数据库中。
4、区块链技术因比特币的兴起产生的智能合约,通证、ICO与区块链基础平台
从上面的介绍看,比特币的技术并不是从天上掉下来的新技术,而是把原来多种互联网技术,如对等网络架构,路由的全网同步,网络安全的加密技术巧妙的组合在一起,算是一种组合创新的算法游戏。
由于比特币通过运作成为可以兑换法币,购买实物,通过升值获得暴利,全世界都不淡定了。抱着你能做,我也能做的态度,很多人创造了自己的仿比特币软件应用。同时利用政府难以监管对等网络的特点,各种山寨币与比特币一起爆发。这其中出现了很多欺诈和潜逃事件,逐步引起各国政府的关注。
区块链基础平台:用区块链技术框架创建货币还是有相当的技术难度,这时区块链基础平台以太坊等基础技术平台出现了,让普通人也可以方便的创建类“比特币”软件程序,各显神通,请人入局挖币,炒币,从中获得利益。
通证或代币:各家“比特币”、“山寨币”如果用哈希算法创建的猜数小游戏,产生自己的“货币”时,这个“货币”统称“通证”或“代币”。
ICO:由于比特币和以太币已经打通与各国法币的兑换,其他新虚拟币发币时,只允许用比特币和以太币购买发行的新币,这样的发币过程就叫ICO,ICO的出现放大了比特币,以太币的交易量。同时很多ICO项目完全建立在虚无的项目上,导致大量欺诈案例频发。进一步加深了社会对区块链生成虚拟货币的负面认识。
智能合约:可以看做区块链上的一种软件功能,是辅助区块链上各种虚拟币交易的程序,具体的功能就像淘宝上支付宝的资金托管一样,当一方用户收到的货物,在支付宝上进行确认后,资金自动支付个给买家货主,智能合约在比特币等区块链应用上也是承担了这个中介支付功能。
三、区块链技术在互联网中的历史地位和未来前景
1、区块链处于互联网技术的什么位置?是顶层的一种新软件和架构。
我们在前面的TCP/IP介绍中提到,区块链与浏览器、QQ、微信、网络游戏软件、手机APP等一样,是互联网顶层-应用层的一种软件形式。它的运行依然要靠TCP/IP的架构体系传输数据。只是与大部分应用层软件不同,没有采用C/S(B/S)的中心软件架构。而是采用了不常见的对等网络架构,从这一点说,区块链并不能颠覆互联网基础结构。
2、区块链想要颠覆谁?想颠覆万维网的B/S(C/S)结构。
它试图要颠覆其实是89年年诞生的万维网B/S,C/S结构。前面说过。由于89年年欧洲物理学家蒂姆·伯纳斯·李发明万维网并放弃申请专利。此后近30年中,包括谷歌,亚马逊,facebook,阿里巴巴,百度,腾讯等公司利用万维网B/S(C/S)结构,成长为互联网的巨头。
在他们的总部,建立了功能强大的中心服务器集群,存放海量数据,上亿用户从巨头服务器中获取自己需要的数据,这样也导致后来云计算的出现,而后互联网巨头把自己没有用完的中心服务器资源开放出来,进一步吸取企业,政府,个人的数据。中心化的互联网巨头对世界,国家,互联网用户影响力越来越大。
区块链的目标是通过把数据分散到每个互联网用户的计算机上,试图降低互联网巨头的影响力,由此可见区块链真正的对手和想要颠覆的是1990年诞生的B/S(C/S)结构。但能不能颠覆掉,就要看它的技术优势和瓶颈。
3、区块链的技术缺陷:追求彻底平等自由带来的困境
区块链的技术缺陷首先来自与它的对等网络架构上,举个例子,目前淘宝是B/S结构,海量的数据存放在淘宝服务器集群机房里,几亿消费者通过浏览器到淘宝服务器网站获取最新信息和历史信息。
如果用区块链技术,就是让几亿人的个人电脑或手机上都保留一份完整的淘宝数据库,每发生一笔交易,就同步给其他几亿用户。这在现实中是完全无法实现的。传输和存储的数据量太大。相当于同时建立几亿个淘宝网站运行。
因此区块链无法应用在数据量大的项目上,甚至小一点的网站项目用区块链也会吃力。到2018年,比特币运行了近10年,积累的交易数据已经让整个系统面临崩溃。
于是区块链采用了很多变通方式,如建立中继节点和闪电节点,这两个概念同样会让人一头雾水,通俗的说,就是区块链会向它要颠覆的对象B/S结构进行了学习,建立数据服务器中心成为区块链的中继节点,也用类浏览器的终端访问,这就是区块链的闪电节点。
这种变动能够缓解区块链的技术缺陷,但确让区块链变成它反对的样子,中心化。由此可见,单纯的区块链技术由于技术特征有重大缺陷,无法像万维网一样应用广泛,如果技术升级,部分采用B/S(C/S)结构,又会使得区块链有了中心化的信息节点,不在保持它诞生时的梦想。
4、从互联网大脑模型看区块链的未来前景
我们知道互联网一般是指将世界范围计算机网络互相联接在一起的网际网络,在这基础上发展出覆盖全世界的全球性互联网络称互联网,即是互相连接一起的网络结构。
从1969年互联网诞生以来,人类从不同的方向在互联网领域进行创新,并没有统一的规划将互联网建造成什么结构,当时间的车轮到达2017年,随着人工智能,物联网,大数据,云计算,机器人,虚拟现实,工业互联网等科学技术的蓬勃发展,当人类抬起头来观看自己的创造的巨系统,互联网大脑的模型和架构已经越来越清晰。
通过近20年的发展依托万维网的B/S,C/S结构,腾讯QQ,微信,Facebook,微博、twitter亚马逊已经发展出类神经元网络的结构。互联网设备特别是个人计算机,手机在通过设备上的软件在巨头的中心服务器上映射出个人数据和功能空间,相互加好友交流,传递信息。互联网巨头通过中心服务器集群的软件升级,不断优化数亿台终端的软件版本。在神经学的体系中,这是一种标准的中枢神经结构。
区块链的诞生提供了另外一种神经元模式,不在巨头的集中服务中统一管理神经元,而是每台终端,包括个人计算机和个人手机成为独立的神经元节点,保留独立的数据空间,相互信息进行同步,在神经学的体系中,这是一种没有中心,多神经节点的分布式神经结构。
有趣的是,神经系统的发育出现过这两种不同类型的神经结构。在低等生物中,出现过类区块链的神经结构,有多个功能相同的神经节,都可以指挥身体活动和反应,但随着生物的进化,这些神经节逐步合并,当进化成为高等生物时,中枢神经出现了,中枢神经中包含大量神经元进行交互。
四、关于区块链在互联网未来地位的判断
1、对比特币的认知:一个基于对等网络架构(P2P)的猜数小游戏,通过高明的金融和舆论运作,成为不受政府监管的”世界性货币”。
2、对区块链的认知:一个利用哈希算法产生”通证(代币)”的全网信息同步的对等网络(P2P)软件应用。
3、区块链有特定的用途,如大规模选举投票,大规模赌博,规避政府金融监管的金融交易等等领域,还是有不可替代的用处。
4、在更多时候,区块链技术会依附于互联网的B/S,C/S结构,实现功能的扩展,但总体依然属于互联网已有技术的补充。对于区块链目前设想的绝大部分应用场景,都是可以用B/S,C/S结构实现,效率可以更高和技术也可以更为成熟。
5、无论是从信息传递效率和资源消耗,还是从神经系统进化看,区块链无法成为互联网的主流架构,更不能成为未来互联网的颠覆者和革命者。
6、当然B/S,C/S结构发展出来的互联网巨头也有其问题,但这些将来可以通过商业的方式,政治的方式逐渐解决。
如何让自己的比特币消失如何让自己的比特币消失,这是我们区块链研习社高级课程里的一个游戏环节,虽然通过语音方式讲解,但是希望更多人能动手参与。这个游戏表面看显得有些滑稽,但实际上我希望通过借助这次课让大家能够更深入理解比特币里的公私钥怎么回事,以及理解比特币这个全球最大分布式网络。
很多人开始知道了比特币,特别是上次“想哭”勒索病毒大规模爆发,更多的人知道了这个神奇的东西的存在。但是,绝大部分人能了解到的比特币仅仅局限于在某个交易所买到了一个叫做“比特币”的东西(当然还有一部分甚至不知道如何买卖,网上去查吧),但是对于这个“比特币”究竟是何物,是不是我们听过的、学习过的那个比特币,根本没有去深入思考这个问题。
通过前期的一个叫做“你怎么知道买的比特币是真的呢?”的课程,你应该知道我说的是什么,以及知道交易所的“比特币”远非我们的想象。
而这次的课程呢?你将更能加深对比特币的认识。
我们暂时仅仅从“加密货币”这个角度来说说比特币,所谓的比特币:
因此,从这个描述里我们可以知道,对公钥和私钥的理解非常关键(公私钥是我提到的“区块链学习的make集”的第一个),因为比特币在流转的过程中伴随着大量的公私钥计算和转换过程。当然,这个转换是单向的:通过私钥可以计算公钥,通过公钥无法计算私钥。
比特币通过公钥来生成收款地址,收款地址是不限制数量的,而实际上钱包程序(至少BitcoinCore是这样)针对每个收款地址都有一个对应的私钥地址。下面是我实际操作过程中的一个截图:
在使用这个钱包的过程中要非常小心,因为Core钱包默认会对所有区块数据进行同步,通过提示来看,目前要同步至少120G的区块数据,如果一不小心,每次同步,硬盘会慢慢被塞满,所以记得关闭钱包界面右下角的网络图标。
上面是通过钱包对地址和私钥有一个基本的认识,而实际比特币在计算公私钥的时候还是“蛮复杂”的,因为很多人看不懂16进制,看不懂很多加密算法,所以碰到一个奇怪的字符或函数名都会头疼,比如ripemd160、sha256、base58等等。但如果能动手一下,其实并没想象中那么复杂。
下面是一个地址的计算的流程图:
有了这样一个计算过程,我们是如何实现让比特币“消失”的呢?其实,有种最笨的方法,就是生成一个公私钥,然后给对应的公钥地址转账,接下来把这个私钥扔掉或者彻底忘掉,那么以后没人能够还原这个私钥,不就实现“消失”了吗?
但是,英语里有句话说的是“nopain,nogain”,中文意思是“不劳无获”,代价不能白白花费呀,所以消耗了比特币,我们希望“永生”。这也是本次课程的终极目的:消失是为了永生!
在实现这个目的之前,我们要对比特币到底是什么进行重新考量:
作为今天的游戏实验,我们利用的是其中第3点:比特币是全球最大的分布式网络!由于这个网络里记录了所有的交易记录信息,因此,可能可以尝试把信息以交易的形式存储于这个永不灭亡的网络里。
好,原理搞清楚了,现在看怎么去做。回到上面的“地址计算流程”图,我们在第3步动点手脚。比如,我们需要将一条信息“HelloBitcoin!”永久记录到区块链里,可以对这个字符进行sha256计算,于是生成一个哈希值,然后替换掉第3步中的值,并继续下面的生成过程,最后得到一个收款地址,假设是1DDiE5gkXGTnFS3TGXEV6SUVjEYnNDdfxH。
于是,这个收款地址就生成了,但是大家发现没,我们这里并没有产生私钥。而且根据公私钥的原理大家也知道:根据公钥计算出私钥几乎是不可能的。因此,这里我们给这个地址进行转账,于是交易记录就产生了,而且,做到了把“HelloBitcoin!”这个字符串的哈希值永久地记录进了区块链里。
因此,我们所有的目的就实现了!
实际上,这不是我的首创,很多人都这么干过,很多人利用比特币的区块链网络是全球最大的分布式网络,而且寄生于互联网而存在,不可能消灭,因此将比特币作为底层,把大量的哈希值信息记录进去。大家看看下面这个图,每笔交易金额都是1聪:
看到这里,不知道大家是否理解了这样一个过程。比如上面这个图里面那一列收款地址,背后实际上可能会有一些特殊的含义。
最后,不要被这些貌似复杂的计算过程给吓到,因为不需要懂得这些函数的原理,这些函数在网络上是很容易获得的(有些可能要翻墙),我列出了一些,供大家学习和动手时使用:
今天课程到此结束,大家动起来吧,有问题留言交流。
欧易uid是什么意思UID就是你在论坛上的“身份证号”,它是唯一的。就像现实生活中你有自己的姓名,同时也有唯一的身份证号一样,登入时如果你的名字不好打字,可以直接输入UID也中可以的。
币安、火币、欧易OKEX是全球最大的3个加密货币交易平台,拥有来自200多个国家和地区的千万注册用户拥有专业的客服团队。
“由SAFU基金提供保障,采用最先进的安全协议,确保您的资金始终受到保护。使用多个层级为资产提供保障,可以安全地存储和交易加密货币。我们会定期更新币安加密交易应用程序,请及时更新。”
集OTC法币交易、币币交易、现货杠杆交易及合约交易于一体,主要提供比特币、莱特币、以太坊等主流数字货币的购买及出售服务。
浅析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
好了,关于比特币交易程序流程图和比特币交易程序流程图解的问题到这里结束啦,希望可以解决您的问题哈!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。