区块链是很火的概念,但是提起区块链,最先想到的就是比特币,以及随之而起的各种虚拟币。
自然而然的很多人就认为区块链就是虚拟币,其实虚拟币只是区块链的一个应用,区块链的初衷也绝不是为了虚拟币而创建的。
区块链到如今也有10几年的历史了,如果算上它起源的密码朋克社区,那得将近30年的历史了。
提起区块链的历史,不得不提的就是密码朋克社区,这个社区是1992年,由三位密码学极客Eric Hughes,Timothy C.May 和 John Gilmore共同发起的。
可见区块链的本质是要通过密码学的相关知识来实现去中心化的信任机制。
密码朋克社区尝试的很多技术后来都应用在了区块链上,所以可以说它是区块链的起源地。
1997年,社区成员Adam被垃圾邮件骚扰的不胜其烦的时候,设计了一种基于密码学来防止垃圾邮件的方案--工作量证明(PoW)。
它的机制是这样的,每发一份邮件需要计算一个简单“小题目”,只会花费几秒钟,对于一般正常邮件来说,几秒钟影响不大。
但是对于发送垃圾邮件的人来说,发送几千封就要耗费数小时,此方式极大增加了发送垃圾邮件的成本。
后来,密码朋克社区的戴维从工作量证明(PoW)的成功之处看到了去中心化的电子货币的可能性,提出了B-money协议。
这个协议和后来的虚拟币交易很像,但是很粗糙,只是定义了交易双方要把交易信息通过私钥签名并全网广播,并没有解决重要的双花问题,所以最终也没有付诸实践。
不过,它的影响很深刻,推动了密码朋克其他成员的积极尝试,比如后来成员Nick Szabo构想的“数位黄金”,它引入了工作量证明的机制,同时通过拜占庭方式解决了双重花费问题,它和比特币有很多相似之处,不过由于它缺少最长链原则,最终还是没有成功。
2004年,Hal Finney设计了一种可重复使用的Token,名为“RPoW”。也就是对计算出难题的用户给予一定的回报,比如奖励一个 RPoW Token。
这样,挖矿的概念也诞生了。
再加上后来 Haber 和 Stornetta 提出的时间戳技术,比特币的诞生已经呼之欲出了。
现在提起虚拟币,关注其底层技术的人可能远远少于炒币的人,炒币让虚拟币和区块链成为了一种新的割韭菜手段,不过,由于大量的资金涌入,也不得不说确实促进了区块链的不断探索和完善。
说起虚拟币,不得不说的就是老大“比特币”。
2008年12月31日,在全球金融危机愈演愈烈的时候,一份白皮书《比特币:一种点对点的电子现金系统》横空出世。
比特币也随之开始发布,第一个创世区块在2009年1月3日被挖掘出,泰晤士报头版新闻“财政大臣正处于第二次救助银行的边缘”被永久的记录在了创世区块上。
比特币发布时其实并没有引起什么轰动,除了少数极客之外,大部分人对此漠不关心。
2010年时,10000万比特币也只换了2个披萨而已。
但是,比特币这种加密货币的交易私密性和匿名性被暗网说青睐,于是,在臭名昭著的“丝绸之路”网站上,比特币迎来了第一次大规模的认可。
随着比特币的被认可,交易随之增多,其弊端也逐步暴露出来。
因为比特币的区块确认速度最快也要10分钟,1个区块只有1M大小,每个交易大约250字节,因此比特币最快1秒也就6,7笔交易。
这显然满足不了日益流行的比特币的交易需求。
于是,基于比特币的莱特币诞生了,莱特币是前google的美籍华人工程师李启威所创建的。
莱特币是基于比特币的,它定位与小额支付,改进的地方在于将区块确认时间缩短到大约为比特币的1/4,为的是提高交易的确认速度,同时还改变了加密算法来应对FPGA的挖矿,不过后来挖矿还是被攻破。
莱特币出块速度是比特币4被,总量也是比特币4倍(总共8400万枚,比特币总共2100万枚)。
此时,工作量证明(PoW)的挖矿方式所耗费的大量电量开始为人所诟病,于是诞生了新的共识机制(PoS:权益证明)。
第一个尝试PoS共识方式的是点点币。它也不完全是PoS,其实是PoS+PoW的混合机制。
点点币的PoS是通过币龄而不是算力来竞争记账权,其中 币龄=持币量×持币时长
比如持有5枚币,持币6天,那么币龄就是5×6=30.
虽然这种方式能够减少挖矿带来的能源损耗,但是可以看出,这样的系统必然导致最有钱的节点会逐步控制整个网络。
创立比特股的想法也是来自于对比特币交易速度慢,无法完成微支付的抱怨。
比特股采用的共识机制是DPoS(委托权益证明),在比特股中,系统设计了若干位(目前是21位)见证人节点,见证人节点按照某种顺序,轮流复杂打包区块,获得区块奖励和手续费。
从这个机制可以看出,为了性能,比特股已经牺牲了去中心化。这是人们第一次尝试高性能区块链,它可以每秒完成上千笔转账。
比特股的这种方式让人们看到了中心化交易所的可能性,随后知名的火币,币安,门头沟和OKEx等交易所应运而生。
以太坊是区块链的又一次革命,本来,它的创始人Vitalik试图给比特币加入图灵完备的编程语言,将比特币从世界账本变成世界的计算机。
可惜的是他的提案没有得到比特币社区的认可,于是他就自己创立了以太坊。
以太坊支持图灵完备的编程语言,使得以太坊成为一个去中心化的平台,可以在其上开发DApp来完成自己的业务功能。
以太坊的发展也不是一帆风顺,在其如日中天之时,由于代码的漏洞惨遭黑客攻击,大量以太坊货币被盗。
此事件也导致以太坊分裂成2种虚拟币:一个是以太经典(ETC),一个是以太坊(ETH),其中ETH将黑客盗用的以太坊货币回滚了,也就是篡改了原始账本。
以太坊目前已是第二大虚拟币,仅次于比特币,它所支持的智能合约被看作是区块链2.0的象征。
除了上述的几种币,还有很多其他虚拟币也对区块链的应用和共识机制进行各种各样的探索。
比如达世币,以保护交易隐私为特点,较多个交易混合打包,以此来保护交易双方的隐私;
还有门罗币,采用了环签名方式(环签名是正统的密码学技术),隐匿了交易的发起方;
还有ZCash,它的隐私思路更加独特,是另一种密码学手段--零知识证明。
此外还有EOS等等都对区块链的共识机制进行了深入的探索。
不过,需要注意的是,现在虚拟币的交易所充斥了几百上千种货币,大部分都是为了割韭菜,真正在探索区块链本身的少之又少。
联盟链可以说是官方的区块链,联盟链的诞生说明区块链不再是民间用来对付官方的武器,而是一种真正值得肯定的技术。
2015年9月15日,R3区块链联盟成立,之后陆陆续续有43家世界顶级银行加入。
R3联盟是务实派,成立仅半年,就组织了多次区块链交易测试,验证区块链在金融行业的应用,包括电子交易,商业票据签发和票据赎回等多个场景。
2016年2月,由Linux基金会主导的推进区块链数字技术和交易验证的开源项目 Hyperlegder Project 正式创立。
创立之后,发展很快,2016~2017年间,企业会员和准会员扩至200余名,随后众多企业陆续在Hyperladger平台上提交代码,行业覆盖金融,银行,物联网,供应链,制造,科技等等。
目前,Hyperledger 有超过250个不同组织的合作平台,其中在中国已经超过50个,包括中信银行,招商银行,民生银行,百度等等。
国内的区块链联盟主要有2个,
一个是2016年4月19日成立的中国分布式总账基础协议联盟(ChinaLedger联盟),其主要任务是结合中国政策法规和中国金融行业独特的业务逻辑,共同合作研究区块链技术,以使其符合中国的政策法规,国家标准,业务逻辑和使用习惯。
另一个是2016年5月21日成立的金融区块链合作联盟(深圳),简称金链盟。
主要聚焦于区块链在金融方面的应用,目前已推出FISCO BCOS开源平台,旨在聚焦区块链应用场景的落地。
区块链如日中天是因为虚拟币,臭名昭著也是由于虚拟币。
虚拟币也许只是一个泡沫,通过鼓吹概念让很多人的钱财遭受损失,但是,区块链技术本身确实有很多激动人心的地方,希望区块链上能早日出现虚拟币以外杀手级应用。
目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile
文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定
当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在
我这个模型:classBunny每当我提交一个表单来创建这个模型时,我都会收到以下错误:#的未定义方法“number_before_type_cast” 最佳答案 我通过将此方法添加到我的Bunny模型中解决了这个问题:defnumber_before_type_castnumberend我不喜欢它,但我想在有人发布更好的解决方案之前它会起作用。 关于ruby-on-rails-Rails验证虚拟属性,我们在StackOverflow上找到一个类似的问题: h
昨晚看到IDEA官推宣布IntelliJIDEA2023.1正式发布了。简单看了一下,发现这次的新版本包含了许多改进,进一步优化了用户体验,提高了便捷性。至于是否升级最新版本完全是个人意愿,如果觉得新版本没有让自己感兴趣的改进,完全就不用升级,影响不大。软件的版本迭代非常正常,正确看待即可,不持续改进就会慢慢被淘汰!根据官方介绍:IntelliJIDEA2023.1针对新的用户界面进行了大量重构,这些改进都是基于收到的宝贵反馈而实现的。官方还实施了性能增强措施,使得Maven导入更快,并且在打开项目时IDE功能更早地可用。由于后台提交检查,新版本提供了简化的提交流程。IntelliJIDEA
文章目录概述背景为何要存算分离优势**应用场景**存算分离产品技术流派华为JuiceFSHashDataXSKY概述背景Hadoop一出生就是奔存算一体设计,当时设计思想就是存储不动而计算(code也即是代码程序)动,负责调度Yarn会把计算任务尽量发到要处理数据所在的实例上,这也是与传统集中式存储最大的不同。为何当时Hadoop设计存算一体的耦合?要知道2006年服务器带宽只有100Mb/s~1Gb/s,但是HDD也即是磁盘吞吐量有50MB/s,这样带宽远远不够传输数据,网络瓶颈尤为明显,无奈之举只好把计算任务发到数据所在的位置。众观历史常言道天下分久必合合久必分,随着云计算技术的发展,数据
【适用平台】私有云 说明:完成私有云部分是需要两台虚拟机的,分别为controller、compute两个节点,但我们只需配置一台,然后克隆就方便多啦!需要用到的映射文件:关于vm的安装我就不介绍的,毕竟挺简单的,下面让我们看看基于私有云模块中,虚拟机的搭建吧。1、创建新的虚拟机,这里一般我会选择自定义,毕竟后面的配置都要根据私有云相关来进行搭建,会比较复杂。(如果是基础的可以选择典型,典型的满足一般虚拟机的配置) 2、选择稍后安装操作系统会比较方便后续的选择,这里你也可以自己选择自己的映像文件(但不建议) 3、我们是基于Linux下操作的,所以选择Linux客户机操作系统,版本选择自己