以太坊g2
1. 区块链钱包有多少种
市场上的钱包有很多种,根据平台可以划分为桌面钱包、手机钱包、在线钱包、硬件钱包和纸钱包;根据是否和网络连接,可分为冷钱包与热钱包;根据自主程度以及与网络的交互方式,可分为全节点钱包、SPV轻钱包以及第三方钱包。
关于区块链钱包,具体到教程介绍的话可以在 密码财经 上看看钱包测评。
2. 关于数字货币最全面的一篇文章(上)
看点: 顺应数字经济时代的发展浪潮、“去美元化”大背景下,数字货币要来了。
商务部近日印发《全面深化服务贸易创新发展试点总体方案》,其中公布了数字人民币试点地区:在京津冀、长三角、粤港澳大湾区及中西部具备条件的试点地区开展数字人民币试点。据新华网消息,目前数字人民币已经完成了顶层设计、标准制定、功能研发、联调测试等工作,将先行在深圳、苏州、雄安新区、成都及未来的东奥场景进行内部封闭试点测试。也就是说,如果顺利的话,北京2022年冬奥会上也许能“一睹芳容”。
其实,央行早在 2014 年便设立数字货币研究所,研究发行法定数字货币的可行性;2017 年末,经国务院批准,央行组织工商银行、中国银行、浦发银行等商业银行和中钞公司、上海票据交易所等有关机构共同开展数字人民币体系( DC/EP)的研发,并于 2018 年 2 月,上海票据交易所数字票据平台实验性生产系统正式上线试运营;2019 年央行在召开下半年工作电话会议时,要求加快推进我国法定数字货币( DC/EP)研发步伐 。
那么,推出数字货币的背后原因是什么?
本期的智能内参,我们推荐国海证券和新时代证券关于数字货币的两份研究报告,揭秘数字货币的前世今生以及央行推出数字货币的背后逻辑。
1、数字货币原理及各国发展状况
数字货币是货币体系不断演进的必然结果,属于货币 4.0 阶段 。货币是人类发明除了文字之外的另一重要发明,在经历了物物交换、金银本位制之后,信用货币成为货币史上的重要跨越。
其中,最初的以物易物便是一种去中心化的制度安排,但是由于交易效率极低,供需耦合难度较大,缺乏统一价值衡量标准,极大限制了人类的经济活动和贸易范围,因此逐渐被金银等贵金属所代替,这一交易体制在货币发展史上经历的时间较为漫长,由于存在天然损耗、币价不足额、缺斤短两、以次充好、劣币驱逐良币等现象,以国家信用为背景的纸币——纯信用货币开始出现,纸币不仅节约了发行成本,也克服了贵金属货币携带不便等难题,极大促进了近代史的贸易发展,中央银行货币政策操作也成为可能。
如果说纸币实现了信用货币从具体物品到抽象符号的第一次飞跃,那么建立在区块链、人工智能、 云计算和大数据等基础上的数字货币实现了信用货币由纸质形态向无纸化方向发展的第二次飞跃,数字货币并没有改变货币背后的信用背书,而是改变了货币的存在形式,至此,货币完成了商品货币——贵金属充当一般等价物——信用货币——数字货币的演进,因此货币存在形式的演进意味着货币体系运行成本更低、更安全、更高效,数字货币是货币体系从商品货币向信用货币不断演进的必然结果。
数字货币不是电子货币的替代,根据发行者不同,数字货币可以分为央行发行的法定数字货币和私人发行的数字货币。目前,关于数字货币(Digital currency)并没有统一的标准和定义。按照央行数字货币研究所的定义来看,狭义的数字货币主要指纯数字化、不需要物理载体的货币;而广义的数字货币等同于电子货币,泛指一切以电子形式存在的货币,包括电子货币、虚拟货币和数字货币。
根据发行者不同,数字货币可以分为央行发行的法定数字货币和私人发行的数字货币。其中,央行发行的数字货币,是指中央银行发行的,以代表具体金额的加密数字串为表现形式的法定货币,它本身不是物理实体,也不以物理实体为载体,而是用于网络投资、交易和储存、代表一定量价值的数字化信息拿链;私人发老敏基行的数字货币,亦称虚拟货币,是由开发者发行和控制、不受政府监管、在一个虚拟社区的成员间流通的数字货币,如比特币(Bitcoin)等。
广义数字货币大致可以分为三类:一是完全封闭的、与实体经济毫无关系且只能在特定虚拟社区内使用的货币,如虚拟世界中的 游戏 币;二是可以用真实货币购买但不能兑换回真实货币,可用于购买虚拟商品和服务,如 Facebook 推出的 Libra;三是可以按照一定比率与真实货币进行兑换、赎回,既可以购买虚拟商品服务,也可以购买真实的商品服务,如央行发行的法定数字货币。
数字货币是数字经济的货币发展形态。2020 年疫情以来,以“新投资、新消费、新模式、新业侍谨态”为主要特点的数字经济已经成为推动我国经济 社会 平稳发展的重要力量。根据国家统计局数据显示,虽然第一季度 GDP 同比下降了 6.8%,而数字经济领域呈现出较好的发展势头,其中,电子元件、集成电路产量同比增长16%和 13.1%,信息传输、软件和信息技术服务业增加值同比增长 13.2%,电子商务服务投资同比增长 39.6%。
在经受住了疫情带来的考验之后,我国数字经济进入了提速快速发展时期,亟需实现数据、技术、产业、商业、制度等协同发展,构建数字经济新型生产关系,通过要素市场改革进一步激发数字生产力,而数字货币基于节点网络和数字加密算法,是为了迎合数字经济发展需要,是其具体的货币发展形态。
数字货币建立在复杂网络理论基础,以区块链技术为核心,充分体现了不可篡改和加密安全等特点,实现底层数字货币,中间层数字金融账户体系,覆盖了央行支付体系、商业银行、非银机构等垂直化总分账户体系,同时实现了各国央行的支付清算系统的互联互通,顶层数字身份验证体系等,通过大数据和云计算,实现传统货币体系向数字货币体系的转变。
最早数字货币的出现可以追溯到 1982 年,美国计算机科学家和密码学家 DavidChaum 创立了 DigiCash,同时推出了两种数字货币系统:E-Cash 和 cyberbucks,这两种系统均基于 Chaum 的盲签合约建立的,能保持用户匿名且身份难以被追踪。但当时缺乏足够的技术支持,且不能做到完全匿名,最终得以失败告终。
1996 年,著名肿瘤学家 Douglas Jackson 发起了有真正黄金的支持 E-gold,因此大受欢迎,甚至一度有希望在数百个国家吸引超过 500 万个用户。不幸的是,后来平台持续遭遇黑客攻击并且吸引了大量非法洗钱交易,该公司在 2009 年陷入了困境。
1998 年,一家莫斯科的公司推出了 Web Money 这一种通用数字货币,能够提供广泛的点对点的付款解决方案,涵盖互联网交易平台。它也是少数幸存的尚未加密的数字货币之一。时至今日,该货币仍被数百万人广泛的使用和接受。与此同时,它也可以转换为法定货币,如卢布,美元,英镑,甚至比特币。
2008 年 11 月,中本聪提出比特币的概念,并发布著名论文《比特币,一种点对点的电子现金系统》,文中首次出现区块链,能在不具信任的基础上,建立去中心化的电子交易体系。2009 年 1 月 3 日比特币正式诞生。比特币是一种 P2P 形式的虚拟加密数字货币,采用开源的区块链技术,将交易信息存储在分布式账本中,这使得破解网络几乎成为不可能;另外,其点对点的传输构建了一个去中心化的支付系统。此后,比特币系统逐渐成熟,官方又陆续发布了新版本,增加了很多特性。
2013 年,以太币(ether)诞生,它基于以太坊技术衍生出的一种虚拟加密货币,是目前仅次于比特币市值第二高的加密货币。以太币以区块链为基础,跟比特币类似,但使用的 科技 完全不同,是具有开源智慧合约(smart contract)功能的公共区段链平台,双方达成合约条款就能执行。2010 到 2014 年间,比特币多节点挖矿和点点币( PPcoin)诞生,在采矿方面发挥了作用。2013 年 8 月,德国承认比特币的合法化。
以比特币为代表的私人数字货币,虽本质上不具备货币职能,但已对现行的货币与金融体系构成了巨大挑战,为应对这一挑战,各国央行正在积极研发或推行法定数字货币。早在 2013 年 Shoaib et al.就提出官方数字货币的概念,英格兰银行( BOE)2014年发布的报告明确以分布式账本技术( Distributed Ledger Technology,DLT)作为数字货币的分类标准,一类是加密数字货币,即运用分布式账本技术生成的数字货币,并指出比特币是史上第一个加密数字货币;
另一类是非加密数字货币,以瑞波币为典型代表;随后国际清算银行下设的支付和市场基础设施委员会( CPMI)将法定数字货币定义为加密货币,根据存在形式是否基于央行账户,将法定数字货币分为央行数字账户和央行数字货币。根据国际清算银行( BIS)提出的“货币之花”模型,明确了央行数字货币的概念,即央行数字货币是一种数字形式的中央银行货币,且区别于传统金融机构在中央银行保证金账户和清算账户存放的数字资金。
▲“货币之花” 模型
数字货币与政府的关系相当复杂,各国政府既恐惧又好奇。各国对于数字货币的讨论、实验和试点将持续进行,因为如果有经济体开始使用数字货币,那将在全球产生溢出效应,因此各国经济体都将越来越重视这种新的现象和新趋势。
1、美联储 Fedcoin 项目 。 这是一种零售型央行数字货币,可与美元进行等价兑换(即汇率是 1:1)。该货币协议与比特币有诸多相似之处,区别主要体现在两方面。一是在 Fedcoin 中,有一个用户(美联储)拥有特殊权限,能够随意创建和撤销账簿使用权。二是发行数量不像比特币那样有一个事先定好的规则,而是可以像现金一样调整发行量。
2、 加拿大央行的 CADcoin 项目 。 这是一种批发型央行数字货币。加拿大央行搭建了一个基于分布式账簿的大额支付系统, CADcoin 是在这个系统中使用的货币。近日在卡尔加里的内部介绍会上,加拿大央行展示了他们正在开发的电子版加元—CAD-Coin。这项代号为“Jasper”的创新初衷是帮助央行通过分布式总账 科技 发行、转移或处臵央行资产。多家加拿大主要的银行,包括加拿大皇家银行、 TD 银行及加拿大帝国商业银行均参与了该项目。
3、 瑞典央行的 eKrona 项目。 目前,瑞典正在逐渐转型为“无现金 社会 ”。数据显示,自 2009 年以来,瑞典纸币及硬币的数量已经下降了 40%,居民更倾向使用银行卡、智能手机和电子钱包来处理日常的各种交易。随着现金使用量持续减少,瑞典央行尝试为民众提供一种不通过零售银行等中介的支付方式。瑞典央行要求, eKrona 必须能够用于小额购买。由于目前尚未确定使用哪种技术, eKrona 有两种可能的形式,一种是存款货币单位(即个人直接在央行开户,而非在商业银行开户),另一种是零售型央行数字货币。
▲海外各国或组织数字货币的最新动态
每个国家的金融体系和货币政策体制不同,是否需要采用央行数字货币利率这一新型货币政策工具,必须具体情况具体分析。而海外各国又不想失去在数字货币占得一席之地的机会,所以出台的政策法规也是经常变换,时宽时严。
国际清算银行 。2015 年 11 月,国际清算银行发布《DigitalCurrencies》报告,详细介绍了数字货币作为零售支付手段的影响等内容;2018 年 3 月,国际清算银行发布《中央银行数字货币对支付、货币政策和金融稳定的影响》的报告,对中央银行数字货币的发行进行了分析。
国际货币基金组织 。2017 年 6 月,国际货币基金组织( IMF)发布了一份关于金融 科技 行业发展的报告《Fintech and Financial Services : Initial Considerations》,针对如何有效监管分布式账本技术( DLT)及以其为基础的数字货币提出了建议。2018 年,经济合作与发展组织 OECD 和 20 国集团 G20 共同发布一份中期报告《数字化带来的税收挑战》,提出要对加密货币和区块链技术形成的数字资产交易信息进行监管。
英国 。英国的财政委员会对加密算法进行了评估,认为他们目前不会对英国的货币或金融稳定构成风险。然而,加密算法确实给投资者带来了风险,任何购买加密算法的人都应该准备好丢掉所有的钱。
日本 。日本作为全球最大的比特币交易市场,日本政府对数字货币的态度可谓是非常积极。从去年开始,日本就免除了数字货币交易的消费税,承认数字货币的合法性和货币属性。2017 年日本开始实施《资金结算法案》,承认数字货币作为支付手段的合法性。之后,日本金融厅( FSA)颁布《支付服务法案》,对数字货币交易所实施全方位监管。所有在日本境内运营的交易所必须获得财政部与 FSA 的牌照授权。
新加坡 。在新加坡政府对金融 科技 “不寻求零风险,不扼杀技术创新”的原则指导下,新加坡积极发展区块链技术,积极推动数字货币的发展,新加坡是亚洲区域内最支持数字货币发展的国家之一。由于新加坡的积极良好的制度环境,多家交易所选择在新加坡开展业务,例如 WBF EXCHANGE 就与新加坡政府合作密切。
2020 年 3 月,新加坡金融管理局( MAS)正式公布关于支付服务经营牌照的豁免企业名单,名单上的实体已取得豁免期内的特定支付服务或数字货币相关支付服务的许可证和经营权,包括阿里巴巴、支付宝、亚马逊等大型机构的新加坡实体均在名单之列。
关于数字货币相关支付服务的豁免许可,包括币安、 OKCoin、 BitStamp、币信、Coinbase、 CoinCola、 TenX、 Upbit、 ZB 等近 200 家公司均可在正式下达牌照前以豁免状态合法运营。
泰国 。为了更好的监管数字货币行业, 2018 年 6 月,泰国颁布了《数字资产法》,宣布为合规加密货币交易所颁发牌照,开始实行牌照化管理。
澳大利亚 。由于金融犯罪不断增加, 2017 年 10 月,澳大利亚通过了《财政法案 2017 年修正案( 2017 措施 6)》, 2017 年底,正式通过了《反洗钱与反恐怖主义融资法案2017 年修正案》,明确了数字货币并不是货币资产,而是价值的电子表现形式。提供数字货币交易业务的机构,必须向澳大利亚交易报告和分析中心( AUSTRAC)提交申请,取得相应监管牌照与准入许可。交易所应根据反洗钱/CTF框架下的制度标准,对业务进行反洗钱和反恐融资评估。违规者将被判处两年有期徒刑或 500 英镑罚金,情节严重者,将被判处七年有期徒刑或 2000 英镑罚金。
海外央行数字货币实践的启示 :
1)、 央行应加强对数字货币的监管。数字货币搭载在为更广泛的金融体系服务的基础设施上,从与现有金融体系的链接中获得合法性的外表,这是其明显的特性。在法律法规方面,中央银行的监管应该加强, 将数字货币与实体货币相分离,确保数字货币没有寄生在实体货币上。
中央银行应与商业银行合作,发挥“数字前线”的监管作用,禁止商业银行做出充当“比特币自动取款机”的不道德行为,同时,不允许这些数字货币与整个金融体系现有的基础设施共存,以保障支付系统正常运行。
2)、 技术方面需要加强。应适当地采用数字货币的新技术,来改进国家的金融服务,尤其是在一些新兴市场经济体的支付方面。新兴国家中央银行可能会从区块链和分布式账本技术实施中获得最大收益,主要是因为现有的财务流程和技术系统不是很高效,可以通过实施数字货币或其他基于区块链的应用程序来实现更大的金融包容性,运用分布式账本技术可以提高效率,减少消费(零售)和银行间(批发)层面的跨境支付摩擦。而现金业务完全电子化之后,用户转场手机银行 APP 等线上渠道,那么银行之前的硬件渠道建设也将面临转型的考验。
3)、做好应对冲击的准备。数字货币由于自身的缺陷,不可能取代传统的货币,但其一旦全面发行,所带来的影响和冲击是难以预测的。因此,央行必须积极做好技术进步对金融冲击的相关准备。同时,披着合法外衣的数字货币搭载在为更广泛的金融体系服务的机构和基础设施上,可能形成严重的金融风险,威胁金融系统的稳定, 中央银行必须从公共利益出发做好数字货币带来的各种风险应对工作,坚持公平竞争的原则,加强对数字货币的监管,规范和引导数字货币及相关技术的发展。
2、 国内数字货币发展历程
人民币作为中国通行流通的央行货币已经历经 71 年。随着计算机和互联网技术的快速发展,人民币已经逐步实现电子化,迈入 2.0 时代。流通在银行等金融体系内的现金和存款早已通过电子化系统实现数字化,而支付宝、微信支付等第三方移动支付的大规模普及,让流通中的现钞比重逐渐降低。现在国人日常消费几乎不需要使用现钞。移动支付已经改变了人们生活的方方面面,带来快速便捷的支付体验。人们开始畅想未来的“无现金 社会 ”,中国也成为最接近无现金 社会 的国家之一。
但中国的移动支付更多是商业驱动,是一种货币的电子化支付手段,而非真正意义上的数字“人民币” 。从贵金属到纸币替代贵金属充当货币,再到未来的数字化货币,是经济和 科技 发展到一定阶段的必然产物;而随着网络通讯技术日益发达、 社会 交易活动日益频繁与活跃,加上民众购物消费习惯的变化及对货币流通安全性的考虑,人们越来越趋向于使用电子银行、电子支付而不愿携带纸币,因此,由央行提供比纸币更快捷、低成本的数字化货币媒介工具,是顺应时代发展之必需。
中国人民银行从 2014 年开始成立专门研究小组研究央行数字货币,至今已有五年。当前央行数字货币( DC/EP)为技术研发过程中的测试内容,数字人民币体系在坚持“央行-商业银行/-货币使用者”双层运营、 M0 替代、可控匿名的前提下,本完成顶层设计、标准制定、功能研发、联调测试等工作, 并遵循稳步、安全、可控、创新、实用原则,先行在深圳、苏州、雄安、成都及未来的冬奥场景进行内部封闭试点测试,以不断优化和完善功能。
▲我国数字货币发展历程
当前我国对于法定数字货币处于内测阶段, DC/EP 采取“中央银行—商业银行”的二元投放体系以及“一币、两库、三中心”运行框架
“一币”指的是央行担保发行的 DC/EP,“两库”是指央行的发行库和商业银行的银行库:DC/EP 首先在央行和商业银行间发生转移,即 DC/EP 的发行与回笼,之后再由商业银转移到居民与企业手中。“三中心”则是 DC/EP 发行与流通的技术保障,包括登记中心、认证中心和大数据分析中心。
其中,登记中心负责记录发行、转移和回笼全过程的登记;认证中心负责对 DC/EP 用户的身份进行集中管理,这是 DC/EP 保证交易匿名性的关键;DC/EP 的一个关键是在于反洗钱、反偷税漏税和反恐怖融资等做出较大改进,大数据中心通过对于支付行为的大数据分析,利用指标监控来达到监管目的:
▲“一币、两库、三中心”运行框架
我国央行选择推出数字货币具有重要的突破性意义,可以说,央行选择推出数字货币不仅是顺应货币演进规律的必然选择,也是保护人民币主权地位的重要举措。具体来看:
1、 顺应数字经济时代的发展浪潮 。由于纸币的发行、运输、存储等各个过程均耗费人力和物力,而随着移动互联网时代的到来,货币无纸化可以节省货币的发行和流通成本,给人们的生产生活方式带来便利。
另外,传统纸币不记名的特点使得监管机构无法掌握纸币的使用流通情况,利用纸币进行偷逃税、洗钱等经济犯罪是现实中无法避免的黑洞。央行数字货币可以实行可控匿名,在保证公民合法私有财产不受侵犯的同时,当发生违法犯罪事件时,数字货币的来源可追溯。因此,能够有效打击洗钱、逃漏税等违法行为,提升经济交易活动的透明度。
数字货币具备的快速流通性、便捷性、高安全性等特质均是传统纸币所不能比拟的。正如纸质货币最终替代了金属货币一样,货币无纸化也是大势所趋,是货币不断演进的必然结果。目前支付宝、微信、银联支付等已经实现了 M2 范畴的货币无纸化,而央行推出数字货币替代传统的纸币,可以实现 M0 范畴的货币无纸化,顺应了数字经济时代的发展浪潮。当然,所有事物的发展都不是一蹴而就的,货币无纸化也将是一个逐步发展的漫长过程,这也是央行在起初可能只选择推出部分数字货币,替代部分纸币的重要原因。
2、 降低全球美元货币体系的不利影响 。20 世纪 70 年代布雷顿森林体系瓦解后,货币发行以国家信用为基础,美国凭借强大的军事、经济能力使美元成为全球最主要的储备货币。但美元在执行世界货币职能的过程中,美国获取了诸多经济利益的同时,也可能给其他国家经济造成各种负面影响,最明显的例子即美国可以通过发行美元向世界征收通货膨胀税。
而且,当今世界的三大金融系统 SWIFT、CHIPS、Fedwire 均被美国一家独揽, 不论是美元、欧元、日元还是人民币,美国都可以实时获取各国货币的资金交易信息,美国利用该金系统对许多国家和企业进行制裁的行为屡见不鲜,欧洲与其他国家怨声载道。目前,除了中国之外,欧盟、日本、俄罗斯等国家都在研究如何构建数字货币支付网络,以推动“去美元化”进程。
3、保护货币主权,推进人民币国际化 。2019 年 6 月,Facebook 发布 Libra 白皮书,试图打造一种超主权的“世界货币”。Libra 以区块链技术为基础,以一篮子银行存款和短期政府债券为储备资产,为Libra 稳定币增信,最大限度地降低币值波动风险,其使命是“建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施”。其中,一篮子货币中美元占50%,欧元占 18%,日元、英镑和新加坡元分别占 14%、11%和 7%,但是没有人民币。
由于 Facebook 在全球拥有 23 亿的用户,若 Libra 成功被广泛使用,Libra 跨境资金流动将不受限制,这也意味着在非储备国家可以随意使用 Libra 进行支付,那么,非储备货币国家的货币主权地位势必会受到影响。对于中国而言,人民币和外汇管理均会受到冲击,人民币国际化的进程也将受阻。因此,中国必须未雨绸缪,我国央行发行数字货币便是应对 Libra 的重要举措。
3. 【深度知识】区块链之加密原理图示(加密,签名)
先放一张以太坊的架构图:
在学习的过程中主要是采用单个模块了学习了解的,包括P2P,密码学,网络,协议等。直接开始总结:
秘钥分配问题也就是秘钥的传输问题,如果对称秘钥,那么只能在线下进行秘钥的交换。如果在线上传输秘钥,那就有可能被拦截。所以采用非对称加密,两把钥匙,一把私钥自留,一把公钥公开。公钥可以在网上传输。不用线下交易。保证数据的安全性。
如上图,A节点发送数据到B节点,此时采用公钥加密。A节点从自己的公钥中获取到B节点的公钥对明文数据加密,得到密文发送给B节点。而B节点采用自己的私钥解密。
2、无法解决消息篡改。
如上图,A节点采用B的公钥进行加密,然后将密文传输给B节点。B节点拿A节点的公钥将密文解密。
1、由于A的公钥是公开的,一旦网上黑客拦截消息,密文形同虚设。说白了,这种加密方式,只要拦截消息,就都能解开。
2、同样存在无法确定消息来源的问题,和消息篡改的问题。
如上图,A节点在发送数据前,先用B的公钥加密,得到密文1,再用A的私钥对密文1加密得到密文2。而B节点得到密文后,先用A的公钥解密,得到密文1,之后用B的私钥解密得到明文。
1、当网络上拦截到数据密文2时, 由于A的公钥是公开的,故可以用A的公钥对密文2解密,就得到了密文1。所以这样看起来是双重加密,其实最后一层的私钥签名是无效的。一般来讲,我们都希望签名是签在最原始的数据上。如果签名放在后面,由于公钥是公开的,签名就缺乏安全性。
2、存在性能问题,非对称加密本身效率就很低下,还进行了两次加密过程。
如上图,A节点先用A的私钥加密,之后用B的公钥加密。B节点收到消息后,先采用B的私钥解密,然后再利用A的公钥解密。
1、当密文数据2被黑客拦截后,由于密文2只能采用B的私钥解密,而B的私钥只有B节点有,其他人无法机密。故安全性最高。
2、当B节点解密得到密文1后, 只能采用A的公钥来解密。而只有经过A的私钥加密的数据才能用A的公钥解密成功,A的私钥只有A节点有,所以可以确定数据是由A节点传输过来的。
经两次非对称加密,性能问题比较严重。
基于以上篡改数据的问题,我们引入了消息认证。经过消息认证后的加密流程如下:
当A节点发送消息前,先对明文数据做一次散列计算。得到一个摘要, 之后将照耀与原始数据同时发送给B节点。当B节点接收到消息后,对消息解密。解析出其中的散列摘要和原始数据,然后再对原始数据进行一次同样的散列计算得到摘要1, 比较摘要与摘要1。如果相同则未被篡改,如果不同则表示已经被篡改。
在传输过程中,密文2只要被篡改,最后导致的hash与hash1就会产生不同。
无法解决签名问题,也就是双方相互攻击。A对于自己发送的消息始终不承认。比如A对B发送了一条错误消息,导致B有损失。但A抵赖不是自己发送的。
在(三)的过程中,没有办法解决交互双方相互攻击。什么意思呢? 有可能是因为A发送的消息,对A节点不利,后来A就抵赖这消息不是它发送的。
为了解决这个问题,故引入了签名。这里我们将(二)-4中的加密方式,与消息签名合并设计在一起。
在上图中,我们利用A节点的私钥对其发送的摘要信息进行签名,然后将签名+原文,再利用B的公钥进行加密。而B得到密文后,先用B的私钥解密,然后 对摘要再用A的公钥解密,只有比较两次摘要的内容是否相同。这既避免了防篡改问题,有规避了双方攻击问题。因为A对信息进行了签名,故是无法抵赖的。
为了解决非对称加密数据时的性能问题,故往往采用混合加密。这里就需要引入对称加密,如下图:
在对数据加密时,我们采用了双方共享的对称秘钥来加密。而对称秘钥尽量不要在网络上传输,以免丢失。这里的共享对称秘钥是根据自己的私钥和对方的公钥计算出的,然后适用对称秘钥对数据加密。而对方接收到数据时,也计算出对称秘钥然后对密文解密。
以上这种对称秘钥是不安全的,因为A的私钥和B的公钥一般短期内固定,所以共享对称秘钥也是固定不变的。为了增强安全性,最好的方式是每次交互都生成一个临时的共享对称秘钥。那么如何才能在每次交互过程中生成一个随机的对称秘钥,且不需要传输呢?
那么如何生成随机的共享秘钥进行加密呢?
对于发送方A节点,在每次发送时,都生成一个临时非对称秘钥对,然后根据B节点的公钥 和 临时的非对称私钥 可以计算出一个对称秘钥(KA算法-Key Agreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:
对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥 与 B节点自身的私钥 计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。
对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入 Nonce ),再比如彩虹表(参考 KDF机制解决 )之类的问题。由于时间及能力有限,故暂时忽略。
那么究竟应该采用何种加密呢?
主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。
密码套件 是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。
在整个网络的传输过程中,根据密码套件主要分如下几大类算法:
秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。
消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。
批量加密算法:比如AES, 主要用于加密信息流。
伪随机数算法:例如TLS 1.2的伪随机函数使用MAC算法的散列函数来创建一个 主密钥 ——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。
在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。
握手/网络协商阶段:
在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等
身份认证阶段:
身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。
消息加密阶段:
消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、AES等。
消息身份认证阶段/防篡改阶段:
主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。
ECC :Elliptic Curves Cryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成 公钥、私钥的算法。用于生成公私秘钥。
ECDSA :用于数字签名,是一种数字签名算法。一种有效的数字签名使接收者有理由相信消息是由已知的发送者创建的,从而发送者不能否认已经发送了消息(身份验证和不可否认),并且消息在运输过程中没有改变。ECDSA签名算法是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。 主要用于身份认证阶段 。
ECDH :也是基于ECC算法的霍夫曼树秘钥,通过ECDH,双方可以在不共享任何秘密的前提下协商出一个共享秘密,并且是这种共享秘钥是为当前的通信暂时性的随机生成的,通信一旦中断秘钥就消失。 主要用于握手磋商阶段。
ECIES: 是一种集成加密方案,也可称为一种混合加密方案,它提供了对所选择的明文和选择的密码文本攻击的语义安全性。ECIES可以使用不同类型的函数:秘钥协商函数(KA),秘钥推导函数(KDF),对称加密方案(ENC),哈希函数(HASH), H-MAC函数(MAC)。
ECC 是椭圆加密算法,主要讲述了按照公私钥怎么在椭圆上产生,并且不可逆。 ECDSA 则主要是采用ECC算法怎么来做签名, ECDH 则是采用ECC算法怎么生成对称秘钥。以上三者都是对ECC加密算法的应用。而现实场景中,我们往往会采用混合加密(对称加密,非对称加密结合使用,签名技术等一起使用)。 ECIES 就是底层利用ECC算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。
<meta charset="utf-8">
这个先订条件是为了保证曲线不包含奇点。
所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:
所有的非对称加密的基本原理基本都是基于一个公式 K = k G。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法 就是要保证 该公式 不可进行逆运算( 也就是说G/K是无法计算的 )。 *
ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。
我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据k G计算出我们的公钥K。并且保证公钥K也要在曲线上。*
那么k G怎么计算呢?如何计算k G才能保证最后的结果不可逆呢?这就是ECC算法要解决的。
首先,我们先随便选择一条ECC曲线,a = -3, b = 7 得到如下曲线:
在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如2 2 = 2+2,3 5 = 5+5+5。 那么我们只要能在曲线上计算出加法,理论上就能算乘法。所以,只要能在这个曲线上进行加法计算,理论上就可以来计算乘法,理论上也就可以计算k*G这种表达式的值。
曲线上两点的加法又怎么算呢?这里ECC为了保证不可逆性,在曲线上自定义了加法体系。
现实中,1+1=2,2+2=4,但在ECC算法里,我们理解的这种加法体系是不可能。故需要自定义一套适用于该曲线的加法体系。
ECC定义,在图形中随机找一条直线,与ECC曲线相交于三个点(也有可能是两个点),这三点分别是P、Q、R。
那么P+Q+R = 0。其中0 不是坐标轴上的0点,而是ECC中的无穷远点。也就是说定义了无穷远点为0点。
同样,我们就能得出 P+Q = -R。 由于R 与-R是关于X轴对称的,所以我们就能在曲线上找到其坐标。
P+R+Q = 0, 故P+R = -Q , 如上图。
以上就描述了ECC曲线的世界里是如何进行加法运算的。
从上图可看出,直线与曲线只有两个交点,也就是说 直线是曲线的切线。此时P,R 重合了。
也就是P = R, 根据上述ECC的加法体系,P+R+Q = 0, 就可以得出 P+R+Q = 2P+Q = 2R+Q=0
于是乎得到 2 P = -Q (是不是与我们非对称算法的公式 K = k G 越来越近了)。
于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。
假若 2 可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。
那么我们是不是可以随机任何一个数的乘法都可以算呢? 答案是肯定的。 也就是点倍积 计算方式。
选一个随机数 k, 那么k * P等于多少呢?
我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描 述成二进制然后计算。假若k = 151 = 10010111
由于2 P = -Q 所以 这样就计算出了k P。 这就是点倍积算法 。所以在ECC的曲线体系下是可以来计算乘法,那么以为这非对称加密的方式是可行的。
至于为什么这样计算 是不可逆的。这需要大量的推演,我也不了解。但是我觉得可以这样理解:
我们的手表上,一般都有时间刻度。现在如果把1990年01月01日0点0分0秒作为起始点,如果告诉你至起始点为止时间流逝了 整1年,那么我们是可以计算出现在的时间的,也就是能在手表上将时分秒指针应该指向00:00:00。但是反过来,我说现在手表上的时分秒指针指向了00:00:00,你能告诉我至起始点算过了有几年了么?
ECDSA签名算法和其他DSA、RSA基本相似,都是采用私钥签名,公钥验证。只不过算法体系采用的是ECC的算法。交互的双方要采用同一套参数体系。签名原理如下:
在曲线上选取一个无穷远点为基点 G = (x,y)。随机在曲线上取一点k 作为私钥, K = k*G 计算出公钥。
签名过程:
生成随机数R, 计算出RG.
根据随机数R,消息M的HASH值H,以及私钥k, 计算出签名S = (H+kx)/R.
将消息M,RG,S发送给接收方。
签名验证过程:
接收到消息M, RG,S
根据消息计算出HASH值H
根据发送方的公钥K,计算 HG/S + xK/S, 将计算的结果与 RG比较。如果相等则验证成功。
公式推论:
HG/S + xK/S = HG/S + x(kG)/S = (H+xk)/GS = RG
在介绍原理前,说明一下ECC是满足结合律和交换律的,也就是说A+B+C = A+C+B = (A+C)+B。
这里举一个WIKI上的例子说明如何生成共享秘钥,也可以参考 Alice And Bob 的例子。
Alice 与Bob 要进行通信,双方前提都是基于 同一参数体系的ECC生成的 公钥和私钥。所以有ECC有共同的基点G。
生成秘钥阶段:
Alice 采用公钥算法 KA = ka * G ,生成了公钥KA和私钥ka, 并公开公钥KA。
Bob 采用公钥算法 KB = kb * G ,生成了公钥KB和私钥 kb, 并公开公钥KB。
计算ECDH阶段:
Alice 利用计算公式 Q = ka * KB 计算出一个秘钥Q。
Bob 利用计算公式 Q' = kb * KA 计算出一个秘钥Q'。
共享秘钥验证:
Q = ka KB = ka * kb * G = ka * G * kb = KA * kb = kb * KA = Q'
故 双方分别计算出的共享秘钥不需要进行公开就可采用Q进行加密。我们将Q称为共享秘钥。
在以太坊中,采用的ECIEC的加密套件中的其他内容:
1、其中HASH算法采用的是最安全的SHA3算法 Keccak 。
2、签名算法采用的是 ECDSA
3、认证方式采用的是 H-MAC
4、ECC的参数体系采用了secp256k1, 其他参数体系 参考这里
H-MAC 全程叫做 Hash-based Message Authentication Code. 其模型如下:
在 以太坊 的 UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。
首先,以太坊的UDP通信的结构如下:
其中,sig是 经过 私钥加密的签名信息。mac是可以理解为整个消息的摘要, ptype是消息的事件类型,data则是经过RLP编码后的传输数据。
其UDP的整个的加密,认证,签名模型如下:
4. 以太坊如何挖矿
目前市场上主流的以太坊矿机大多来自比特大陆、嘉楠耘智,不过随着以太坊价格的下跌,挖矿带来的利润已经十分微薄,投资者可以选择在数字货币交易所进行以太坊的交易投资。目前市场上主流的数字货币交易所有币安、火币网、比特网等。
5. 如何创建和签署以太坊交易
交易
区块链交易的行为遵循不同的规则集
由于公共区块链分布式和无需许可的性质,任何人都可以签署交易并将其广播到网络。
根据区块链的不同,交易者将被收取一定的交易费用,交易费用取决于用户的需求而不是交易中资产的价值。
区块链交易无需任何中央机构的验证。仅需使用与其区块链相对应的数字签名算法(DSA)使用私钥对其进行签名。
一旦一笔交易被签名,广播到网络中并被挖掘到网络中成功的区块中,就无法恢复交易。
以太坊交易的数据结构:交易0.1个ETH
{
'nonce':'0x00', // 十进制:0
'gasLimit': '0x5208', //十进制: 21000
'gasPrice': '0x3b9aca00', //十进制1,000,000,000
'to': '' ,//发送地址
'value': '0x16345785d8a0000',//100000000000000000 ,10^17
'data': '0x', // 空数据的十进制表示
'chainId': 1 // 区块链网络ID
}这些数据与交易内容无关,与交易的执行方式有关,这是由于在以太坊中发送交易中,您必须定义一些其他参数来告诉矿工如何处理您的交易。交易数据结构有2个属性设计"gas": "gasPrice","gasLimit"。
"gasPrice": 单位为Gwei, 为 1/1000个eth,表示交易费用
"gasLimit": 交易允许使用的最大gas费用。
这2个值通常由钱包提供商自动填写。
除此之外还需要指定在哪个以太坊网络上执行交易(chainId): 1表示以太坊主网。
在开发时,通常会在本地以及测试网络上进行测试,通过测试网络发放的测试ETH进行交易以避免经济损失。在测试完成后再进入主网交易。
另外,如果需要提交一些其它数据,可以用"data"和"nonce"作为事务的一部分附加。
A nonce(仅使用1次的数字)是以太坊网络用于跟踪交易的数值,有助于避免网络中的双重支出以及重放攻击。
- const ethers = require('ethers')
- const signer = new ethers.Wallet('钱包地址')
- signer.signTransaction({
- 'nonce':'0x00', // 十进制:0
- 'gasLimit': '0x5208', //十进制: 21000
- 'gasPrice': '0x3b9aca00', //十进制1,000,000,000
- 'to': '' ,//发送地址
- 'value': '0x16345785d8a0000',//100000000000000000 ,10^17
- 'data': '0x', // 空数据的十进制表示
- 'chainId': 1 // 区块链网络ID
- })
- .then(console.log)
以太坊交易结构
以太坊交易签名
以太坊交易会涉及ECDSA算法,以Javascript代码为例,使用流行的ethers.js来调用ECDSA算法进行交易签名。
可以使用在线使用程序Composer将已签名的交易传递到以太坊网络。这种做法被称为”离线签名“。离线签名对于诸如状态通道之类的应用程序特别有用,这些通道是跟踪两个帐户之间余额的智能合约,并且在提交已签名的交易后就可以转移资金。脱机签名也是去中心化交易所(DEXes)中的一种常见做法。
也可以使用在线钱包通过以太坊账户创建签名验证和广播。
使用Portis,您可以签署交易以与加油站网络(GSN)进行交互。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
6. 以太坊是如何挖矿的
以太坊的代币是通过采矿过程中产生的,每块采矿率为 5 个以太币。以太坊的采矿过程几乎与比特币相同,对于每一笔交易,矿工都可以使用计算机通过散列函数运行该块的唯一标题元数据,反复,快速地猜出答案,直到其中一人获胜。
许多新用户认为,采矿的唯一目的是以不需要中央发行人的方式生成醚(参见我们的指南“ 什么是以太? ”)。这是真的。以太坊的代币是通过采矿过程中产生的,每块采矿率为 5 个以太币。但是,采矿还有至少同样重要的作用。通常,银行负责保持交易的准确记录。他们确保资金不是凭空创造的,用户不会多次欺骗和花钱。不过,区块链引入了一种全新的记录保存方式,整个网络而不是中介,验证交易并将其添加到公共分类账。
Ethereum Mining
尽管“无信任”或“信任最小化”货币体系是目标,但仍有人需要确保财务记录的安全,确保没有人作弊。采矿是使分散记录成为可能的创新之一。矿工们在防止欺诈行为(特别是醚的双重支出)方面达成了关于交易历史的共识 – 这是一个有趣的问题,在分散化的货币未在工作区块链之前解决。虽然以太坊正在研究其他方法来就交易的有效性达成共识,但采矿目前将平台保持在一起。
挖矿如何工作
今天,以太坊的采矿过程几乎与比特币相同。对于每一笔交易,矿工都可以使用计算机反复,快速地猜出答案,直到其中一人获胜。更具体地说,矿工将通过散列函数(它将返回一个固定长度,乱序的数字和字母串,它看起来是随机的)运行该块的唯一标题元数据(包括时间戳和软件版本),只改变’nonce 值’ ,这会影响结果散列值。
如果矿工发现与当前目标相匹配的散列,矿工将被授予乙醚并在整个网络上广播该块,以便每个节点验证并添加到他们自己的分类账副本中。如果矿工 B 找到散列,矿工 A 将停止对当前块的工作,并为下一个块重复该过程。矿工很难在这场比赛中作弊。没有办法伪造这项工作,并拿出正确的谜题答案。这就是为什么解谜方法被称为“工作证明”。
另一方面,其他人几乎没有时间验证散列值是否正确,这正是每个节点所做的。大约每 12-15 秒,一名矿工发现一块石块。如果矿工开始比这更快或更慢地解决谜题,算法会自动重新调整问题的难度,以便矿工回弹到大约 12 秒钟的解决时间。
矿工们随机赚取这些乙醚,他们的盈利能力取决于运气和他们投入的计算能力。以太坊使用的具体工作量验证算法被称为’ethash’,旨在需要更多的内存,使得使用昂贵的 ASIC 难以开采 – 特殊的采矿芯片,现在是唯一可以盈利的比特币开采方式。
从某种意义上讲,ethash 可能已经成功实现了这一目的,因为专用 ASIC 不可用于以太坊(至少目前还没有)。此外,由于以太坊旨在从工作证明挖掘转变为“股权证明”(我们将在下面讨论),购买 ASIC 可能不是一个明智的选择,因为它可能无法长久证明有用。
转移到股权证明
不过,以太坊可能永远不需要矿工。开发人员计划放弃工作证明,即网络当前使用的算法来确定哪些交易是有效的,并保护其免受篡改,以支持股权证明,网络由代币所有者担保。如果并且当该算法推出时,股权证明可以成为实现分布式共识的一种手段,而该共识使用更少的资源。
7. 以太坊是骗人的吗怎么做
不是骗人的,必须要懂行的人带你入行,不然不熟的人带你你就会走进资金盘,做以太坊可以有两个方向,
第一:下载交易所软件在上面交易,跟股票交易一样的,可以买多,也可以做空,也可以量化,也可以开合约,也可以开杠杆,总之跟股票操作差不多,这种来钱快,亏欠也快。
第二种:就是去厂家买显卡或者矿机回来连网通电就可以在电脑上挖矿,每天都有收益可以提现,这个很轻松没有风险,只有回本周期,这行就属于投资越大回本越快赚得越多。
希望可以帮到你
8. win10电脑data traveler g2以太网控制器显示感叹号
以太网控制器显示感叹号,那么说明你的网络驱动出现了问题。
如果你说的是删除了网络驱动,那么就是网络驱动导致的。
1、可以在其他的电脑下载的网络驱动,然后把下载好的网络驱动,拉进去的电脑里面进行安装驱动。
2、或者使用手机数据线进行网络共享(安卓手机),给电脑提供网络,然后右键点击显示感叹号的驱动,选择在线更新启动即可。
9. 以太坊架构是怎么样的
以太坊最上层的是DApp。它通过Web3.js和智能合约层进行交换。所有的智能合约都运行在EVM(以太坊虚拟机)上,并会用到RPC的调用。在EVM和RPC下面是以太坊的四大核心内容,包括:blockChain, 共识算法,挖矿以及网络层。除了DApp外,其他的所有部分都在以太坊的客户端里,目前最流行的以太坊客户端就是Geth(Go-Ethereum)
10. 以太坊矿池排名
1. Ethpool(Ethermine) ETHpool.org是第一个官方的以太坊矿池。此前由于工作量超负荷,该矿池不接受新用户,只接受老客户。因此,许多新矿工被迫转向单独挖矿,因为那时还没有其他可替代的矿池。 在Ethpool上挖矿,必须安装以太坊的C++ETH版本。 市场占有率:23% 当前矿池算力:399.1GH / s 挖矿奖励结算模式:PPLNS 费率:1.0%
2. Nanopool Nanopool虽然是新矿池,但已经是目前以太坊上最大的矿池之一。份额(Share)的复杂性是静态的,相当于50亿。在该矿池上进行挖矿的最低哈希率仅为5 Mhesh / s。此外,此矿池根据PPLNS方案计算挖矿奖励,其中N是最近10分钟内所有接受的份额。 Nanopool的服务器遍及全球,官网页面简洁直观。但是这个矿池的最低支付门槛相对较高,建议连接3个服务器,避免等待长时间的付款期。 市场占有率:8% 当前矿池算力:16,176.3GH / s 挖矿奖励结算模式:PPLNS 费用:1.0% 网址:https://eth.nanopool.org/
3. F2Pool(鱼池) F2Pool是2019年最受欢迎的矿池之一。F2pool的服务器主要位于中国、其他亚洲国家和美国。F2pool.com因其开放性,可访问性和易用性而备受矿工喜爱。矿工在F2Pool上注册后才可以挖矿。 以太坊挖矿需要一个显卡矿机。 市场占有率:10% 当前矿池算力:19.38TH / s 挖矿奖励结算模式:PPS+ 费率:2.5% 网址:https://www.f2pool.com/
4. Sparkpool(星火矿池) 在ETH,GRIN和BEAM生态系统中,最强大的中国资源库是Sparkpool,它是与全球矿工合作的开放资源。 在挖矿之前,你需要配置矿机。基于AMD GPU处理器的以太坊挖矿收益更高。它需要闪存改进的BIOS并调整MSI Afterburner或AMD驱动程序设置中的超频选项。 市场占有率:29% 当前矿池算力:56.96TH / s 挖矿奖励结算模式:PPS + 费用:1.0% 网址:https://www.sparkpool.com/
5. Dwarfpool 在DwarfPool,矿工的信用等级分为RBPPS或HBPPS。使用RBPPS,只要有A值,你就可以获得对应奖励。HBPPS计提算法是基于时间的股份支付。每小时计算一次所有推广和发现的区块。 该矿池具有经过优化的最佳挖矿引擎,拒绝率较低,透明且详细的统计信息。每小时进行一次支付结算,服务器遍布世界各地。 市场占有率:6% 当前矿池算力:2377109 MH / s 挖矿奖励结算模式:HBPPS 费用:1.0% 网址:https://dwarfpool.com/