区块链
数据结构
区块链(英文名:blockchain或block chain[13])是一种块链式存储、不可篡改、安全可信的去中心化分布式账本,它结合了分布式存储、点对点传输、共识机制、密码学等技术,通过不断增长的数据块链(Blocks)记录交易和信息,确保数据的安全和透明性。
区块链概述
区块链(Blockchain)技术,自从在比特币(Bitcoin)白皮书《比特币:一种点对点电子货币系统(Bitcoin: A Peerto-Peer Electronic Cash System)》一文中被化名为中本聪(Satoshi Nakamoto)的作者提出以来,就受到许多关注且备受争议。有些人认为区块链是继蒸汽机、电力、互联网之后的颠覆性技术发明,将彻底改变整个人类社会价值传递的方式,甚至带来新一轮的科技革命;而有些反对者则认为比特币乃至区块链是一个骗局,或是对其未来充满担忧。
近年来,随着比特币、以太坊(Ethereum)等加密货币的火热,区块链技术在全球范围内得到越来越多的关注。2019年10月24日,中共中央政治局就区块链技术发展现状和趋势进行第十八次集体学习,此后,区块链技术更是吸引了举国上下的目光。区块链技术目前已经应用于多个领域,如金融、物流、食品安全等。尽管不少人对比特币的未来发展仍然充满疑虑,但大多数技术专家非常认可区块链技术的未来,认为其理念的推广与应用最终会超越加密货币,成为时代的热点和前沿技术。
但是,与其火热的应用、受到广泛的关注度和蓬勃的发展相比,普通大众对于区块链的认知尚停留在很简单的层面。人们对于区块链的认识往往是局限于加密数字货币,或者是一项敬而远之、远离日常生活的高新技术。总的来说,区块链技术建立了新的信任机制,允许各网络节点之间在没有权威节点的去中心化情况下达成可信共识,是一项从思想到技术的重大飞跃。
区块链的概念
中本聪在《比特币:一种点对点电子货币系统》一文中,并未给出“区块链”的具体定义,只是提出了一种基于哈希证明的链式区块结构,即称为区块链的数据结构。“区块链”一词也是来源于此,其中“区块”(Block)一词指代一个包含了数据的基本结构单元(块),而链(Chain)则代表了由区块产生的哈希链表。
从狭义上来说,根据工业和信息化部2016年发布的《中国区块链技术和应用发展白皮书》所述,区块链技术是一种按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证不可篡改和不可伪造的分布式账本技术。从广义来说,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。一般认为,区块链技术是伴随着以“比特币”为首的数字货币而出现的一项新兴技术,是一种以密码学算法为基础的点对点分布式账本技术,是分布式存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链包括三个基本要素,即交易(Transaction,一次操作,导致账本状态的一次改变)、区块(Block,记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识)和链(Chain,由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录)。区块链中每个区块保存规定时间段内的数据记录(即交易),并通过密码学的方式构建一条安全可信的链条,形成一个不可篡改、全员共有的分布式账本。通俗地说,区块链是一个收录所有历史交易的账本,不同节点之间各持一份,节点间通过共识算法确保所有人的账本最终趋于一致。区块链中的每一个区块就是账本的每一页,记录了一个批次记录下来的交易条目。这样一来,所有交易的细节都被记录在一个任何节点都可以看得到的公开账本上,如果想要修改一个已经记录的交易,需要所有持有账本的节点同时修改。同时,由于区块链账本里面的每一页都记录了上一页的一个摘要信息,如果修改了某一页的账本(也就是篡改了某一个区块),其摘要就会跟下一页上记录的摘要不匹配,这时候就要连带修改下一页的内容,这就进一步导致了下一页的摘要与下下页的记录不匹配。如此循环,一个交易的篡改会导致后续所有区块摘要的修改,考虑到还要让所有人承认这些改变,这将是一个工作量巨大到近乎不可能完成的工作。正是从这个角度看,区块链具有不可篡改的特性。
区块链的特征
1.去中心化
在中本聪的设计中,每一枚比特币的产生都独立于权威中心机构,任意个人、组织都可以参与到每次挖矿、交易、验证中,成为庞大的比特币网络中的一部分。区块链网络通常由数量众多的节点组成,根据需求不同会由一部分节点或者全部节点承担账本数据维护工作,少量节点的离线或者功能丧失并不会影响整体系统的运行。在区块链中,各个节点和矿工遵守一套基于密码算法的记账交易规则,通过分布式存储和算力,共同维护全网的数据,避免了传统中心化机构对数据进行管理带来的高成本、易欺诈、缺乏透明、滥用权限等问题。普通用户之间的交易也不需要第三方机构介入,直接点对点进行交易互动即可。
2.开放性
区块链系统是开放的,它的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统的信息高度透明。虽然区块链的匿名性使交易各方的私有信息被加密,但这不影响区块链的开放性,加密只是对开放信息的一种保护。
在开放性的区块链系统中,为了保护一些隐私信息,一些区块链系统使用了隐私保护技术,使得人们虽然可以查看所有信息,但不能查看一些隐私信息。
3.匿名性
在区块链中,数据交换的双方可以是匿名的,系统中的各个节点无须知道彼此的身份和个人信息即可进行数据交换。
我们谈论的隐私通常是指广义的隐私:别人不知道你是谁,也不知道你在做什么。事实上,隐私包含两个概念:狭义的隐私(Privacy)与匿名(Anonymity)。狭义的隐私就是别人知道你是谁,但不知道你在做什么;匿名则是别人知道你在做什么,但不知道你是谁。虽然区块链上的交易使用化名(Pseudonym),即地址(Address),但由于所有交易和状态都是明文,因此任何人都可以对所有化名进行分析并建构出用户特征(User Profile)。更有研究指出,有些方法可以解析出化名与IP的映射关系,一旦IP与化名产生关联,则用户的每个行为都如同裸露在阳光下一般。
在比特币和以太坊等密码学货币的系统中,交易并不基于现实身份,而是基于密码学产生的钱包地址。但它们并不是匿名系统,很多文章和书籍里面提到的数字货币的匿名性,准确来说其实是化名。在一般的系统中,我们并不明确区分化名与匿名。但专门讨论隐私问题时,会区分化名与匿名。因为化名产生的信息在区块链系统中是可以查询的,尤其是在公有链中,可以公开查询所有的交易的特性会让化名在大数据的分析下完全不具备匿名性。但真正的匿名性,如达世币、门罗币、Zcash等隐私货币使用的隐私技术才真正具有匿名性。
匿名和化名是不同的。在计算机科学中,匿名是指具备无关联性(Unlinkability)的化名。所谓无关联性,就是指网络中其他人无法将用户与系统之间的任意两次交互(发送交易、查询等)进行关联。在比特币或以太坊中,由于用户反复使用公钥哈希值作为交易标识,交易之间显然能建立关联。因此比特币或以太坊并不具备匿名性。这些不具备匿名性的数据会造成商业信息的泄露,影响区块链技术的普及使用。
4.可追溯性
区块链采用带时间戳的块链式存储结构,有利于追溯交易从源头状态到最近状态的整个过程。时间戳作为区块数据存在的证明,有助于将区块链应用于公证、知识产权注册等时间敏感领域。
5.透明性
相较于用户匿名性,比特币和区块链系统的交易和历史都是透明的。由于在区块链中,账本是分发到整个网络所有参与者,账本的校对、历史信息等对于账本的持有者而言,都是透明的、公开的。
6.不可篡改性
比特币的每次交易都会记录在区块链上,不同于由中心机构主宰的交易模式,其中心机构可以自行修改任意用户的交易信息,比特币很难篡改。
7.多方共识
区块链作为一个多方参与维护的分布式账本系统,参与方需要约定数据校验、写入和冲突解决的规则,这被称为共识算法。比特币和以太坊作为公有链当前采用的是工作量证明算法(PoW),应用于联盟链领域的共识算法则更加灵活多样,贴近业务需求本身。
区块链技术发展历史
区块链技术发展脉络
1.区块链1.0
1.0时代是以比特币为代表的虚拟数字货币时代,实现了数字货币的应用,包括支付流通等货币职能和去中心化的支付手段。比特币描述了一个宏伟的蓝图,未来的货币不再依赖于各国央行发行,而是全球统一的货币。
2.区块链2.0
2.0时代是智能合约的时代,智能合约与数字货币结合在金融领域有着更广泛的应用场景,区块链实现的点对点操作避免了第三方的介入,可以避免环境、跨国、跨行、货币转换等问题,直接实现点对点的转账,提高了金融系统的效率。区块链2.0的代表是以太坊,以太坊提供了一个智能合约编程环境,用户通过开发智能合约实现了各种复杂逻辑,提供了广泛的商业、非商业应用场景。
3.区块链3.0
3.0时代是指将区块链技术应用于金融之外行业的时代,区块链3.0被称为互联网技术之后的新一代技术创新,可以推动更大的产业改革。区块链3.0会涉及社会生活的各个方面,会在数据存储、数据鉴证、资产管理、选举投票等领域得到广泛应用,促进信息、资源、价值的流通和有效配置。
区块链技术发展历程
1.比特币产生之前(1970-2008年)
1976年,Bailey W.Diffie和Martin E.Hellman发表了论文《密码学的新方向》,论文覆盖了未来几十年密码学所有的新的进展领域,包括非对称加密、椭圆曲线算法、哈希等,该论文奠定了迄今为止整个密码学的发展方向,也对区块链的技术和比特币的诞生起到决定性作用。哈耶克出版了他人生中最后一本经济学方面的专著:《货币的非国家化》。该书提出的非主权货币、竞争发行货币等理念,是去中心化货币的精神指南。
1980年,Merkle Ralf提出了Merkle-Tree这种数据结构和相应的算法。
1982年,拜占庭将军问题由Leslie Lamport等提出,这是一个点对点通信中的基本问题。
1982年,密码学网络支付系统由David Chaum提出,该系统注重隐私安全,具有不可追踪的特性。
1990年,Paxos算法由Leslie Lamport提出,这是一种基于消息传递的一致性算法。
1991年,Stuart Haber与W.Scott Stornetta于1991年提出利用时间戳确保数位文件安全的协议。
1997年,哈希现金技术由Adam Back发明。哈希现金运用的一种PoW算法通过依赖成本函数的不可逆性,从而实现容易被验证但很难被破解的功能,最早应用于拦截垃圾邮件。
1998年,戴伟于1998年发表匿名的分散式电子现金系统b-money,引入PoW机制,强调点对点交易和不可篡改特性,每个节点分别记录自己的账本。
2004年,哈尔·芬尼推出了自己的电子货币,在其中采用了可复用的工作量证明机制(RPoW)。
2.比特币的诞生与发展(2008-2010年)
2008年9月,以雷曼兄弟的倒闭为开端,金融危机在美国爆发并向全世界蔓延。为应对危机,世界各国政府和中央银行采取了史无前例的财政刺激方案和扩张的货币政策并对金融机构提供紧急援助、这些措施同时引起了广泛的质疑。
2008年11月1日,中本聪发布比特币白皮书。
2008年11月16日,中本聪发布了比特币代码的先行版本。
2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了比特币的第1个区块——创世区块(Genesis Block),并获得了首批“挖矿”奖励——50个比特币。
2009年1月11日,比特币客户端0.1版发布。
2009年1月12日,第一笔比特币交易,中本聪将10枚比特币发送给密码学界活跃的开发者哈尔·芬尼。
2009年10月5日,最早的比特币与美元的汇率为1美元=1309.03比特币,由一位名为“新自由标准”(New Liberty Standard)的用户发布。一枚比特币的价值计算方法如下:由高CPU利用率的计算机运行一年所需要的平均电量1331.5千瓦时,乘以上年度美国居民平均用电成本0.1136美元,除以12个月,再除以过去30天里生产的比特币数量,最后除以1美元。
2009年12月30日,比特币挖矿难度首次增长,为了保持每10分钟1个区块的恒定开采速度,比特币网络进行了自我调整,挖矿难度变得更大。
2010年5月22日,一个程序员用10000个比特币购买了两张比萨的优惠券。当时一
枚比特币价值仅为0.005美分。后来很多的人将5.22日称为“比特币比萨日”。
2010年7月12日,比特币价格第一次剧烈波动,2010年7月12日到7月16日,比特币汇率经历了为期5天的价格剧烈波动时期,从0.008美元/比特币上涨到0.08美元/比特币,这是比特币汇率发生的第一次价格剧烈波动。
2010年7月12日,GPU挖矿开始。由于比特币的汇率持续上升,积极的矿工们开始寻找提高计算能力的方法。专用的图形卡比传统的CPU具有更多的能量。据称,矿工ArtForz是第一个成功实现在矿场上用个人的OpenCL GPU挖矿的人。
2010年7月17日,第一个比特币交易平台Mt. Gox成立。
2010年8月6日,比特币网络协议升级。比特币协议中的一个主要漏洞于2010年8月6日被发现:交易信息未经正确验证,就被列入交易记录或区块链。这个漏洞被人恶查利用,生成了1840亿枚比特币,并被发送到两个比特币地址上。这笔非法交易很快就被发现、漏洞在数小时内修复,在交易日志中的非法交易被删除,比特币网络协议也因此升级至更新的版本。
2010年10月16日,出现了第一笔托管交易。比特币论坛会员Diablo-D3和Nanotube于2010年10月16日进行了第一笔有记录的托管交易,托管人为Theymos。
2010年12月5日,比特币第一次与现实的金融社区产生交集。在维基解密泄露美国外交电报事件期间,比特币社区呼吁维基解密接受比特币捐款以打破金融封锁。中本聪表示坚决反对,认为比特币还在摇篮中,经不起冲突和争议。
2010年12月16日,比特币矿池出现,采矿成为一项团队运动,一群矿工于2010年12月16日一起在slush矿池挖出了它的第一个区块。根据其贡献的工作量,每位矿工都获得了相应的报酬。此后的两个月间,slush矿池的算力从1400Mhash/s增长到了60Ghash/s。
3.对比特币的质疑与关注(2011-2014年)
2011年2月9日,比特币首次与美元等价。
2011年3月6日,比特币全网计算速度达到900G Hash/s,显示“挖矿”流行起来。
2011年6月20日,世界上最大的比特币交易网站Mt.Gox出现交易漏洞,1比特币只卖1美分,而此前的正常价格在15美元左右。Mt.Gox一方面号召用户赶紧修改密码,另一方面宣布这一反常时段内的所有大单交易无效。
2011年6月29日,比特币支付处理商BitPay于2011年6月29日推出了第一个用于智能手机的比特币电子钱包。
2011年7月,当时世界第三大比特币交易所Bitomat丢失了17000枚比特币。
2011年8月,MyBitcoin遭黑客攻击,涉及49%的客户存款,超过78000个比特币。
2011年8月20日,第一次比特币会议在纽约召开。
2012年8月14日,芬兰中央银行承认比特币的合法性。
2012年9月27日,比特币基金会成。
2012年11月25日,欧洲第一次比特币会议召开。
2012年11月28日,区块奖励首次减半。
2012年12月26日,法国比特币中央交易所诞生。
2013年7月30日,泰国封杀比特币。
2013年8月19日,德国承认比特币的合法性。
2013年11月29日,比特币价格首度超过黄金。
2013年12月,支付宝停止接受比特币付款。
2013年12月5日,中国人民银行等五部委发布《关于防范比特币风险的通知》,明确比特币不具有与货币等同的法律地位,不能且不应作为货币在市场上流通使用。通知发出后,当天比特币的单价大跌[83]。
2013年12月18日,比特币单价暴跌。中国两大比特币交易平台比特币中国和OKCoin发布公告,宣布暂停人民币充值服务。随后,比特币的单价跌到了2011元。
2013年年末,以太坊创始人Vitalik Buterin发布了以太坊初版白皮书,启动了项目。
2014年7月9日,波兰财政部副部长Wojciech Kowalczyk发布了一个文件,确认了比特币在波兰现有的金融法规下可作为一种金融工具。
2014年7月12日,法国发布比特币新规。法国经济和金融部门表示将在当年年底对比特币和其他数字货币的金融机构和个人使用者实施监管措施。
2014年7月24日起,以太坊进行了为期42天的以太币预售。
2014年12月11日,微软接受比特币支付。
4.区块链成为热门话题(2015-2023年)
2015年,比特币突破1P Hash/s的全网版图。
2015年,IBM宣布加入开放式帐本项目。
2015年,微软公司宣布支持区块链服务。
2015年6月,坦桑德银行进行区块链实验。
2015年10月22日,欧盟对比特币免征增值税。
2015年12月16日,比特币证券发行。美国证券交易委员会批准在线零售商Overstock通过比特币区块链发行该公司的股票。
2016年初,以太坊的技术得到市场认可,价格开始暴涨,吸引了大量开发者以外的人进入以太坊的世界。
2016年4月5日,去中心化电子商务协议OpenBazaar上线。
2016年5月25日,日本认定比特币为财产。
2016年6月,民法总则划定虚拟资产保护范围。第十二届全国人大常委会第二十一次会议于2016年6月在北京举行,会议首次审议了全国人大常委会委员长提请的《中华人民共和国民法总则(草案)》议案的说明。草案对网络虚拟财产、数据信息等新型民事权利客体作出了规定,这意味着网络虚拟财产、数据信息将正式成为权利客体,比特币等网络虚拟财产将正式受到法律保护。
2016年7月20日,比特币奖励二次减半。
2017年2月,中国央行数字货币DCEP试运行。中国央行或将成为全球首个发行数字货币并将其投入真实应用的中央银行。
2017年2月26日,中国区块链应用研究中心(上海)正式揭牌成立。
2017年3月24日,阿里巴巴与普华永道签署了一项跨境食品溯源的互信框架合作,将应用区块链等新技术共同打造透明可追溯的跨境食品供应链,搭建更为安全的食品市场。
2017年4月,腾讯发布区块链方案白皮书,旨在打造区块链生态。
2017年4月1日,比特币正式成为日本合法支付方式。
2017年4月25日,首个“区块链大农场”推介会在上海举办。
2017年5月31日,中国三大比特币交易所之二的火币网及OKCoin币行正式上线以太坊。
2017年9月4日下午,中国人民银行等七部委联合发布公告:ICO是未经批准非法融资行为。ICO在中国被叫停。
2018年,比特币价格从最高的19000美元,下滑到3000多美元,跌幅超过80%。
2018年初,Facebook CEO马克·扎克伯格宣布探索加密技术和虚拟加密货币技术,亚马逊、谷歌、IBM等也相继入场。国内市场方面,国内腾讯、京东、阿里巴巴等互联网巨头也都接连宣布涉足区块链,迅雷更是通过提前布局云计算与区块链实现了企业的转型与业务的快速增长。
2018年1月22日,英国技术发展部门相关人士表示,英国将投资1900万英镑用于支持区块链等新兴科技领域的新产品或服务。
2018年1月27日,“CIFC区块链联盟”成立仪式在北京举行。
2018年3月11日,召开“第二期CIFC区块链技术与应用实践闭门会”。
2018年3月31日,召开“2018首届‘区块链+’百人峰会暨CIFC区块链与数字经济论坛”。
2018年4月9日下午,雄岸100亿元基金成立,中国杭州区块链产业园启动仪式在杭州未来科技城举行,首批10家区块链产业企业集中签约入驻。
2018年4月,百度图腾正式上线,实现原创作品可溯源、可转载、可监控。次月,百度百科上链,利用区块链不可篡改特性保持百科历史版本准确存留。
2018年5月12日,乌镇普众区块链学院正式揭牌成立。
2018年5月25日,360首次发布针对区块链领域的安全解决方案。该方案基于360的安全大数据,结合360安全大脑,涵盖了钱包、交易所、矿池、智能合约四大领域。
2018年5月28日,中国国家主席习近平在中国科学院第十九次院士大会、中国工程院第十四次院士大会上发表重要讲话,表示区块链与人工智能、量子信息、移动通信、物联网并列为新一代信息技术的代表。
2018年5月底,北京、上海、广东、河北(雄安)、江苏、山东、贵州、甘肃、海南等24个省市或地区发布了区块链政策及指导意见,多个省份将区块链列入本省“十三五”战略发展规划,开展对区块链产业链布局[82]。
2018年6月25日,蚂蚁金服宣布推出基于区块链技术的电子钱包跨境汇款业务,首次跨境业务开展于香港地区和菲律宾的个人转账业务,实现香港地区向菲律宾汇款能做到3秒到账。
2018年9月3日,最高人民法院印发《关于互联网法院审理案件若干问题的规定》首次认定链上数据可以作为司法采信的依据。
2019年1月,百度运用区块链等技术将北京海淀公园升级改造完毕,推出了全国首个AI公园。
2019年6月18日,Facebook牵头发布全球数字加密货币项目Libra白皮书。
2019年9月,德国发布其“国家区块链发展战略”。
2019年11月,欧盟委员会宣布针对欧洲人工智能和以区块链为重点的初创公司的新投资计划。
2020年2月,澳大利亚发布《国家区块链发展路线图》。
2020年3月,韩国科学与ICT部宣布发起《区块链技术验证支撑计划2020》。
2021年3月公布的《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》中,区块链被列为七大新兴数字产业之一,明确提出了区块链技术创新、应用发展、监管机制完善的三大重点任务,特别强调了以联盟链为重点发展金融科技应用。
2021年7月19日,农业农村部信息中心牵头在山东省潍坊市开展“区块链+韭菜”试点。
2022年1月,亚洲开发银行与东南亚国家、日本、中国、韩国组成联盟,基于区块链实现在“10+3”地区的中央银行和证券存管机构数据互联互通。
2022年5月,最高人民法院发布《关于加强区块链司法应用的意见》,提出充分发挥区块链在促进司法公信、服务社会治理、防范化解风险、推动高质量发展等方面的作用,全面深化智慧法院建设,推进审判体系和审判能力现代化。
2022年9月,以太坊完成合并升级,从PoW共识迁移至PoS共识,大幅提升其性能、安全性和可扩展性,能耗降低99.95%。
2022年9月,Github上的流行区块链项目(关注度大于300)数量达到761项。
2022年10月,国务院办公厅印发全国一体化政务大数据体系建设指南,提出积极运用云计算、区块链、人工智能等技术提升数据治理和服务能力,加快政府数字化转型,提供更多数字化服务。
2023年5月16日,上海树图区块链研究院与中国电信股份有限公司研究院联合研发的BSIM卡(区块链SIM卡)在上海对外发布。BSIM卡比SIM卡存储空间扩大10倍至20倍,计算能力提升数十倍,实现卡内生成和存储用户的公私钥。
2023年5月25日,2023中关村论坛开幕式发布十项重大科技成果,其中涉及区块链和量子计算等领域。
2023年8月25日,2023中国产业区块链峰会在南京市鼓楼区召开,《中国产业区块链发展报告(2023)》和《2023中国产业区块链生态图谱》发布。《中国产业区块链发展报告(2023)》显示,2022年国际级重要区块链政策对比过去有所下降,产业区块链从政策引领过渡至产业自驱动阶段。但2022年区块链专利申请数量仍处于较高水平,技术与应用创新仍处于高速发展期。
2023 年 9 月,经营范围涉及云计算、大数据、人工智能、区块链等数字技术的企业超过 53 万家。从产业链供应链数字经济重点项目来看,2022 年新增重点项目数达到 912 个,占比约为 46.18%,新增重点项目数保持高速增长。
2023年11月1日,社交平台telegram发起的区块链项目TON达到历史最高出块速度,每秒钟最快记录是108409个区块。
区块链的分类
根据去中心化程度,区块链系统可以分为公有链、联盟链和私有链三类,这三类区块链的对比如下表所示。
公有链
由于公有链系统对节点是开放的,公有链通常规模较大,所以达成共识难度较高,吞吐量较低,效率较低。在公有链环境中,由于节点数量不确定,节点的身份也未知,因此为了保证系统的可靠可信,需要确定合适的共识算法来保证数据的一致性和设计激励机制去维护系统的持续运行。典型的公有链系统有比特币、以太坊。
联盟链
联盟链通常是由具有相同行业背景的多家不同机构组成的,其应用场景为多个银行之间的支付结算、多种企业之间的供应链管理、政府部门之间的信息共享等。联盟链中的共识节点来自联盟内各个机构,且提供节点审查、验证管理机制,节点数目远小于公有链,因此吞吐量较高,可以实现毫秒级确认;链上数据仅在联盟机构内部共享,拥有更好的安全隐私保护。联盟链有Hyperledger、Fabric、Corda平台和企业以太坊联盟等。
私有链
私有链通常部署于单个机构,适用于内部数据管理与审计,共识节点均来自机构内部。私有链一般网络规模更小,因此比联盟链效率更高,甚至可以与中心化数据库的性能相当。联盟链和私有链由于准入门槛的限制,可以有效地减小恶意节点作乱的风险,容易达成数据的强一致性。
区块链的架构
2016年袁勇和王飞跃提出了区块链基础架构的“六层模型”,从底层到上层依次是数据层、网络层、共识层、激励层、合约层和应用层。数据层包括区块结构和数据加密等技术;网络层包括网络结构、数据传播技术和验证机制等;共识层包括PoW(工作量证明)、PoS(权益证明)、DPoS(授权股份证明)等多个网络节点之间的共识机制;激励层包括激励的发行和分配机制;合约层包括各种脚本代码和智能合约;应用层包括数字货币等应用场景。
数据层
数据层负责区块链数据结构和物理存储,区块链的数据结构表示为交易被排序的区块链表。区块记录一段时间内的交易记录,将一段时间内收到的交易记录封装到一个数据区块中,在区块的头部包含块的元数据,元数据主要包括区块当前版本、父区块的哈希值、 Merkle树根哈希(用于有效总结区块中所有交易的数据结构)、区块创建时间、区块当前难度和一个随机值)区块头用于验证区块的有效性。每个区块头都连接着前一个区块,这使得区块中的每一个交易都有据可查,区块的哈希值能够唯一标识区块,将区块按照区块头中的哈希指针链接成一个链,就是区块链。
区块链中通常保存数据的哈希值,而不是直接保存原始的数据。由于哈希函数不能反推出输入值,计算过程消耗的时间大约相同,输出值长度固定,输入的任何变动都会导致输出显著不同,因而其非常适合用于存储区块数据。例如比特币通常使用双SHA256哈希函数。
Merkle树是区块链数据层的一种重要数据结构,区块链中交易的哈希值存储为Merkle树的一部分。Merkle树通过生成整个交易集的数字指纹来汇总块中的所有交易,从而使用户能够验证交易是否包含在块中。Merkle树逐层记录哈希值的特点使底层数据的任何变动,都会传递到其父节点,一层层沿着路径一直到树根,这意味着树根的值实际上代表了对底层所有数据的数字摘要,实现了块内交易数据的不可篡改性。Merkel树使得区块头只需要包含根哈希值,而不必封装所有底层数据,从而极大地提高了区块链的运行效率和可扩展性。此外Merkel树支持“简化支付验证”,可以在不运行完整区块链网络节点的情况下完成对数据的检验。
网络层
网络层实现了区块链网络中节点之间的信息交流,属于分布式存储技术。区块链的点对点机制、数据传播机制、数据验证机制、分布式算法和加密签名等都是在网络层实现的。区块链网络中没有中心节点,任意两个节点间可直接进行交易,任何时刻每个节点都可自由地加入或退出网络,因此,区块链平台通常选择完全分布式且可容忍单点故障的P2P协议作为网络传输协议。
区块链网络的P2P协议主要用于节点间传输交易数据和区块数据。在区块链网络中,每个节点都具有平等、分治、分布等特性和路由发现、广播交易、发现新节点等功能,不存在中心化的权威节点和层级结构。节点之间通过维护一个共同的区块链结构来保持通信,共同维护整个区块链账本。按照节点中存储的数据量,节点可以划分为全节点和轻量级节点,全节点中保存有完整的区块链数据,并且实时动态更新主链,这样的优点是可以独立完成区块数据的校验、查询和更新,缺点是空间成本高;轻量级节点仅保存部分区块数据,需要从相邻节点获取所需的数据才能完成区块数据校验。
节点时刻监听网络中广播的数据,当新的区块生成后,生成该区块的节点会向全网广播,其他节点收到发来的新交易和新区块时,其首先会验证这些交易和区块是否有效,包括交易中的数字签名、区块中的工作量证明等,只有验证通过的交易和区块才会被处理和转发,以防止无效数据的继续传播。
共识层
共识层负责让高度分散的节点在去中心化的区块链网络中高效地针对区块数据的有效性达成共识,封装了区块链系统中使用的各类共识算法。区块链系统的核心是区块链账本数据的维护,因此,共识的过程是各节点验证及更新账本的过程,共识的结果是系统对外提供一份统一的账本。
由于区块链系统未对参与节点的身份进行限制,网络中的节点可能为了利益进行欺骗、作恶,所以为了避免恶意节点,系统要求每一次记账都需要付出一定的代价,而其余的节点只要很小的代价就可以验证。“代价”有很多种形式,如计算资源、存储资源、特殊硬件等。公式算法机制包括工作量证明(PoW)、权益证明(PoS)、授权股份证明(DPoS)等。
工作量证明要求每个节点都使用自身算力解决SHA256计算难题,寻找一个合适的随机
数使得区块头部元数据的SHA256哈希值小于区块头中难度目标的设定值,难度目标越大
合适的随机数越难找到,首先找到的节点可以获得新区块的记账权并获得奖励。SHA256计算难题的解决很困难,但是验证非常容易,这样其他节点可以快速地验证新区块,如果正确就将该区块加入区块链中并开始构建下一个区块。PoW机制将奖励和共识过程融合,使更多节点参与进来并保持诚信,从而增强了网络的可靠性和安全性。对于PoW机制来说,若要篡改和伪造区块链中的某个区块,就必须对该区块及后续的所有区块重新寻找块头的随机数,并日使该分支链的长度超过主链,这要求攻击者至少掌握全网51%以上的算力,因此攻击难度非常大。PoW机制的实质是通过牺牲性能来换取数据的一致性和安全性,所以基于PoW机制的区块链平台的性能相对较低。
权益证明是利用节点持有的代币信息来选取记账节点的算法。通过选举的形式,其中任意节点被随机选择来验证下一个区块,要成为验证者,节点需要在网络中存入一定数量的货币作为权益,权益的份额大小决定了被选为验证者的概率,从而得以创建下一个区块。验证者将检查区块中的交易是否有效,若有效则将该区块添加到区块链中,同时该节点获得一定的利益,若通过了非法的交易,则该节点会失去一部分权益,这样节点就会以保护自己权益的目的诚实地进行记账。相较于PoW,PoS解决了算力浪费的问题,并能够缩短达成共识所需的时间,这使得许多数字货币采用PoS共识机制。
授权股份证明是由PoS演变而来的,拥有数字货币的节点通过抵押代币获得选票,通过投票的方式选出一些节点作为出块节点,负责对交易打包生成区块,让更有能力的节点胜任生成区块的工作,类似于公司的董事会制度。在每一轮共识中,从出块节点中轮流选出一个节点生成区块,并广播给其他的区块进行验证。若节点无法在规定时间内完成生成区块的任务或生成的区块无法经过验证,则会被取消资格。与PoW机制中的信任高算力节点和PoS机制中的信任高权益节点不同,DPoS机制中每个节点都可以自主地选择信任的节点,大大地减少了参与记账和验证的节点数量,可以实现快速共识验证。
激励层
激励层主要包括发行机制和分配机制,通过奖励部分数字资产来鼓励节点参与区块链的安全验证工作,从而维护挖矿活动以及账本更新持续进行。去中心化系统中的共识节点都是以自身利益最大化为目标的,因此必须使共识节点自身利益最大化与保证区块链系统安全和有效的目标相吻合。
公有链依赖全网节点共同维护数据,节点不需要进行认证,可以随时加入、退出这个网络,CPU、存储、带宽等资源,所以需要有一定的激励机制来确保矿工在记账的过程记账需要消耗中能有收益,以此来保证整个区块链系统朝着良性循环的方向发展。在联盟链中,所有节点都是已经经过组织认证的节点,不需要额外的激励,这些节点也会自发地维护整个系统的安全和稳定。
以比特币系统为例,发行机制是指每个区块发行的比特币数量随时间阶段性递减,每21万个区块之后每个区块发行的比特币数量减半,最终比特币总量达到2100万的上限,同时每次比特币交易都会产生少量的手续费。PoW共识会将新发行的比特币和交易手续费作为激励,奖励给成功找到合适的随机数并完成区块打包工作的节点,因此只有所有共识节点共同维护比特币系统的有效性和安全性,其拥有的比特币才会有价值。分配机制是指大量小算力节点加入矿池,通过合作来提高挖到新区块的概率,并共享该区块的比特币和手续费奖励。
合约层
合约层负责封装区块链系统的脚本代码、算法和智能合约,是实现区块链系统编程和操作数据的基础。出现较早的比特币系统使用非图灵完备的简单脚本代码来实现数字货币的交易过程,这是智能合约的雏形,目前如以太坊已经实现了图灵完备的智能合约脚本语言,使区块链可以实现宏观金融和社会系统等更多应用。
智能合约是一种用算法和程序来编写合同条款、部署在区块链上并且可以按照规则自动执行的数字化协议。理想状态下的智能合约可以看作一台图灵机,是一段能够按照事先的规则自动执行的程序,不受外界人为干预。它的存在是为了让一组复杂的、带有触发条件的数字化承诺能够按照参与者的意志,正确执行。
区块链系统提供信任的环境,使得智能合约的概念得以实现,各用户对规则协商一致后创建合约代码,并将该合约代码上链,一旦满足触发条件,合约代码将由矿工按照预设规则执行。区块链的去中心化使得智能合约在没有中心管理者参与的情况下,可同时运行在全网所有节点,任何机构和个人都无法将其强行停止。智能合约拓展了区块链的功能,丰富了区块链的上层应用,允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
应用层
比特币平台上的应用主要是基于比特币的数字货币交易。以太坊除了基于以太币的数字货币交易外,还支持去中心化应用(Decentralized Application,Dapp),Dapp是由JavaScript构建的Web前端应用,通过JSON-RPC与运行在以太坊节点上的智能合约进行通信。Hyperledger Fabric主要面向企业级的区块链应用,并没有提供数字货币,其应用可基于Go、Java、Python、Node.js等语言的SDK构建,并通过gRPC或REST与运行在Hyperledger Fabric节点上的智能合约进行通信。
典型区块链系统
Bitcoin
比特币是一种基于去中心化,采用点对点网络与共识主动性,开放源代码,以区块链作为底层技术的加密货币,是最早应用区块链技术的系统。比特币系统是一种电子支付系统,它不是基于权威机构的信用,而是基于密码学原理,使任何达成一致的交易双方都可以直接进行支付,不需要任何第三方机构的参与。比特币的主要概念包括交易、时间戳服务器、工作量证明、网络、激励等。
交易是比特币系统中最重要的部分。比特币中的其他一切都是为了确保交易可以被创建、在网络上传播、被验证,并最终添加到全局交易分类账本(区块链)中。比特币交易的本质是数据结构,这些数据结构是对比特币交易参与者价值传递的编码。比特币区块链是一本全局复式记账总账簿,每个比特币交易都是在比特币区块链上的一个公开记录。比特币将电子币定义为数字签名链,币的转移是通过所有者对前一笔交易和下一个所有者的公匙进行签名,并将这两个签名放到币的末端来实现的。收款人可以通过验证签名来验证链所有权。
比特币采用了非对称加密技术,公钥就是用户的账户号码,当用户要消费比特币时,需要用私钥进行签名,系统会用账户号码也就是公钥验证签名是否正确,并且根据用户的账户号码从历史的交易中计算出当前账户中的真实金额,确保用户操作的资金在账户真实金额之内每一条交易记录都需要用私钥签名,系统用公钥验证签名是否正确,验证正确则认为合法,再验证插入的记录中转账金额是否正确,验证的方式是对该公钥以往的所有交易记录进行计算,得出该账户当前的金额,如果不超过该金额则为合法。这种机制保证只能对自己的账户进行操作,再结合P2P网络结构下的最终一致性原则,以及账本的链式结构,一个攻击者需要算力超过目前的集群才能创建另外一个账本分支,并且攻击者也只能更改自己的账户,所以这种攻击的收益极低,而对于比特币系统来说,强大的算力让比特币系统更加稳健了。
比特币通过算力竞争的工作量证明机制使各节点来解决一个求解复杂但验证简单的SHA256数学难题,最快解决该难题的节点会获得区块记账权和该区块生成的比特币作为奖励。此难题可以理解为根据当前难度值通过暴力搜索找到一个合适的随机数(Nonce),使得区块头各元数据的双SHA256值小于等于目标值。比特币系统会自动调整难度值以保证区块生成的平均时间为10分钟。符合要求的区块头哈希值通常由多个前导零构成,难度值越大,区块头哈希值的前导零越多,成功找到合适的随机数并挖出新区块的难度越大。
比特币采用了基于互联网的点对点(P2P)网络架构,网络中的每一个节点都是平等的,不存在任何中心化服务和层级结构,以扁平的拓扑结构相互连通。当新的区块生成后,生成该区块的节点会将区块数据广播到网络中,其他节点加以验证。比特币的区块数据传播主要包括以下步骤。
(1)向全网所有节点广播新的交易。
(2)每个节点都将收集到新的交易并打包到一个区块中。
(3)每个节点都致力于为它的区块找到一个有难度的工作量证明。
(4)当一个节点找到工作量证明后,就将该区块广播给所有节点。
(5)只有区块中所有的交易都有效并且之前不存在,其他节点才会接受这个区块。
(6)其他节点通过用已接受区块的哈希值作为前一个哈希值,在链中创造新区块,来表示它们接受了这个区块。
所有节点都将最长的链条视为正确的链,并且继续延长它,如果两个节点同时广播了不同会选择的新区块,这时两个区块都会保留,链上出现分支,当每个分支都继续变长后,所有节点会选最长的一个分支作为主链,继续在它后面创造区块。
比特币每个区块的第一笔交易中都包含了支付给创造者的新发行的比特币和其他交易手续费,这样会激励节点更加支持比特币系统,这是在没有中央集权机构发行货币的情况下将电子货币分配到流通领域的一种方法,类似于开采金矿将黄金注入流通领域。激励系统有利于使节点保持诚实,如果恶意的攻击者拥有比诚实节点更多的总算力,他会发现破坏这个系统会让自身财富受损,而保持诚实会让他获得更多的电子货币。
Ethereum
以太坊(Ethereum)是将比特币中的技术和概念运用于计算领域的一项创新。比特币被认为是一个系统,该系统维护了一个安全地记录了所有比特币账单的共享账簿。以太坊利用很多跟比特币类似的机制(比如区块链技术和P2P网络)来维护一个共享的计算平台,这个平台可以灵活且安全地运行用户想要的任何程序(包括类似比特币的区块链程序)。以太坊的特性包括以下几方面。
1.以太坊账户
在以太坊系统中,状态是由被称为“账户”(每个账户都有一个20字节的地址)的对象和在两个账户之间转移价值和信息的状态转换构成的。以太币(Ether)是以太坊内部的主要加密货币,用于支付交易费用。一般而言,以太坊有两种类型的账户:外部所有的账户(由私钥控制)和合约账户(由合约代码控制)。外部所有的账户没有代码,人们可以通过创建和签名一笔交易从一个外部账户发送消息。每当合约账户收到一条消息时,合约内部的代码就会被激活,允许它对内部存储进行读取和写入,发送其他消息或者创建合约。
2.消息和交易
以太坊的消息在某种程度上类似于比特币的交易,但是两者之间存在三点重要的不同。
第一,以太坊的消息可以由外部实体或者合约创建,然而比特币的交易只能从外部创建。第二,以太坊消息可以选择包含数据。第三,如果以太坊消息的接收者是合约账户,可以选择进行回应,这意味着以太坊消息也包含函数概念。以太坊中“交易”是指存储从外部账户发出的消息的签名数据包。交易包含消息的接收者、用于确认发送者的签名、以太币账户余额、要发送的数据和两个被称为STARTGAS和GASPRICE的数值。
3.代码执行
以太坊合约的代码使用低级的基于堆栈的字节码语言写成,被称为“以太坊虚拟机代码”或者“EVM代码”。代码由一系列字节构成,每一个字节都代表一种操作。一般而言,代码执行是无限循环的,程序计数器每增加一(初始值为零)就执行一次操作,直到代码执行完毕或者遇到错误。
4.应用
一般来讲,以太坊之上有三类应用。第一类是金融应用,为用户提供更强大的用他们的钱管理和参与合约的方法,包括子货币、金融衍生品、对冲合约、储蓄钱包、遗嘱,甚至一些种类全面的雇佣合约。第二类是半金融应用,这里有金钱的存在,但也有很大比例的非金钱方面,一个完美的例子是为解决计算问题而设的自我强制悬赏。第三类是在线投票和去中心化治理这样的完全非金融应用。
各种各样的金融合约——从简单的实体资产(黄金、股票)数字化应用,到复杂的金融衍生品应用,面向互联网基础设施的更安全的更新与维护应用(比如DNS和数字认证),不依赖中心化服务提供商的个人线上身份管理应用(因为中心化服务提供商很可能留有某种后门,并借此窥探个人隐私)。除了已经被很多创业团队实现出来的上百种区块链应用以外,以太坊也被一些金融机构、银行财团,以及类似三星、Deloitte、RWE和IBM这类的大公司所密切关注,由此也催生了一批诸如简化和自动化金融交易、商户忠诚指数追踪、旨在实现电子交易去中心化的礼品卡等区块链应用。
Libra
Libra(已经改名为Diem)是Facebook提出的一种支付体系,旨在建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施。Libra由三个部分组成,它们共同作用,创造了一个更加普惠的金融体系:
(1)它建立在安全、可扩展和可靠的区块链基础上;
(2)它以赋予它内在价值的资产储备为后盾;
(3)它由独立的Libra协会治理,该协会的任务是促进此金融生态系统的发展。
Libra/Diem币建立在安全、可扩展和可靠的区块链基础上,由现金、现金等价物和非常短期的政府证券组成的储备金支持,由独立的Libra/Diem协会及其附属网络进行管理、开发及运营。它旨在面向全球受众,所以实现Libra/Diem区块链的软件是开源的,以便所有人都可以在此基础上进行开发,且数十亿人都可以依靠它来满足自己的金融需求。随着智能手机和无线数据的激增,越来越多的人将通过这些新服务上网和使用Libra/Diem。为了使Libra/Diem网络能够随着时间的推移实现这一愿景,Libra/Diem协会从零开始构建了其所需的区块链,同时优先考虑了可扩展性、安全性、存储效率、吞吐量以及其对未来的适应性。
Libra/Diem支付系统支持单货币稳定币以及一种多货币稳定币,它们统称为Libra/Diem币。每种单货币稳定币都会有1:1的储备金支持,而每个多货币稳定币都是多种单货币稳定币的组合,其继承了这些稳定币的稳定性。Libra/Diem的储备金会受到管理,并随着时间的推移维护Libra/Diem币的价值。
通过对现有方案的评估,Libra/Diem决定基于下列三项要求构建一个新的区块链:设计和使用Move编程语言;使用拜占庭容错共识机制;采用和迭代改善已广泛采用的区块链数据结构。
1.设计和使用Move编程语言
Move是一种新的编程语言,用于在Libra/Diem区块链中实现自定义交易逻辑和“智能合约”。Move语言的设计首先考虑安全性和可靠性,是迄今为止发生的与智能合约相关的安全事件中吸取经验而创造的一种编程语言,能从本质上令人更加轻松地编写符合作者意图的代码,从而降低了出现意外漏洞或安全事件的风险。具体而言,Move从设计上可防止数字备产被复制。它使得将数字资产限制为与真实资产具有相同属性的“资源类型”成为现实:每个资源只有唯一的所有者,资源只能花费一次,并限制创建新资源。
2.使用拜占庭容错共识机制
Libra/Diem区块链采用了基于Libra/DiemBFT共识协议的BFT机制,来实现所有验证者节点就将要执行的交易及其执行顺序达成一致。这种机制实现了三个重要目标:第一,它可以在网络中建立信任,因为即使某些验证者节点(最多三分之一的网络)被破坏或发生故障.BFT共识协议的设计也能够确保网络正常运行;第二,与其他一些区块链中使用的“工作量证明”机制相比,这类共识协议还可实现高交易处理量、低延迟和更高能效的共识方法;第三,Libra/DiemBFT协议有助于清楚地描述交易的最终性,因此当参与者看到足够数量验证者的交易确认时,他们就可以确保交易已经完成。
BFT的安全性取决于验证者的质量,因此协会会对潜在验证者进行调查。Libra/Diem网络的设计以安全第一为原则,并考虑了复杂的网络和对关键基础设施的攻击。该网络的结构是为了加强验证者运行软件的保证,包括利用关键代码分离等技术、测试共识算法的创新方法以及对依赖关系的谨慎管理。最后,Libra/Diem网络定义了在出现严重漏洞或需要升级时重新配置Libra/Diem区块链的策略及过程。
3.采用和迭代改善已广泛采用的区块链数据结构
默克尔树(Merkle Tree)是一种已在其他区块链中广泛使用的数据结构,它可以侦测到现有数据的任何变化。为了保障所存储交易数据的安全,在Libra/Diem区块链中可以通过默克尔树发现交易数据是否被篡改。与以往将区块链视为交易区块集合的区块链项目不同,Libra/Diem区块链是一种单一的数据结构,可长期记录交易历史和状态。这种实现方式简化了访问区块链应用程序的工作量,允许区块链系统从任何时间点读取任何数据,并使用统一框架验证该数据的完整性。
根据以上的设计,Libra/Diem区块链可以提供公共可验证性,这意味着任何人〔验证者、Libra/Diem网络、虚拟资产服务提供商(VASP)、执法部门或任何第三方〕都可以审核所有操作的准确性。交易将以加密方式签名,以便即使所有验证者都被破坏,系统也不能接受具有签名的伪造交易。协会会监督Libra/Diem区块链协议和网络的发展,并在适用监管要求的同时,不断评估新技术,以增强区块链上的隐私合规性。
区块链技术
区块链是由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储,难以篡改,防止抵赖的记账技术,也称为分布式账本技术。随着第一个公有链系统比特币的诞生,区块链技术也蓬勃发展,诞生了很多不同区块链系统,并且可以从节点加入是否需要认证、采用的共识机制等方面看出它们间的不同。但各个区块链系统的整体思路与最终目的是相似的,其运行机制在大的框架中也都相同。
共识机制
区块链系统采用了去中心化的设计,网络节点分散且相互独立,为了使网络中所有节点达成共识,即存储相同的区块链数据,需要一个共识机制来维护数据的一致性,同时为了达到此目标,需要设置奖励与惩罚机制来激励区块链中的节点。目前有多种共识算法在区块链中使用,其中常见的有工作量证明(PoW)算法、权益证明(PoS)算法、实用拜占庭容错(PBFT)算法。下表是三种共识算法的对比。
智能合约
智能合约的概念早在第一个区块链系统诞生之前就已经存在了,美国计算机科学家Nick Szabo将其定义为:“由合约参与方共同制定,以数字形式存在并执行的会约。”智能合约的初衷是,使得合约的生效不再受第三方权威的控制,而能以一种规则化、白动化的形式运行。以借钱为例,在现实生活中,债主想要强制拿回借出去的钱,需要拿着借名到法院上诉,经过漫长的审判过程才能得到钱。而在智能合约中,合约双方可以就借钱数目还款日期、抵押物等条件制定好规则,然后将合约放入相关系统中,等到了指定期限,合约会自动执行还款操作。
智能合约的概念虽然已被提出,但一直缺乏一个好的实现平台。直到中本聪运行了比特币系统,其底层区块链技术的去中心化架构、分布式的信任机制和可执行环境与智能合约十分契合。区块链可以通过智能合约来实现节点的复杂行为执行,而智能合约在区块链的去中心化架构中能够更好地被信任,更方便执行。因此,智能合约与区块链技术的结合成了很多研究人员与学者研究的课题,智能合约与区块链也逐渐绑定了起来。
如今提到的智能合约,通常是直接与区块链技术绑定,特指运行在分布式账本之中,且具有规则预置、合约上链、条件响应等流程,并能完成资产转移、货币交易、信息传递功能的计算机程序。如今已有图灵完备的智能合约开发平台问世,并且反响很好,比如以太坊、超级账本Fabric等项目。以太坊是目前全球最具影响力的共享分布式平台之一。
智能合约是运行在区块链上的一段代码,代码的逻辑定义了合约的内容,合约部署在区块链中,一旦满足条件会自动执行,任何人无法更改。合约代码是低级的基于堆栈的字节码语言,也被称为“以太坊虚拟机(EVM)代码”,用户可以使用高级编程语言(如C++、Go、Python、Java、Haskell,或专为智能合约开发的Solidity、Serpent语言)编写智能合约,由编译器转换为字节码后部署在以太坊区块链中,最后在EVM中运行。下面给出了一段Solidity语言编写的拍卖智能合约的代码。
该实例的功能是设置一个公开变量,并支持其他合约访问。在该实例中,合约声明了一个无符号整数变量,并且定义了用于修改或检索变量值的函数。其他用户可以通过调用该合约上的函数来更改或取出该变量。如果其他用户要调用外部合约,需要创建一个交易,接收地址为该为该智能合约的地址,data域填写要调用的函数及其参数的编码值。智能合约会根据所填写的数据自动运行,同时智能合约之间也可以相互调用。
区块链安全问题
分布式拒绝服务攻击
分布式拒绝服务攻击主要针对交易所、矿池、钱包和区块链中的其他金融服务。与拒绝服务(DoS)攻击不同的是,分布式拒绝服务攻击借助了客户端/服务器技术,将多个计算机联合起来作为攻击平台,对同一个目标发动大量的攻击请求,从而成倍地提高拒绝服务攻击的能力。
传统的分布式拒绝服务攻击通过病毒、木马、缓冲区溢出等攻击手段入侵大量主机,形成僵尸网络,然后通过僵尸网络发起拒绝服务攻击。基于区块链网络的分布式拒绝服务攻击不需要入侵主机建立僵尸网络,只需要在层叠网络(应用层)控制区块链网络中的大量在线节点,使其作为一个发起大型分布式拒绝服务攻击的放大平台。这些在线节点为拒绝服务攻击提供了大量的可用资源,如分布式存储和网络带宽,使得攻击成本低、威力巨大,并保证了攻击者的隐秘性。主要攻击方式分为主动攻击和被动攻击。主动攻击是通过主动向网络中的节点发送大量的虚假索引信息,使得针对这些信息的后续访问都指向被攻击者。主动攻击在区块链网络中引入了额外的流量,从而降低网络的节点查找和路由的性能,另外,虚假的索引信息还影响文件的下载速度。被动攻击属于非侵扰式,通过修改区块链客户端或服务器软件,被动地等待来自其他节点的查询请求,再通过返回虚假响应来达到攻击效果。
分布式拒绝服务攻击的发起成本不高,但破坏性很强。例如,恶意矿工可以通过分布式拒绝攻击耗尽其竞争对手的网络资源,使得竞争对手被大量网络请求阻塞,从而提高自己的有效哈希率。
延展性攻击
延展性攻击,是指在原情况不变的情况下,利用外部的虚假交易实现攻击。例如,通过延展性政击可以阻塞网络中的交易队列。恶意攻击者通过支付高额手续费,以高优先级进行虚假交易,使得矿工在验证这些交易时,发现这些交易都是虚假交易,但是它们已经在这些交易的验证上花费了相当长的时间,从而浪费了与攻击者竞争的矿工的时间和带宽资源。另一种延展性攻击的形式为交易延展性攻击,这种攻击方式在虚拟货币交易的情况下带来了二次存款或双重提现的风险。攻击者可以侦听一笔未被确认的交易,通过修改交易签名的方式使得原有交易的交易ID发生改变,并生成一笔新的交易进行广播和确认,而参与交易的另一方无法根据原有的交易ID查询到交易的确认信息,从而可能进行重复转账并蒙受损失。
女巫攻击
女巫攻击,是指一个攻击者节点通过向网络广播多个身份信息,非法地拥有多个身份标识,进一步利用多个身份带来的便利,做出一些恶意行为,如改变交易顺序、阻止交易被确认、误导正常节点的路由表、消耗节点间的连接资源等。由于网络上的节点只能根据自己接收到的消息来判断网络中节点的全局信息,对于攻击者来说,它可以很方便地利用这个特征,轻易地创建大量的身份信息进行女巫攻击。
女巫攻击是攻击P2P网络中数据冗余机制的有效手段,使得原本需要备份在多个节点的数据被欺骗地备份到同一个节点上。同时,如果区块链网络中采用了投票机制,攻击者可以利用伪造的多个身份进行不公平的重复投票,从而掌握网络的控制权。实现反女巫攻击,可以采用工作量证明机制,通过验证身份的计算能力的方式,增加女巫攻击的成本。另外一种反女巫攻击的方式是身份认证,每个新节点需要经过可靠第三方节点或当前网络中所有可靠节点的认证,从而减少节点欺诈地使用多重身份的可能性。
路由攻击
由于网络路由的不安全性以及因特网服务提供方(ISP)的集中性,使用明文形式进行信息交换的区块链应用(如比特币)可能面临着流量劫持、信息窃听、丢弃、修改、注入和延迟的风险。路由攻击,是指对正常路由进行干扰从而达到攻击目标的手段。
区块链上的路由攻击主要包含分割攻击和延迟攻击两种类型。分割攻击首先将区块链网络隔离成至少两个独立的网络,使得它们无法交换交易信息。为实现这一步,攻击者常利用边界网关协议劫持的方法拦截不同网络间交换的所有流量,从而实现网络分割,并且各网络内的节点无断网感知。延迟攻击利用了区块请求在超过一定时间后才会再次发起请求的特点,通过对拦截的信息进行简单修改,延迟区块在被攻击节点的传播速度。这两种攻击方法都能带来包括重复支付、计算能力浪费在内的潜在经济损失,
日蚀攻击
日蚀攻击由攻击者通过侵占节点路由表的方式,控制节点的对外联系并使其保留在一个隔离的网络中,从而实施路由欺骗、拒绝服务、ID劫持等攻击行为。目前,在比特币和以太坊网络中均已被证实能实施日蚀攻击。
在比特币网络中,由于节点的网络资源有限,网络中每个节点是很难做到与所有其他节点都建立连接。因而比特币上实际只允许一个节点接受117个连接请求,并且最多向外发起8个连接。如果攻击者节点在一个节点的路由表中占据了较高的比例,攻击者节点可以控制这个节点的正常行为,包括路由查找和资源搜索等,则这个节点可视作被攻击者“日蚀”。在比特币的日蚀攻击中,攻击者用事先准备的攻击地址填充被攻击节点的tried列表,用不属于比特币网络的地址覆盖被攻击节点的new列表。在被攻击者重启或从表中选择节点构建连接时,被攻击者的8个向外连接有很高概率都是攻击者节点,同时攻击者占据被攻击者的入连接。通过这个过程可以在比特币网络中实现节点的日蚀攻击。
而在以太坊中,由于以太坊上一个主机可以运行多个ID的节点,攻击者只需要两个恶意的以太坊节点即可实现日蚀攻击。以太坊上的日蚀攻击主要有两种方式:(1)独占连接的日蚀攻击,攻击者只需要在受害者节点重启时通过入连接的方式快速占领受害节点所有的连接,在geth1.8.0中已通过限制节点入连接的数量不能占满节点的maxpeers来修复这个漏洞;(2)占有表的日蚀攻击,攻击者使用伪造的节点ID在受害者节点重启时重复向它发送Ping请求并占据它的K桶,使得受害者的出连接指向攻击者,此时攻击者使用入连接占据完受害者的剩余的所有连接即可完成日蚀攻击。对受害节点来说,日蚀攻击使它在未知情况下脱离了区块链网络,所有的请求信息都会被攻击者劫持,得到虚假的回复信息,无法进行正常的资源请求。
反洗钱犯罪
常见的洗钱途径广泛涉及银行、保险、证券、房地产等各种领域。反洗钱是政府动用立法、司法力量,调动有关的组织和商业机构对可能的洗钱活动予以识别,对有关款项予以处置,对相关机构和人士予以惩罚,从而达到阻止犯罪活动目的的一项系统工程。
当前在常见的20多种洗钱手段中,比特币与数字货币已经被列入一种国际上的洗钱手段。因为数字货币的匿名性和难追踪的特点,数字货币开始在黑色与灰色领域大量使用。
数据显示,通过对全球20多个数字资产交易所展开资金流向追踪调查,PeckShield安全团队研究分析认为,数字资产在国际间的流动规模已非常大,且大部分资金并未受到国家合理、合规的监管。
区块链相关热点概念
挖矿
比特币中的矿,是一种虚拟数字,是一种符合算法要求的哈希值。比特币中的挖矿就是计算这种哈希值的过程。挖矿的难度是不断地更新的,相当于一个寻宝游戏,在一段时间之后,比特币系统将生成计算难度,然后所有的计算机就去计算符合要求的那个值,谁最先找到,谁就可以获得比特币奖励,并且可以获得一个区块进行记账,要计算得到这个符合要求的序列号,就需要大量的CPU运算。
挖矿是将一段时间内比特币系统中发生的交易进行确认,并记录在区块链上形成新区块的过程,挖矿的人叫作矿工。比特币系统的记账权力是去中心化的,即每个矿工都有记账的权利。成功抢到记账权的矿工,会获得系统新生的比特币奖励和记录每笔交易的手续费。因此,挖矿就是生产比特币的过程。中本聪最初设计比特币时规定:每产生210000个区块,比特币奖励数量就减半一次,直至比特币奖励数量不能再被细分。
矿工的主要工作是寻找符合要求的新区块、将交易打包写入区块。想成为一名矿工,只要购买一台专用的计算设备,下载挖矿软件,就可以开始挖矿。
挖矿归根到底是算力的竞争,具体挖的过程就是通过运行挖矿软件来计算匹配哈希值的过程。挖矿软件的运行需要消耗算力,最早是用CPU来挖矿的,随着加入的人越来越多,挖矿的装备也一直在升级;CPU之后,开始有人用GPU来挖矿,GPU的流水线专注程度更高,同时数量也更多,并行计算非常占便宜,GPU比CPU效率更高,算力功耗比更低,很快就取代了CPU;再后来用FPGA来挖矿,FPGA的性能/功耗比相对GPU来说有了进一步的提高;再最后就是目前市面上的ASIC矿机。挖矿需要有矿机和挖矿软件,运行的过程除了硬件损耗,最大的消耗是电费,所以算力之争很大程度上在于谁能获得更低的电力成本,谁就拥有了先发优势。
挖矿软件运行的时候,都需要设置一个账户,用对应的挖矿软件在矿机上运行,如果第一个计算出哈希值,并得到全网认证,对应的挖矿奖励会自动发放到挖矿软件的账户里。这个奖励可以提现到其他钱包储存或进行交易。
币圈
币圈是指一批专注于炒加密数字货币,甚至发行自己的数字货币筹资的人群,业界俗称“币圈”。
币圈可大致可以划分为两类:一类是市场上基于区块链技术的主流货币,如比特币、以太坊;另一类是数字货币筹资,也就是发行新币,新币也被业界称为“山寨币”。早期山寨币是指模仿比特币代码与系统产生的数字货币,目前大家理解的山寨币,大部分是指那些劣质的、没有价值基础的数字货币。
矿圈和币圈这两个圈子存在着一定的鄙视关系。矿圈自认为是投资,看不上币圈的投机。币圈总体上是为了投机或赚钱,喜欢炒作,希望价格翻倍,希望能够找到新的百倍币、千倍币。前期的币圈中充满着狂热和不理性,也充满着欺骗和混乱。
矿圈
“矿圈”是一群专注于“挖矿”的“矿工”,这些矿工大多从事IT行业。中本聪总共发行了2100万个比特币,最开始挖矿的人并不多,一般的计算机都可以挖矿,但是随着挖矿的人变多,必须要用具有高算力的专业服务器来挖矿。
比特币挖矿一共经历了五个阶段,即CPU挖矿、GPU挖矿、FPGA挖矿、ASIC挖矿、大规模集群挖矿(矿池)。
为了更好地理解它们之间的区别,简单举例如下:
(1)CPU的挖矿速度是1。
(2)GPU的挖矿速度是10。
(3)FPGA的挖矿速度是8,功耗比GPU小40倍。
(4)ASIC的挖矿速度是2000,功耗与GPU相当。
矿机挖矿,随着挖矿所需算力的不断上升,GPU也达到了算力的上限,为了突破这个局限,有人发明了专门挖矿的专业设备。这些设备虽然都是计算机,可是除了挖比特币、运行哈希运算之外,其他什么都干不了,我们叫它“矿机”。比特币的矿机只能进行比特币的算法的计算。莱特币矿机只能进行莱特币算法的计算,不能互相通用。
世界排名前三的数字货币矿机生产商(比特大陆、嘉楠耘智、亿邦科技)都在中国,囊括了全球九成以上的份额(2019年数据显示)。
数字货币
早期的数字货币(数字黄金货币)是一种以黄金重量命名的电子货币形式。现在的数字货币又称密码货币,指不依托任何实物,使用密码算法的数字货币,英文为Cryptocurrency,尤其是指基于区块链技术生成的数字货币,如比特币、莱特币和以太币等依靠校验和密码技术来创建、发行和流通的电子货币。
从货币属性角度来看,数字货币相比传统法币有以下三个重要的优点。
(1)有效对抗通货膨胀:比特币一共发行2100万枚,2140年后比特币不再新增,矿机通过收取交易服务费用覆盖算力成本。当主权政府的中央银行采取过于宽松的货币政策或者国内政局不稳定时,会导致较为严重的通货膨胀,造成民众的财富急剧缩水,比特币能够较好地应对通货膨胀。
(2)私有财产权受到保护:因为采用了区块链作为底层技术和点对点的交易方式,所以交易过程不受到监控、审核,外界也无法干涉私有财产。
(3)促进全球化:比特币最大的特点就是金融脱媒(“脱媒”一般是指在进行交易时跳过所有中间人而直接在供需双方间进行。“金融脱媒”又称“金融去中介化”,在英语中称为Financial Disintermediation),使用比特币能让跨境贸易和跨境投资变得更快且更便宜。
从技术属性来看,当前数字货币仍然建立在电子技术之上,随着量子计算机,加、解密等技术的飞速发展,比特币等数字货币会受到一些挑战,加上一些经济方面的竞争原因,比特币有可能会在未来消失或被其他数字货币替代。
从社会角度来看,数字货币部分思想根源来自一种自由思想、无政府主义,是西方某些思想的产物。经济学领域的自由思想是区块链技术产生的一个强大的推动力。无论是早期的哈耶克与他的《货币的非国家化》,还是B-money的理论的提出者戴伟,以及Bitshare、Steemit、EOS的技术创造者BM,他们都崇尚一种自由,比特币的创造者中本聪无疑也受这种自由思想的影响。对于我们来说,数字货币理解与操作难度大,风险性过高,不需要参与。
数字货币受到政府的强硬监管,比特币背后灰色地带滋生的问题浮上台面。
(1)在中国造成了资本外流:由于其技术特点,外管局无法监管在境内使用人民币兑换比特币,而后在境外用比特币兑换外币的汇兑方式。比特币成了洗钱通道之一。
(2)毒品和枪支买卖的支付方式:比特币成了不法分子购买毒品和枪支的支付手段,促进了非法物品的流通,加深了部分国家、地区人民的苦难。
(3)非法集资的新型手段:ICO本质就是发行收益凭证式证券并嫁接在数字货币之上,不需要通过交易所和证监会,躲避法律监管。某些ICO发行过程中甚至连商业计划书都没有,却受到资本追捧,造成投资人血本无归。
常见数字货币的分类如下:
(1)纯数字货币。
(2)支持应用功能的数字货币。
(3)解决支付功能的数字货币。
(4)隐私货币。
(5)解决存储能力的数字货币。
(6)其他特殊用途的数字货币。
对区块链的误解
误解1:区块链等于炒比特币
2017年比特币的爆炸式繁荣让投资者们看到了一片新兴的蓝海,于是投资者们纷纷进场捞金。这也造成了大家对区块链的第一印象:区块链,仅仅是炒币投机。
但是,比特币只是区块链技术的一个应用场景,就像支付宝是互联网金融的一个产物一样。现在在数字货币的市场上交易的不仅有比特币,还有以太坊、瑞波币以及其他数字货币,就跟传统证券市场的股票一样。
除此之外,BATJ等各种国内外互联网巨头都致力于区块链技术应用的研究,目前已在产品溯源、电子存证、公益等方面落地,也让社会逐渐开始发现区块链所带来的利好。
误解2:区块链上的数据是绝对安全的
很多人包括一些在币圈摸爬滚打多年的币民,都认为区块链中的数据是通过加密方式进行存储的,是“绝对安全的”,所以可以将银行账户、一些重要的密码等存储到区块链上。
但事实却是,“绝对安全”是不存在的。
在公有链中,区块链中存储的数据对每一个节点或者个人都是公开可见的,这意味着,只要在这条链上,任何人都可以查看链上存储的数据。
区块链所说的“数据安全”只是表示“数据是无法被篡改的”,任何人没有修改数据的权利,仅此而已。因此区块链上也并不适合存储个人的敏感信息。
误解3:区块链适合存储大量数据
区块链的分布式特性意味着区块链网络上的每个节点都有区块链的完整副本。如果把区块链用来存储像视频这种大型文件的话,那么节点处理起来将非常困难,从而导致效率低下。比特币的每个区块最多可以保存1MB的数据。
因此,遇到这种情况时,一般会将大型的数据文件存储在别的地方,然后再将数据的指纹(哈希值)存储在区块链上。
误解4智能合约是存储在区块链上的现实合约
实际上,智能合约跟现实世界的合约是完全没有关系的。智能合约是可以存储在区块链上、已经编写完成并可以执行的计算机程序。
智能合约是用编程语言编写的,如以太坊是用Solidity,通过以太坊虚拟机这个代码运行环境,智能合约能够在以太坊的区块链上运行,实现功能扩展。
而被称为加密货币1.0的比特币比较简单,没有智能合约这个概念,自然也没有办法在比特币的链上创建智能合约,也开发不了DApp应用。但比特币能够支持简单的脚本语言,可以扩展一些简单的功能。
因此,智能合约是可以依照预设条件自动执行的计算机程序,但只限于在区块链之内,同时预设的条件也必须是区块链技术所能验证的。
误解5:比特币跟硬币的性质是一样的
比特币是第一个基于区块链系统的数字货币。在现实世界中,它并不存在实体;在区块链世界中,它仅仅作为交易记录存在。
硬币只有一种效用——作为一种简单的价值储存手段。而Token可以存储复杂的值,如属性、效用、收入和可替代性,性质其实并不一样。
如果想要购买、发送和接收比特币,与比特币区块链产生交互,那么只需要一个比特币钱包,这个钱包只是一个地址、一个密钥,产生交互的比特币则是一条有效的交易记录,允许节点进行验证。
例如,一个矿工进行算力挖矿,获得了12.5个比特币的奖励,这12.5个比特币唯一的有效记录是转人了矿工的钱包,并不会有实体呈现。
误解6:比特币成不了主流货币是因为政府
比特币目前存在的最大问题是其固有的可扩展性问题。在中本聪的设计里,比特币区块链上出一个块大约需要10分钟,并且每个区块的大小限制在1MB以内,这就造成了比特币这条链目前每秒只能处理7次交易。这使得比特币非常适合转账汇款这种不需要立即进行交易确认的用途。
而作为加密货币2.0的以太坊,目前也只能达到每秒20次的TPS。相比之下,2017年“双11”支付宝最高每秒完成25.6万笔交易处理,Visa和Paypal的处理速度也远超比特币和以太坊。
因此,比特币目前无法成为主流货币的主因,并不是因为政府、监管和法规的限制,而是其固有的可扩展性问题,让它无法真正在大众之间实现实时、方便的交易和流通。
误解7:区块链可以应用于全行业
有人将区块链技术理解为第四次工业革命,也有人把它看作互联网发展的迭代。无论怎么说,这是技术发展的大进步,凝聚在这项技术上的价值也有待探索。
人类发明了技术,技术也会回馈于人类。有很多人认为,区块链将逐渐成为许多行业都会使用的重要基础设施,远远超出加密货币和金融服务领域。
然而虽然区块链技术是一个新进步,但也不是所有行业都需要区块链。短期来看,区块链技术并不能用于全部的生活领域。现在做一个区块链的项目成本并不低,而这方面的人才又相当稀缺,市场经济下,他们只会往收益更好的项目走。当前区块链技术能够适用的行业非常有限,除了在数字货币领域比较成熟,还没有更多地走进其他行业。
而中国特色的“无币区块链”也会逐渐被BATJ这种巨头垄断,小型区块链企业想落地应用将会变得愈加困难。
区块链技术不能解决所有的社会信任问题,是否能够完全“去中心化”也是一个问号,但在不断被误解、认知逐渐被推进中,区块链正在变得越来越强大,也越来越适应这个时代。
区块链的应用
供应链金融
基于区块链的供应链金融应用中,通过将供应链上的每一笔交易和应收账款单据上链,同时引入第三方可信机构,例如银行、物流公司等,来确认这些信息,确保交易和单据的真实性,实现了物流、信息流、资金流的真实上链;同时,支持应收账款的转让、融资、清算等,让核心企业的信用可以传递到供应链的上下游企业,减小中小企业的融资难度,同时解决了机构的监管问题。
资产交易
通过区块链进行数字资产交易,首先将链下资产登记上链,转换为区块链上的标准化数字资产,不仅能对交易进行存证,还能做到交易即结算,提高交易效率,降低机构间通信协作成本。监管机构加人联盟链中,可实时监控区块链上的数字资产交易,提升监管效率,在必要时进行可信的仲裁、追责。
司法存证
在司法中,与传统司法证据相比,电子证据等的获取具有以下难点。
取证成本高。当前司法取证依赖于具有司法机制的存证机构,具有取证周期长、费用高等特点。同时人力投入大,操作成本较高。
取证难校验,公信力可能不足。由于电子证据本身易篡改、难溯源的特点,电子取证的权威性依赖于取证机构的资质与公信力,且取证后难以校验、追责。
2018年,我国公布了《最高人民法院关于互联网法院审理案件若干问题的规定》(以下简称《规定》)。《规定》第11条中明确规定:当事人提交的电子数据,通过电子签名、可信时间戳、哈希值校验、区块链等证据收集、固定和防篡改的技术手段或者通过电子取证存证平台认证,能够证明其真实性的,互联网法院应当确认。因此,区块链记录的电子证据可被认为是具有司法效力的证据,已有多个平台成功应用。
2022 年 11 月,内蒙古自治区霍林郭勒市人民法院立案庭在对当事人申请司法确认的案件进行审查时,运用“区块链证据核验”技术对已上链存证的调解协议等材料进行核验,作出确认人民调解协议效力的民事裁定书,大大提高了诉前调解案件司法确认的效率,赢得了当事人好评。
智能合同
智能合同实际上是在另一个物体的行动上发挥功能的计算机程序。与普通计算机程序一样,智能合同也是一种“如果—然后”的功能,但区块链技术实现了这些“合同”的自动填写和执行,无须人工介入。这种合同最终可能会取代法律行业的核心业务,即在商业和民事领域起草和管理合同的业务。
溯源、防伪
利用追踪记录有形商品或无形信息的流转链条,通过对每一次流转的登记,实现追溯产地、防伪鉴证、根据溯源信息优化供应链、提供供应链金融服务等目标。
把区块链技术应用在溯源、防伪、优化供应链上的内在逻辑是数据不可篡改和加盖时间戳。区块链在登记结算场景上的实时对账能力以及在数据存证场景上的不可篡改和加盖时间戳能力为溯源、防伪、优化供应链场景提供了有力的工具。
政府
政务信息、项目招标等信息公开透明,政府工作通常受公众关注和监督,由于区块链技术能够保证信息的透明性和不可更改性,对政府透明化管理的落实有很大的作用。政府项目招标存在一定的信息不透明性,而企业在密封投标过程中也存在信息泄露的风险。区块链能够保证投标信息无法篡改,并能保证信息的透明性,在彼此不信任的竞争者之间形成信任共识。并能够通过区块链安排后续的智能合约,保证项目的建设进度,一定程度上防止了腐败的滋生。
数字证书
第一个在数字证书领域进行探索的是MIT的媒体实验室。媒体实验室发布的Blockcert是一个基于比特币区块链的数字学位证书开放标准。发布人创建一个包含一些基本信息的数字文件,如证书授予者的姓名、发行方的名字(麻省理工学院媒体实验室)、发行日期等。然后使用一个仅有Media Lab能够访问的私钥,对证书内容进行签名,并为证书本身追加该签名。接下来,发布人会创建一个哈希,这是一个短字符串,用来验证没有人篡改证书内容。最后,再次使用私钥,在比特币区块链上创建一个记录,表明我们在某个日期为某人颁发了某一证书。
物流
新加坡公司利用区块链技术,来帮助物流公司调度车队。Yojee是一家成立于2015年1月的新加坡公司,Yojee已经构建了使用人工智能和区块链的软件,充分利用现有的最后一英里交付基础设施来帮助物流企业调整它们的车队。
而针对电子商务公司,Yojee推出了一个名为Chatbot的软件,帮助电商公司在没有人管理的情况下预订送货。Chatbot可以将客户的详细信息(如地址、交货时间等)馈送到系统中,系统会自动安排正确的快递。
相关政策与法律法规
2016年10月,工信部发布《中国区块链技术和应用发展白皮书(2016)》,总结了国内外区块链发展现状和典型应用场景,介绍了国内区块链技术发展路线图以及未来区块链技术标准化方向和进程。
2016年12月,“区块链”首次被作为战略性前沿技术写入《国务院关于印发“十三五”国家信息化规划的通知》。
2017年1月,工信部发布《软件和信息技术服务业发展规划(2016—2020年)》,提出区块链等领域创新达到国际先进水平等要求。
2017年8月,国务院发布《关于进一步扩大和升级信息消费持续释放内需潜力的指导意见》提出开展基于区块链、人工智能等新技术的试点应用。
2017年8月30日,中国互联网金融协会发布《关于防范各类以ICO名义吸收投资相关风险的提示》指出,国内外部分机构采用各类误导性宣传手段,以ICO名义从事融资活动,相关金融活动未取得任何许可,其中涉嫌诈骗、非法证券、非法集资等行为。
2017年9月2日,互联网金融风险专项整治工作领导小组办公室向各省市金融办(局),发布了《关于对代币发行融资开展清理整顿工作的通知》。要求各省市金融办(局)对辖内平台高管人员进行约谈和监控,账户监控,必要时冻结资金资产,防止平台卷款跑路。全面停止新发生代币发行融资活动,建立代币发行融资的活动监测机制,防止死灰复燃;对已完成的ICO项目要进行逐案研判,针对大众发行的要清退,打击违法违规行为。针对已发项目清理整顿的内容,要求各地互金整治办对已发项目逐案研判,对违法违规行为进行查处。
2017年9月4日,央行等七部委(中国人民银行、中央网信办、工信部、工商总局、银监会、证监会、保监会)发布《关于防范代币发行融资风险的公告》指出,比特币、以太币等所谓虚拟货币,本质上是一种未经批准非法公开融资的行为,代币发行融资与交易存在多重风险,包括虚假资产风险、经营失败风险、投资炒作风险等,投资者须自行承担投资风险。要求即日停止各类代币发行融资活动,已完成代币发行融资的组织和个人应当作出清退等安排等。
2017年10月,国务院发布《关于积极推进供应链创新与应用的指导意见》提出要研究利用区块链、人工智能等新兴技术,建立基于供应链的信用评价机制。
2018年3月,工信部发布《2018年信息化和软件服务业标准化工作要点》,提出推动组建全国信息化和工业化融合管理标准化技术委员会、全国区块链和分布式记账技术标准化技术委员会。
2019年10月底,中共中央政治局就区块链技术发展现状和趋势进行了第十八次集体学习,中央领导明确强调把区块链作为核心技术自主创新的重要突破口,加快推动区块链技术和产业创新发展。
2019年11月,工信部网站发布的《对十三届全国人大二次会议第1394号建议的答复》称,将推动成立全国区块链和分布式记账技术标准化委员会,体系化推进标准制定工作。加快制定关键急需标准,构建标准体系。积极对接ISO、ITU等国际组织,积极参与国际标准化工作。
2021年5月,工信部与中央网信办联合发布《关于加快推进区块链技术应用和产业发展的指导意见》,提出培养一批区块链名品、名企、名园,建设开源生态,坚持补短板和锻长板并重,加快打造完备的区块链产业链。
2021年9月,中国人民银行、中央网信办等多部门联合发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》,进一步防范加密货币炒作风险。
2022年1月30日,中央网信办发布《中央网信办等十六部门联合公布国家区块链创新应用试点名单》,包含15个综合性试点单位,以及涵盖区块链+制造、能源、政务服务/政务数据共享、法治、税务服务、审判、检察、版权、民政、人社、教育、卫生健康、贸易金融、风险管控、股权市场、跨境金融等16个行业的164个特色领域试点单位。
2023年5月23日,国家市场监督管理总局和国家标准化管理委员会联合发布了由中国科学院信息工程研究所牵头起草的《信息安全技术 区块链信息服务安全规范》,该标准将于2023年12月1日起实施。
参考资料
最新修订时间:2024-12-27 11:11
目录
概述
区块链概述
参考资料