区块链技术产生的时代背景
㈠ 区块链技术的发展
区块链技术在金融中有着极多的应用,诸多的特性让金融业的未来有了很大的想像空间。
对于单一(国内)央行而言,比特币可以被视为一种“外汇币种”,比特币并不会受到央行的货币政策影响。从这个角度出发,比特币势必会带来所谓的货币竞争。美国游客在境外旅游的时候多多少少都会遇到以非官方汇率兑换外币的经验。当地人兑换美元的初衷可能是避免高通胀带来的影响(通胀税)。
如果这种兑换可以被“发扬光大并广泛使用”,政府利用通胀税增加财政收入的方式势必会受到限制,而以往传统的外汇管制也会失去相当的作用。只要有网络或者电话,人们就可以利用数字货币作为兑换媒介。
挑战全球货币地位
尽管比特币在短期不太可能取代全球主要货币,但是在一些特定的场合,比特币依然有机会起到主导性的作用。美元的地位在全球许多国家有目共睹,但是由外国银行所创造的美元计价存款项下负债已经带来了管辖问题。如果美国银行进一步提供比特币计价的贷款,并且接受比特币的赎回,监管层该如何应对?事实上,如今的欧元美元市场已经有类似的迹象。
换句话说,在金融危机时刻,市场如果希望的是比特币存款而非美元存款,那么传统意义上央行的“最后贷款人”地位将完全失去。
充当避险资产
避险资产并不意味着无风险资产,而是指那些危机时刻投资者愿意涌入的资产。在上世纪70年代的时候,地产就是避险资产;而进入到21世纪之后,美债则成为了避险资产。比特币能否成为下一个关键性的避险资产?答案有可能是肯定的,也有可能是否定的。但是回想之前欧元区危机时刻CUF在匈牙利按揭贷款的主导地位,比特币显然是有机会一战成名的:在美元计价通胀,比特币计价通缩的背景下,由于美联储无法通过扩大比特币供给美元/比特币汇率将出现暴跌。
起到有价证券的作用
在完美的宏观经济模式下,证券交易应该属于无缝对接。但是在货币政策影响下,现在的债券OTC交易流动性非常差,即便是流动性最好的十年期美债都曾经出现过流动性问题。质地良好的抵押品(通常是国债)需求由此急升。如果区块链技术足够成熟,那么很有可能给市场带来数十亿美元的抵押品供给。当然,国债需求降温则有可能导致利率上行。
维护金融市场稳定?
有一种看法认为区块链的使用将导致全球央行退出历史舞台。这种可能性自然存在,但是就短期来看,并不是太现实——央行完全退居后台需要许多硬资产比如房产、人力资本找到流动性载体/媒介。
还有一种看法认为区块链技术将使得金融市场完全透明化,从而带来一个更加稳健的金融体系。不过需要指出的是,主流的戴蒙德和戴维格银行挤提模型并不依赖于金融市场的不透明性。理论情况下,银行的投资组合处于完全透明。但是即便如此,意外的大规模赎回依然会令金融体系出现问题。
央行的数字货币/现金
现行的货币和支付架构都形成于互联网诞生之前。世界已经发生了翻天覆地的变化,因此人们必须学会适应,没有理由拒绝央行提供数字货币的可能性。在比特币之前,美国财政福曾提供过线上数字债券账户,虽然这种账户并非用于支付系统,但是理论上完全可以适用。
央行的数字账户具有许多优势。首先储户不再需要存款保险,因为央行不存在违约风险;其次,持有大量资金的货币经理可以选择央行账户做隔夜存款,而非选择影子银行;第三,纸质货币供给的成本将完全消除;第四,央行支付储户利息将十分便捷,以利于央行货币政策的传导。
现实应用
布比区块链在技术平台方面取得多项突破,能够满足数千万级用户规模的场景,并且具备快速构建上层应用业务的能力。布比区块链已经应用于股权、供应链、积分等领域,并正在与交易所、银行开展试验和应用测试。数贝荷包做为布比区块链平台上的一款积分应用已于近期上线,阳光保险做为国内第一家大型金融机构在该平台上发行区块链积分(阳光贝),对区块链技术在各行业中的落地应用是一个很好示范作用。
区块链技术一定会深深的影响金融行业,并在长久的时间内产生重要的影响,人们将会一一见证其在现实中引发的深刻变化。
㈡ 区块链技术
背景:比特币诞生之后,发现该技术很先进,才发现了区块链技术。比特币和区块链技术同时被发现。
1.1 比特币诞生的目的:
①货币交易就有记录,即账本;
②中心化机构记账弊端——可篡改;易超发
比特币解决第一个问题:防篡改——hash函数
1.2 hash函数(加密方式)
①作用:将任意长度的字符串,转换成固定长度(sha256)的输出。输出也被称为hash值。
②特点:很难找到两个不同的x和y,使得h(x)=h(y)。
③应用:md5文件加密
1.3 区块链
①定义
区块:将总账本拆分成区块存储
区块链:在每个区块上,增加区块头。其中记录父区块的hash值。通过每个区块存储父区块的hash值,将所有的区块按照顺序连接起来,形成区块链。
②区块链如何防止交易记录被篡改
形成区块链后,篡改任一交易,会导致该交易区块hash值和其子区块中不同,发现篡改。
即使继续篡改子区块头中hash值,会导致子区块hash值和孙区块中不同,发现篡改。
1.4 区块链本质
①比特币和区块链本质:一个人人可见的大账本,只记录交易。
②核心技术:通过密码学hash函数+数据结构,保证账本记录不可篡改。
③核心功能:创造信任。法币依靠政府公信力,比特币依靠技术。
1.5如何交易
①进行交易,需要有账号和密码,对应公钥和私钥
私钥:一串256位的二进制数字,获取不需要申请,甚至不需要电脑,自己抛硬币256次就生成了私钥
地址由私钥转化而成。地址不能反推私钥。
地址即身份,代表了在比特币世界的ID。
一个地址产生之后,只有进入区块链账本,才能被大家知道。
②数字签名技术
签名函数sign(张三的私钥,转账信息:张三转10元给李四) = 本次转账签名
验证韩式verify(张三的地址,转账信息:张三转10元给李四,本次转账签名) = True
张三通过签名函数sign(),使用自己的私钥对本次交易进行签名。
任何人可以通过验证韩式vertify(),来验证此次签名是否有由持有张三私钥的张三本人发出。是返回true,反之为false。
sign()和verify()由密码学保证不被破解。·
③完成交易
张三将转账信息和签名在全网供内部。在账户有余额的前提下,验证签名是true后,即会记录到区块链账本中。一旦记录,张三的账户减少10元,李四增加10元。
支持一对一,一对多,多对已,多对多的交易方式。
比特币世界中,私钥就是一切!!!
1.6中心化记账
①中心化记账优点:
a.不管哪个中心记账,都不用太担心
b.中心化记账,效率高
②中心化记账缺点:
a 拒绝服务攻击
b 厌倦后停止服务
c 中心机构易被攻击。比如破坏服务器、网络,监守自盗、法律终止、政府干预等
历史 上所有有中心化机构的机密货币尝试都失败了。
比特币解决第二个问题:如何去中心化
1.7 去中心化记账
①去中心化:人人都可以记账。每个人都可以保留完整的账本。
任何人都可以下载开源程序,参与P2P网络,监听全世界发送的交易,成为记账节点,参与记账。
②去中心化记账流程
某人发起一笔交易后,向全网广播。
每个记账节点,持续监听、持续全网交易。收到一笔新交易,验证准确性后,将其放入交易池并继续向其它节点传播。
因为网络传播,同一时间不同记账节点的交一次不一定相同。
每隔10分钟,从所有记账节点当中,按照某种方式抽取1名,将其交易池作为下一个区块,并向全网广播。
其它节点根据最新的区块中的交易,删除自己交易池中已经被记录的交易,继续记账,等待下一次被选中。
③去中心化记账特点
每隔10分钟产生一个区块,但不是所有在这10分钟之内的交易都能记录。
获得记账权的记账节点,将得到50个比特币的奖励。每21万个区块(约4年)后,奖励减半。总量约2100万枚,预计2040年开采完。
记录一个区块的奖励,也是比特币唯一的发行方式。
④如何分配记账权:POW(proof of work) 方式
记账几点通过计算一下数学题,来争夺记账权。
找到某随即数,使得一下不等式成立:
除了从0开始遍历随机数碰运气之外,没有其它解法,解题的过程,又叫做挖矿。
谁先解对,谁就得到记账权。
某记账节点率先找到解,即向全网公布。其他节点验证无误之后,在新区块之后重新开始新一轮的计算。这个方式被称为POW。
⑤难度调整
每个区块产生的时间并不是正好10分钟
随着比特币发展,全网算力不算提升。
为了应对算力的变化,每隔2016个区块(大约2周),会加大或者减少难度,使得每个区块产生的平均时间是10分钟。
#欧易OKEx# #比特币[超话]# #数字货币#
㈢ 区块链的诞生历史
很多人一听到“区块链”这三个字就会本能地被望而生畏,认为是高深莫测的内容或者一项技术,跟我没有一毛钱关系。
2018年是区块链技术的元年,在刚刚过去的春节里,区块链可见是着实火了一把,区块链第一社区的“三点钟无眠区块链”、各大媒体的文章“如何给七大姑八大姨介绍区块链”、各行各业的新手准备入场币圈大干一场等等。
我们知道互联网经过几十年的时间历程已经连接了全球。人们不会谈论世界是否是平的,因为只要你拥有一台电脑、一部手机就和整个世界紧密相连。精英们习惯把过去的互联网时代称为信息互联网时代。
随着2008年区块链技术的横空出世把措不及防的人类拉进了比特世界,未来不管你是否了解什么是区块链技术?理不理解数字虚拟货币是怎么实现的?都被裹挟着进入了互联网的第二个时代:价值互联网时代。而你不知道的是区块链技术是如何诞生的?
20世纪八九十年代密码朋克的“主教”级人物大卫·乔姆,在1990年发明了密码学匿名现金系统Ecash。乔姆认为分布式的、真正的数字现金系统应该为人们的隐私加密。
英国的密码学家亚当·贝克,1997年发明了哈希现金(Hashcash),其中用到了工作量证明系统(Proof of Work)。工作量证明系统是比特币的核心理念之一。
哈伯和斯托尼塔,在1997年提出了一个用时间戳的方法保证数字文件安全的协议。这个协议也成为比特币区块链协议的原型之一。时间戳最大的特点就是当一个虚拟货币被交易时,被盖上时间戳,它就不能被改动。
密码学专家戴伟,在1998年发明了B-money。B-money强调点对点的交易和不可更改的交易记录,网络中的每一个交易者都保持对交易的追踪。
2004年,PGP加密公司的顶级开发人员哈尔芬妮推出了电子货币“加密现金”,在其中采用了可重复使用的工作量证明机制(RPOW)。
但是他们单一的发明和设想还是不够成为一种世界型的虚拟货币。Ecash于1998年宣布倒闭;工作量证明系统不能保证数字货币是否交易过很多次;时间戳这个技术协议只被政府小范围应用;B.money系统中,大卫并没有解决账本同步的问题;最后哈尔芬妮的设想也还是不够成为一种世界型的虚拟货币。
2008年,当一切技术条件成熟,时间条件也成熟,还需要一位神级人物来回答一个问题,就是之前的虚拟货币先驱们为什么会失败?回答这个问题的人名字叫中本聪。
他认为之前的虚拟货币失败最重要的原因是,都有一个中心化的结构,所有的交易数据都会汇总到公司的数据中心,和政府发行的货币没有什么两样。一旦为虚拟货币背书的公司倒闭,或者总账本的中央服务器被黑客攻破,这个虚拟货币就会面临崩溃的风险。中本聪对大卫乔姆的Ecash进行了优化,综合了时间戳、工作量证明机制、非对称加密技术、UTSO的结构,最终他发明了比特币。
可见区块链不是一个单一的技术,它是一系列上述技术的集合。比特币只是区块链技术的首次大规模应用的典型案例。未来区块链技术可以应用到金融服务、社会生活等众多领域。
㈣ 区块链应用的发展历程是怎样的
区块链的发展历程可以分为三个阶段。区块链科学研究所创始人梅兰妮·斯万,在她的《区块链:新经济蓝图及导读》这本书中,根据区块链的应用发展状况分为三个阶段:区块链1.0、2.0和3.0。
一、区块链1.0 加密货币时代(2008-2013)
2008年,中本聪首次提出了比特币和区块链的概念,随后在2009年1月,第一个区块链问世。在这个阶段,人们更多关注的加密货币的交易,区块链仅仅作为底层技术,充当“公共帐薄”的作用。
二、区块链2.0 智能合约时代(2014-2017)
2014年,"区块链2.0”成为去中心化区块链数据库的代名词。在这个阶段,人们主要关注平台的应用。任何人都可以在区块链上上传和执行智能合约,并且执行完毕后会自动获得奖励。由于这个交易过程不需要任何中介,因此人们的隐私得到了极大的保护。
三、区块链3.0 大规模应用时代(2018-)
这个阶段,人们开始构建一个完全去中心化的数据网络,区块链技术的应用也不再局限于经济领域,而是扩大到艺术、法律、房地产、医院、人力资源等领域。
㈤ 数字货币及区块链社会背景是什么
2008年开始中本聪提出了比特币,一种点对点得现金交易系统。从此开始进入了世人的眼中。
㈥ 比特币及区块链的前世今生
伴随着密码学,计算机技术,互联网络,商业,经济学,博弈论,金融,法律,社会学等多学科融合,BTC经过半个多世纪的孕育,在2009年1月3日终于诞生了,经历算法共识,技术共识,规则共识,模式共识,应用共识逐步在一些特殊场景得到应用,然而由此产生的区块链技术似乎还没有找到真正的应用落地之处,其原因在于当前世界各地仍然进行着过去的纷争,不同地域环境,不同国家背景,不同民族习惯导致暂时无法在高速信息交换的平台上达成一致,但是商业上的逐利效应是一致的,所以谁能应用区块链的理念及其规则导入的商业体系,将是占领未来产业战略的的制高点,正是在这一背景下,中国最高领导层在2019年10月24日将区块链上升到国家战略高度。如何将区块链及其属性赋能于各个产业?
㈦ 区块链百科:区块链的前世今生——3.0时代
区块链1.0时代的代表是比特币,2.0时代的代表是以太坊,以及各种山寨跟空气币的乱世时代。而区块链3.0,就是在乱世之后真正进入商业应用、实体应用的消费级别的区块链时代,典型标志是通证(Token)的出现。通证带来了传统商业模式和生产关系的变革,通证从数字世界走向实体经济,开始在各行寻求落地应用。
通证具备三个要素,缺一不可。
通:通证可以在一个网络中大范围的流通,且随时随地可以验证;证:作为数字权益证明,通证必须是以数字形式存在的权益凭证,它必须代表的是一种权利,一种固有和内在的价值;值:通证必须具有经济价值。
如此一来,“通证经济”的意思也就不难理解了。通证经济就是一个基于通证的大规模群体协作,它将通证的作用最大化,让每个创造价值的角色都能够公平地分享价值,充分调动参与动力,形成自组织形态。
区块链 3.0 时代的重大变革
通证经济为区块链的落地大规模应用奠定了理论依据和技术支持,未来的世界也因此而大范围改变,包括:
1. 碎片化投资,碎片化收益,颠覆传统互联网的做生意的方式。在传统互联网时代,作为普通人不可能去参与到一个企业的投资中的,而区块链的出现则可允许普通人对一个大的资产做碎片化投资。假设当初的阿里巴巴采用了区块链做碎片化投资,那么当初所有投资了阿里巴巴的碎片化股东们今天都可以收获一份翻了上千倍的投资回报!
2. 打破互联网的烧钱模式,让所有人成为赢家。传统互联网的免费模式,本质上是通过免费产品获取大量的用户形成垄断和壁垒,然后在此基础上通过广告、增值服务盈利。在区块链3.0时代,通过发行通证,重新分配项目收益,以此吸引更多的早期投资人和社区用户。随着持有通证的用户数越来越多,通证的价值将越来越高,社区用户、投资者和项目都能从中受益。这样一来,传统互联网早期的提供免费服务的烧钱模式也能得以完善,所有人都会成为赢家。
3. 打破传统企业组织层级,自组织形态或成未来趋势。区块链3.0时代,通过智能合约对分配、协作机制的设立,可以做到比企业的效率更高,更准确。所有通证的拥有者会自然形成一个社群,大家都为了同一个目标—“推动项目发展把它做成功”,都是社区的一分子,为社区做贡献,推进通证增值,从而一同获利。从哲学层面来说,这种自由、独立、平等的全新自组织社区必然是未来趋势。Gojoy区块链电商就是一个区块链自组织的社区,每个消费者都是其通证拥有者,是碎片化投资者,从而十分乐意共创共建Gojoy价值。
因此,我们可以憧憬,在区块链3.0通证经济大发展的时代,现有都将可能被颠覆,我们需要做好准备的,是努力去拥抱区块链。要想抓住区块链风口,了解如何转型区块链,请留言交流,带你学习区块链职业认证课程。
㈧ 区块链是什么意思,区块链在跨境支付方面有什么应用
为什么说互联网时代将要结束,区块链时代即将来临?
区块链一旦发展起来,将会迸发更多的创新。作为区块链的第一款产品的比特币自从诞生以后,就相继诞生许多创新。比如小额跨境支付,记录货币间的转账交易,记录各种股票,登记房屋产权,记录程序代码等
蒸汽时代解放了社会生产力,电气时代盘活了社会协作能力,互联网时代把世界联系在一起,而区块链时代,将让我们真正实现自由。
㈨ 区块链技术概念
区块链技术概念
区块链技术概念,现如今,区块链已经成为大部分人关注的领域,很多企业也早已深入其中研究该技术情况,但是还有人对于它不是很了解,下面我分享一篇关于区块链技术概念的相关信息。
区块链技术概念1
区块链的基本概念和工作原理
1、基本概念
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
区块链Blockchain、是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性防伪、和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
2、工作原理
区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
区块链主要解决的交易的信任和安全问题,因此它针对这个问题提出了四个技术创新:
1、分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。 [8]
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
2、非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
3、共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能.
4、智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息包括医疗信息和风险发生的信息、都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔.
3、其它
互联网交换的是信息,区块链交换的是价值。人类历史和互联网历史可以用八个字理解:分久必合合久必分,到了分久必合的时代,网络信息全部散在互联网上面,大家要挖掘信息非常不容易,这时会出现像谷歌和脸 书等的平台,它做的唯一的事情就是把我们所有的信息重新组合了一下。互联网时代垄断巨头们重组的就是信息,并不是产生自己的信息,产生的信息完全是我们个人。一旦信息重组,就会出现一个新的垄断巨人,所以就到了分久必合的时代。现在由于区块链技术产生又到了合久必分时代,又是新的多中心化,新的多中心化之后赋能产生新的价值,这些数据会在我们自己的手上,个人数据产生价值是归自己所有,这是这个时代最最激动人心的时代。
区块链的价值有哪些?低成本建立信任的机制,确立数权,解决数据的.产权。
目前区块链技术不断发展,包括现在的单链向多链发展,而且技术能够在进一步扩展,我想未来还是可能会出现,特别是在交易等方面出现颠覆性的,特别是对现有产业的很多颠覆性的场景。
区块链的本质是在不可信的网络建立可信的信息交换。
一带一路+一链。区块链更大的不是制造信任,而是让信任产生无损的传递,整个降低社会的摩擦成本,从而提高整个效益。
现在区块链本身还是初始阶段,所以包括区块链的信息传递、加密,这个过程中出现量子加密和其他加密,实际上对区块链本身所采用的加密算法攻击现象也时有发生。包括区块链也是作为一种资产的认定,数字资产的一个认定,但是现在我们很多都是用密码算法,或者是作为我们来解密的钥匙,但是如果密码忘记了,很可能你现在的资产就丢掉了,你不能够在得到你原来的这些资产,所以在资产管理,包括信息传递和一些安全这些方面,应该说都还是存在着一些隐患。当然那么从技术角度,现在我们区块链本身处理的速度,或者说本身的扩展性,因为从工作机理的角度来看,是要把整个账本要复制给所有的参与人员,所以在区块链本身的运作效率和扩展性方面还是比较受限的。这些我们觉得都还是需要进一步在技术方面有进一步的发展。
区块链平台这些底层技术,又形成包括区块链钱包、区块链浏览器、节点竞选、矿机、矿池、开发组件、开发模块、技术社区及项目社群等一系列的生态系统,这些生态系统的完善程度直接决定着区块链底层平台的使用效率和效果。
4、蒙代尔的不可能三角
去中心化、高效、安全,不可能实现三者全部同时达到极致。
区块链技术概念2
区块链的本质是一种分布式记账技术,与之相对的是中心式记账技术,中心式记账技术在我们目前的生活中广泛存在。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链Blockchain、,是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性防伪、和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
区块链技术通俗的理解就是:把“物”的前、后、左、右区块用一种技术连接成一个链条,但每个区块的原始数据不可篡改,是一种物联网范畴的、可以让参与者信任的“各个模块链动”的技术。区块链技术的应用,离不开互联道网,也离不开物联网,是建立在二者融合互动基础上的、但又让参与者各自保持独回立的去中心化、、并共同拥有这套价值链共建共享、的技术。
区块链的特征:去中心化、开放性、自治性、信息不可篡改,匿名性。
区块链是一个能够传递价值的网络,对可以传递价值的网络的需求是推动区块链技术产生的重要原因。在对于保护带有所有权或者其他价值的信息需求的推动下,区块链出现了。区块链通过公私钥密码学、分布式存储等技术手段,一方面保证了带有价值的信息的高效传递,另一方面保证了这些信息在传递的过程中不会被轻易的复制篡改。
从区块链诞生的必然性来理解区块链的内涵,区块链是解决了中心化记账缺点、解决了分布式一致性问题的分布式记账技术,同时也是连接互联网升级为保证带有价值的信息安全高效传递的价值网络。
区块链技术概念3
区块链: 区块链就像是一个全球唯一的帐簿,或者说是数据库,记录了网络中所有交易历史。
以太坊虚拟机(EVM): 它让你能在以太坊上写出更强大的程序比特币上也可以写脚本程序、。它有时也用来指以太坊区块链,负责执行智能合约以及一切。
节点:你可以运行节点,通过它读写以太坊区块链,也即使用以太坊虚拟机。完全节点需要下载整个区块链。轻节点仍在开发中。
矿工:挖矿,也就是处理区块链上的区块的节点。这个网页可以看到当前活跃的一部分以太坊矿工:stats.ethdev.com。
工作量证明:矿工们总是在竞争解决一些数学问题。第一个解出答案的(算出下一个区块)将获得以太币作为奖励。然后所有节点都更新自己的区块链。所有想要算出下一个区块的矿工都有与其他节点保持同步,并且维护同一个区块链的动力,因此整个网络总是能达成共识。(注意:以太坊正计划转向没有矿工的权益证明系统(POS),不过那不在本文讨论范围之内。)
以太币:缩写ETH。一种你可以购买和使用的真正的数字货币。这里是可以交易以太币的其中一家交易所的走势图。在写这篇文章的时候,1个以太币价值65美分。
Gas:在以太坊上执行程序以及保存数据都要消耗一定量的以太币,Gas是以太币转换而成。这个机制用来保证效率。
DApp: 以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App)。DApp的目标是(或者应该是)让你的智能合约有一个友好的界面,外加一些额外的东西,例如IPFS可以存储和读取数据的去中心化网络,不是出自以太坊团队但有类似的精神)。DApp可以跑在一台能与以太坊节点交互的中心化服务器上,也可以跑在任意一个以太坊平等节点上。(花一分钟思考一下:与一般的网站不同,DApp不能跑在普通的服务器上。他们需要提交交易到区块链并且从区块链而不是中心化数据库读取重要数据。相对于典型的用户登录系统,用户有可能被表示成一个钱包地址而其它用户数据保存在本地。许多事情都会与目前的web应用有不同架构。)
以太坊客户端,智能合约语言
编写和部署智能合约并不要求你运行一个以太坊节点。下面有列出基于浏览器的IDE和API。但如果是为了学习的话,还是应该运行一个以太坊节点,以便理解其中的基本组件,何况运行节点也不难。
运行以太坊节点可用的客户端
以太坊有许多不同语言的客户端实现即多种与以太坊网络交互的方法、,包括C++, Go, Python, Java, Haskell等等。为什么需要这么多实现?不同的实现能满足不同的需求例如Haskell实现的目标是可以被数学验证、,能使以太坊更加安全,能丰富整个生态系统。
在写作本文时,我使用的是Go语言实现的客户端geth (go-ethereum),其他时候还会使用一个叫testrpc的工具, 它使用了Python客户端pyethereum。后面的例子会用到这些工具。
关于挖矿:挖矿很有趣,有点像精心照料你的室内盆栽,同时又是一种了解整个系统的方法。虽然以太币现在的价格可能连电费都补不齐,但以后谁知道呢。人们正在创造许多酷酷的DApp, 可能会让以太坊越来越流行。
交互式控制台:客户端运行起来后,你就可以同步区块链,建立钱包,收发以太币了。使用geth的一种方式是通过Javascript控制台。此外还可以使用类似cURL的命令通过JSON RPC来与客户端交互。本文的目标是带大家过一边DApp开发的流程,因此这块就不多说了。但是我们应该记住这些命令行工具是调试,配置节点,以及使用钱包的利器。
在测试网络运行节点: 如果你在正式网络运行geth客户端,下载整个区块链与网络同步会需要相当时间。你可以通过比较节点日志中打印的最后一个块号和stats.ethdev.com上列出的最新块来确定是否已经同步。) 另一个问题是在正式网络上跑智能合约需要实实在在的以太币。在测试网络上运行节点的话就没有这个问题。此时也不需要同步整个区块链,创建一个自己的私有链就勾了,对于开发来说更省时间。
Testrpc:用geth可以创建一个测试网络,另一种更快的创建测试网络的方法是使用testrpc. Testrpc可以在启动时帮你创建一堆存有资金的测试账户。它的运行速度也更快因此更适合开发和测试。你可以从testrpc起步,然后随着合约慢慢成型,转移到geth创建的测试网络上 - 启动方法很简单,只需要指定一个networkid:geth --networkid "12345"。这里是testrpc的代码仓库,下文我们还会再讲到它。
接下来我们来谈谈可用的编程语言,之后就可以开始真正的编程了。写智能合约用的编程语言用Solidity就好。
要写智能合约有好几种语言可选:有点类似Javascript的Solidity, 文件扩展名是.sol. 和Python接近的Serpent, 文件名以.se结尾。还有类似Lisp的LLL。Serpent曾经流行过一段时间,但现在最流行而且最稳定的要算是Solidity了,因此用Solidity就好。听说你喜欢Python? 用Solidity。
solc编译器: 用Solidity写好智能合约之后,需要用solc来编译。它是一个来自C++客户端实现的组件又一次,不同的实现产生互补、,这里是安装方法。如果你不想安装solc也可以直接使用基于浏览器的编译器,例如Solidity real-time compiler或者Cosmo。后文有关编程的部分会假设你安装了solc。
web3.js API. 当Solidity合约编译好并且发送到网络上之后,你可以使用以太坊的web3.js JavaScript API来调用它,构建能与之交互的web应用。