一、比特币谁发明的
比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。
与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在2100万个。
比特币可以用来兑现,可以兑换成大多数国家的货币。使用者可以用比特币购买一些虚拟物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,也可以使用比特币购买现实生活当中的物品。[1][2]
西维吉尼亚州民主党参议员乔·曼钦(Joe Manchin)2014年2月26日向美国联邦政府多个监管部门发出公开信,希望有关机构能够就比特币鼓励非法活动和扰乱金融秩序的现状予以重视,并要求能尽快采取行动,以全面封杀该电子货币。[3]
2017年1月24日中午12:00起,中国三大比特币平台正式开始收取交易费。[4]
中文名
比特币
外文名
Bitcoin
种类
电子货币
流通平台
网络
概念创始人
中本聪
发展历程听语音
2008年爆发全球金融危机,当时有人用“中本聪”的化名发表了一篇论文,描述了比特币的模式。
共2张
比特币
和法定货币相比,比特币没有一个集中的发行方,而是由网络节点的计算生成,谁都有可能参与制造比特币,而且可以全世界流通,可以在任意一台接入互联网的电脑上买卖,不管身处何方,任何人都可以挖掘、购买、出售或收取比特币,并且在交易过程中外人无法辨认用户身份信息。[2]2009年,不受央行和任何金融机构控制的比特币诞生。[2]比特币是一种“电子货币”,由计算机生成的一串串复杂代码组成,新比特币通过预设的程序制造,随着比特币总量的增加,新币制造的速度减慢,直到2014年达到2100万个的总量上限,被挖出的比特币总量已经超过1200万个。[2]
每当比特币进入主流媒体的视野时,主流媒体总会请一些主流经济学家分析一下比特币。早先,这些分析总是集中在比特币是不是骗局。而现如今的分析总是集中在比特币能否成为未来的主流货币。而这其中争论的焦点又往往集中在比特币的通缩特性上。[5]
不少比特币玩家是被比特币的不能随意增发所吸引的。和比特币玩家的态度截然相反,经济学家们对比特币2100万固定总量的态度两极分化。[6]
凯恩斯学派的经济学家们认为政府应该积极调控货币总量,用货币政策的松紧来为经济适时的加油或者刹车。因此,他们认为比特币固定总量货币牺牲了可调控性,而且更糟糕的是将不可避免地导致通货紧缩,进而伤害整体经济。奥地利学派经济学家们的观点却截然相反,他们认为政府对货币的干预越少越好,货币总量的固定导致的通缩并没什么大不了的,甚至是社会进步的标志。
比特币网络通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比特币网络分布式记账系统的一致性。比特币网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格答案。随后比特币网络会新生成一定量的比特币作为赏金,奖励获得答案的人。
2009年比特币诞生的时候,每笔赏金是50个比特币。诞生10分钟后,第一批50个比特币生成了,而此时的货币总量就是50。随后比特币就以约每10分钟50个的速度增长。当总量达到1050万时(2100万的50%),赏金减半为25个。当总量达到1575万(新产出525万,即1050的50%)时,赏金再减半为12.5个。[7]
首先,根据其设计原理,比特币的总量会持续增长,直至100多年后达到2100万的那一天。但比特币货币总量后期增长的速度会非常缓慢。事实上,87.5%的比特币都将在头12年内被“挖”出来。所以从货币总量上看,比特币并不会达到固定量,其货币总量实质上是会不断膨胀的,尽管速度越来越慢。因此看起来比特币似乎是通胀货币才对。
然而判断处于通货紧缩还是膨胀,并不依据货币总量是减少还是增多,而是看整体物价水平是下跌还是上涨。整体物价上升即为通货膨胀,反之则为通货紧缩。长期看来,比特币的发行机制决定了它的货币总量增长速度将远低于社会财富的增长速度。
凯恩斯学派的经济学家们认为,物价持续下跌会让人们倾向于推迟消费,因为同样一块钱明天就能买到更多的东西。消费意愿的降低又进一步导致了需求萎缩、商品滞销,使物价变得更低,步入“通缩螺旋”的恶性循环。同样,通缩货币哪怕不存入银行本身也能升值(购买力越来越强),人们的投资意愿也会升高,社会生产也会陷入低迷。[5]因此比特币是一种具备通缩倾向的货币。比特币经济体中,以比特币定价的商品价格将会持续下跌。[1]
比特币是一种网络虚拟货币,数量有限,但是可以用来套现:可以兑换成大多数国家的货币。你可以使用比特币购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用比特币购买现实生活当中的物品。[1][1]
2014年9月9日,美国电商巨头eBay宣布,该公司旗下支付处理子公司Braintree将开始接受比特币支付。该公司已与比特币交易平台Coinbase达成合作,开始接受这种相对较新的支付手段。
虽然eBay市场交易平台和PayPal业务还不接受比特币支付,但旅行房屋租赁社区Airbnb和租车服务Uber等Braintree客户将可开始接受这种虚拟货币。Braintree的主要业务是面向企业提供支付处理软件,该公司在去年被eBay以大约8亿美元的价格收购。
2017年1月22日晚间,火币网、比特币中国与OKCoin币行相继在各自官网发布公告称,为进一步抑制投机,防止价格剧烈波动,各平台将于2017年1月24日中午12:00起开始收取交易服务费,服务费按成交金额的0.2%固定费率收取,且主动成交和被动成交费率一致。[4]5月5日,OKCoin币行网的最新数据显示,比特币的价格刚刚再度刷新历史,截止发稿前最高触及9222点高位。[8]
创始人物听语音
2008年11月1日,一个自称中本聪(Satoshi Nakamoto)的人在一个隐秘的密码学评论组上贴出了一篇研讨陈述,陈述了他对电子货币的新设想——比特币就此面世,比特币的首笔交易完成。比特币用揭露散布总账摆脱了第三方机构的制约,中本聪称之为“区域链”。用户乐于奉献出CPU的运算能力,运转一个特别的软件来做一名“挖矿工”,这会构成一个网络共同来保持“区域链”。这个过程中,他们也会生成新货币。买卖也在这个网络上延伸,运转这个软件的电脑真相破解不可逆暗码难题,这些难题包含好几个买卖数据。第一个处理难题的“矿工”会得到50比特币奖赏,相关买卖区域加入链条。跟着“矿工”数量的添加,每个迷题的艰难程度也随之进步,这使每个买卖区的比特币生产率保持约在10分钟一枚。
京都大学数学教授望月新一
2009年,中本聪设计出了一种数字货币,即比特币,风风火火的比特币市场起了又落,而其创始人“中本聪”的身份一直都是个谜,关于“比特币之父”的传闻牵涉到从美国国家安全局到金融专家,也给比特币罩上了神秘光环。
据外媒报道称,计算机科学家TedNelson周日在网络上发布视频称,他已经确定出,比特币的创始人是京都大学数学教授望月新一(ShinichiMochizuki)。比特币的创始人一直以来使用的都是中本聪(SatoshiNakamoto)的假名,互联网领域也对其真实身份展开了大量推测。纳尔逊发布视频称,他已确定望月新一就是比特币的真正创始人。[9]
望月新一2013年因为证明ABC猜想而名声大噪。他高中时就读于菲利普埃克塞特学院,后者是美国最具声望的高中之一,仅仅两年后就毕业。望月新一16岁进入美国普林斯顿大学,22岁时以博士身份离校,33岁就成为正教授,这么年轻就获得正教授职称在学术界极为罕见。这个数学界的巨星可能已经攻破了该领域最为重要的难题之一。
中本聪本人在互联网上留下的个人资料很少,尤其是近几年几乎完全销声匿迹,因此其身世也变成了一个迷。2014年3月7日,当比特币创始人多利安·P·中本聪被找到的新闻传出后,迅速成为互联网上最吸引人的消息。
与外界揣测其可能是个虚构的名字不同,“中本聪”是个真实的名字,他是一名64岁的日裔美国人,他喜欢收集火车模型,曾供职大企业和美国军方,从事机密工作。在过去的40年中,中本聪从不在生活中用他的真名。根据美国洛杉矶地方法院1973年的档案,在他23岁从加州州立理工大学毕业时,将自己的名字改为了多利安·普伦蒂斯·中本聪(DorianPrenticeSatoshiNakamoto)。从那时起,他不再使用“聪”这个名字,而用多利安·中本S(DorianS.Nakamoto)作为签名。[9]
产生原理听语音
从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到无限个(其实比特币是有限个)解中的一组。而每一个特解都能解开方程并且是唯一的。[10]以人民币来比喻的话,比特币就是人民币的序列号,你知道了某张钞票上的序列号,你就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有 2100万个特解,所以比特币的上限就是 2100万。[10]
疯狂涨势
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。[11]完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。在安装好比特币客户端后,它将会分配一个私有密钥和一个公开密钥。需要备份你包含私有密钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
货币特征听语音
去中心化:比特币是第一种分布式的虚拟货币,整个网络由用户构成,没有中央银行。去中心化是比特币安全与自由的保证。
全世界流通:比特币可以在任意一台接入互联网的电脑上管理。不管身处何方,任何人都可以挖掘、购买、出售或收取比特币。
专属所有权:操控比特币需要私钥,它可以被隔离保存在任何存储介质。除了用户自己之外无人可以获取。
低交易费用:可以免费汇出比特币,但最终对每笔交易将收取约1比特分的交易费以确保交易更快执行。
无隐藏成本:作为由A到B的支付手段,比特币没有繁琐的额度与手续限制。知道对方比特币地址就可以进行支付。
跨平台挖掘:用户可以在众多平台上发掘不同硬件的计算能力。
优点
完全去处中心化,没有发行机构,也就不可能操纵发行数量。其发行与流通,是通过开源的p2p算法实现。
匿名、免税、免监管。
健壮性。比特币完全依赖p2p网络,无发行中心,所以外部无法关闭它。比特币价格可能波动、崩盘,多国政府可能宣布它非法,但比特币和比特币庞大的p2p网络不会消失。
无国界、跨境。跨国汇款,会经过层层外汇管制机构,而且交易记录会被多方记录在案。但如果用比特币交易,直接输入数字地址,点一下鼠标,等待p2p网络确认交易后,大量资金就过去了。不经过任何管控机构,也不会留下任何跨境交易记录。
山寨者难于生存。由于比特币算法是完全开源的,谁都可以下载到源码,修改些参数,重新编译下,就能创造一种新的p2p货币。但这些山寨货币很脆弱,极易遭到51%攻击。任何个人或组织,只要控制一种p2p货币网络51%的运算能力,就可以随意操纵交易、币值,这会对p2p货币构成毁灭性打击。很多山寨币,就是死在了这一环节上。而比特币网络已经足够健壮,想要控制比特币网络51%的运算力,所需要的cpu/gpu数量将是一个天文数字。
缺点
交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。
交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。
价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比特币更适合投机,而不是匿名交易。
大众对原理不理解,以及传统金融从业人员的抵制。活跃网民了解p2p网络的原理,知道比特币无法人为操纵和控制。但大众并不理解,很多人甚至无法分清比特币和Q币的区别。“没有发行者”是比特币的优点,但在传统金融从业人员看来,“没有发行者”的货币毫无价值。[12]
货币交易听语音
购买方法
用户可以买到比特币,同时还可以使用计算机依照算法进行大量的运算来“开采”比特币。在用户“开采”比特币时,需要用电脑搜寻64位的数字就行,然后通过反复解谜密与其他淘金者相互竞争,为比特币网络提供所需的数字,如果用户的电脑成功地创造出一组数字,那么就将会获得25个比特币。
由于比特币系统采用了分散化编程,所以在每10分钟内只能获得25个比特币,而到2140年,流通的比特币上限将会达到2100万。换句话说,比特币系统是能够实现自给自足的,通过编码来抵御通胀,并防止他人对这些代码进行破坏。
交易方式
比特币是类似电子邮件的电子现金,交易双方需要类似电子邮箱的“比特币钱包”和类似电邮地址的“比特币地址”。和收发电子邮件一样,汇款方通过电脑或智能手机,按收款方地址将比特币直接付给对方。下列表格,列出了免费下载比特币钱包和地址的部分网站。
比特币地址是大约33位长的、由字母和数字构成的一串字符,总是由1或者3开头,例如"1DwunA9otZZQyhkVvkLJ8DV1tuSwMF7r3v"。比特币软件可以自动生成地址,生成地址时也不需要联网交换信息,可以离线进行[2]。可用的比特币地址超过2个。形象地说,全世界约有2粒沙,如果每一粒沙中有一个地球,那么比特币地址总数远远超过所有这些“地球”上的所有的沙子的数量。
比特币地址和私钥是成对出现的,他们的关系就像银行卡号和密码。比特币地址就像银行卡号一样用来记录你在该地址上存有多少比特币。你可以随意的生成比特币地址来存放比特币。每个比特币地址在生成时,都会有一个相对应的该地址的私钥被生成出来。这个私钥可以证明你对该地址上的比特币具有所有权。我们可以简单的把比特币地址理解成为银行卡号,该地址的私钥理解成为所对应银行卡号的密码。只有你在知道银行密码的情况下才能使用银行卡号上的钱。所以,在使用比特币钱包时请保存好你的地址和私钥。
比特币的交易数据被打包到一个“数据块”或“区块”(block)中后,交易就算初步确认了。当区块链接到前一个区块之后,交易会得到进一步的确认。在连续得到6个区块确认之后,这笔交易基本上就不可逆转地得到确认了。比特币对等网络将所有的交易历史都储存在“区块链”(blockchain)中。区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走。区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有比特币交易历史的记录。中本聪预计,当数据量增大之后,用户端希望这些数据并不全部储存自己的节点中。为了实现这一目标,他采用引入散列函数机制。这样用户端将能够自动剔除掉那些自己永远用不到的部分,比方说极为早期的一些比特币交易记录。
消费方式
许多面向科技玩家的网站,已经开始接受比特币交易。包括Mtgox,BTCChina之类的网站,以及淘宝某些商店,甚至能接受比特币兑换美元、欧元等服务。毫无疑问,比特币已经成为真正的流通货币,而非腾讯Q币那样的虚拟货币。国外已经有专门的比特币第三方支付公司,类似国内的支付宝,可以提供API接口服务。
可以用钱来买比特币,也可以当采矿者,“开采”它们用电脑搜寻64位的数字就行。通过用电脑反复解密,与其他的淘金者竞争,为比特币网络提供所需的数字。如果电脑能够成功地创造出一组数字,就会获得25个比特币。比特币是分散化的,需要在每个单位计算时间内创造固定数量比特币是每10分钟内可获得25个比特币。到2140年,流通的比特币上限将达到2100万。换句话说,比特币体制是可以自给自足的,译成编码可抵御通胀,防止他人搞破坏。
支付案例
在被投资者疯狂追逐的同时,比特币已经在现实中被个别商家接受。北京一家餐馆开启了比特币支付。这家位于朝阳大悦城的餐馆称,该店从2013年11月底开始接受比特币支付。消费者在用餐结束时,把一定数量的比特币转账到该店账户,即可完成支付,整个过程类似于银行转账。该餐馆曾以0.13个比特币结算了一笔650元的餐费。[13]
2014年1月,Overstock开始接受比特币,成为首家接受比特币的大型网络零售商。[14]
比特币是由中本聪创造的,(几乎可以肯定)是一个化名,迄今为止,还没有人能够确切地将比特币与一个真实的人或一群人联系起来。中本聪于2011年从互联网上消失,几乎没有留下他们可能是谁的线索。多年来,许多人都公开宣称自己是Satoshi,但都没有以无可争议的事实支持这一说法。
在一个早期的比特币论坛上,Satoshi说他们在2007年开始研究比特币,比第一个区块被开采早了两年。2009年1月3日,比特币区块链的第一个区块——创世纪区块被开采。中本聪是创世纪区块的开采者,收到了第一批投入流通的50枚比特币。然而,第一个方块的奖励是无法支付的,因为在代码中创世纪方块的表达方式有点奇怪。BitMEX研究发表了一份对比特币早期开采的分析,并得出结论认为“有人”开采了70万枚比特币。尽管许多人认为这是Satoshi,但官方仍未证实。
人们只能想象,如果他们的身份被曝光,中本聪会获得什么样的名声,更不用说他们将收集的巨额财富了(尽管佐藤似乎没有花掉他们应该开采的任何硬币)。随着时间的推移,已经有很多人声称自己是Satoshi,而其他人则被强加了这种说法。
虚假索赔
声称自己是Satoshi的最著名的例子之一是克雷格·赖特,澳大利亚学者。早在2015年,莱特就多次试图向公众展示他是比特币发明者的无可争议的证据,但直到今天他都没有成功。事实上,他的“证据”被证明是伪造的。
为什么Satoshi必须匿名
中本聪,世界上第一个分散货币的创造者,可以说应该保持匿名,因为他们创造的本质。在创建了一个没有失败中心点的协议之后,中本聪可能已经意识到,保持匿名可能会消除比特币可能存在的最后一个失败中心点:创建它的人。去除可能与比特币的出现相关联的单一身份,就去除了任何可能影响比特币社区的政治、规则或决策的单一面孔。
不管Satoshi是谁,他们无疑是我们这个时代的天才。比特币协议在所有合适的地方提供了经济激励,为拜占庭将军的问题提供了一个特殊的解决方案。中本聪运用密码学、数学、博弈论和经济学的概念,创造了一种设计精美的——也是世界上第一种——数字稀缺资产——比特币。
比特币的发明者是一位日本人,名叫中本聪,在2009年1月3日,世界上第一批比特币诞生,数字货币也正式诞生,数字货币直到2013年年底价格才飞速上涨,从前期的10美元左右一下涨高到九百多美元,在2016年,比特币热度才真正起来,价格一路飙升,被称为“数字黄金”。比特币为什么这么值钱呢?
1、挖矿难度大,比特币挖矿需要进行特定的运算,运算时间成本很高,前期的物质投入也非常大。
2、比特币带有货币属性以及被市场信任,比特币的加密算法难以破解,保证了其唯一性。
3、比特币交易市场透明度高,市场价格都是公开透明的,在虚拟数字货中流通和交易方便快捷。
4、有一些国家的认可,国家对比特币,数字货币出台的一些政策无疑都会刺激比特币价格上涨。
物以稀为贵,比特币比较稀有,目前比较币的开采难度很高,供求关系的影响,市场上供不应求的局面等等,这些无疑对价格上涨产生了很大作用。对于在交易平台购买比特币赚取差价的朋友需要谨慎。
比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。在2009年由日本人中本聪提出比特币这一概念,比特币从始发到现在价格已经高的难以想象,比特币为什么那么值钱了?
下面来简单的说说。
比特币挖矿机通过运行一种特殊的程序,运行结束后就可以获得类似任务奖励的比特币。现在比特币的产量是很低的,每天大约产出3600个新币,数量有限;比特币挖矿价格高,自从比特币火热后,专业挖矿机从价格低的一万元左右,现在价格贵的超过三十万,前期设备投入就需要很大财力;挖矿时间长,比特币挖矿就是经过特定的复杂运算,消耗额时间非常长;比特币挖矿机消耗大,除了有自身的损耗以外,还会消耗大量用电,特币全球挖矿机日耗电量可达1.88亿千瓦时,相当于中国日发电量的百分之一。比特币数量目前还在不断增加,有机构评估,在2019年比特币挖矿耗电量将会超过美国的耗电量。
比特币的价格一直都是媒体比较关系的,这里提醒大家,比特币价格涨的快,下落也会很快,风险高,想要购买比特币赚钱的朋友一定要谨慎加入。
沉寂多日的比特币借“勒索”病毒卷土重来,并开启似曾相识的暴走模式。这种被称作“数字黄金”的虚拟货币,8年间暴涨300万倍,连中国大妈都进场了。有人认为这是一个击鼓传花式的游戏,有人坚信比特币会成为稀缺资产,更有人说它会是在历史长河中闪光的一个节点,而多数人不求甚解,只是惊叹于又一轮的财富大爆发。
爱必投认为究竟是谁创造了比特币?关于比特币的发明者一直没有定论,普遍的说法是日本人“中本聪”(Satoshi Nakamoto)。2009年1月3日,世界上第一批比特币被“挖”出,这种由一个代号为“中本聪”的人设计的数字货币正式诞生,而自那一刻起已有15个人先后被怀疑是“中本聪”。2014年美国权威媒体揭露,本名为“中本聪”的日裔美国物理学家,就是传说的“比特币之父”,但这位老教授坚决否认。图为罕见现身的中本聪被媒体围攻,不断遮挡镜头,并否认与比特币存在任何联系。
2016年5月,澳大利亚工程师、企业家克雷格·怀特(Craig Wright)公开表明他就是比特币的创造者——中本聪。但仅过了几天,怀特本人就“投降”了,发表道歉信称“拿不出关键证据”证明自己。尽管中本聪被提名为2016年诺贝尔经济学奖候选人,但他的真实面纱还未被完全揭开。图片:BBC(来自:腾讯图片)
而跟比特币扯上关系后,克雷格·怀特就被警方盯住了。图为澳大利亚联邦警方与税务人员搜查了怀特的住所与办公地点,后者的比特币相关业务存在税务方面问题。据媒体报道,神秘人物“中本聪”手握100多万个比特币,按照目前每个15000元人民币来算,他的身价超过150亿人民币。而按照最初的严格设计,比特币的总量被限制在2100万枚,目前已有1400万枚左右被开采出来。图片:路透社
中本聪,不知他真身
二、比特币背后的技术1 - 椭圆曲线签名算法
本文使用 Zhihu On VSCode创作并发布
本文同步发表于个人blog
在传统的金融模型中,当人们需要在银行等金融机构中创建新的账户时,人们必须提供用于证明其身份的凭证(身份证,护照,etc)。然而,在比特币的新型隐私模型中,虽然每个账户之间的交易记录是公开的,但是账户拥有者的身份确不会被公开。为了防止比特币账户被冒用,比特币交易系统中使用了椭圆曲线签名的机制来确保账户操作者就是账户拥有者。
拥有这样的解析式的一类曲线被称作椭圆曲线:
[公式]
这样的曲线拥有这如下图所示的形状:
这样的曲线有两个非常重要的性质:
有了这两个性质,我们可以在椭圆曲线上定义“加法”和“乘法”这两种运算
假设我们有任意两点[公式]在椭圆曲线 [公式]上,我们可以将两点链接起来得到一条直线,这条直线与椭圆曲线的第三个交点 [公式]。这时候,我们将得到的点 [公式]关于 [公式]轴对称,得到点 [公式]。这样的一串操作可以被记录为 [公式]
如果我们把一次加法操作画在图上,那么[公式]的计算过程会是下面这样:
从上面的途中,我们可以发现椭圆曲线上的点乘是满足交换律的,因为点[公式]定义的直线与点 [公式]定义的直线是同一条。
一种特殊的情况是[公式]。这样的情况下,我们得到的直线会是椭圆曲线在[公式]点上的切线,也就是……
如果一个椭圆曲线上进行了[公式]次[公式]这样的加法操作,我们可以将其简写为 [公式]。例如:[公式]的计算过程可以用这样的几何方法表现出来:
上面这个网站提供了椭圆曲线加法和乘法的可视化
定义了这两种椭圆曲线上的运算以后,我们下面看看为了在计算机上更好的实现这个函数,我们都做了哪些改进。
为了在计算机上更准确的处理椭圆曲线,我们对椭圆曲线做了以下这些改进:
所以,一个椭圆曲线是由这些参数所决定的:
[公式]
这样的一条椭圆曲线拥有这样的代数表达式:
[公式]
说了那么多,人们到底是怎么用椭圆曲线进行身份验证的呢?
比特币所使用的椭圆函数签名协议是SECP256K1,这个签名协议中包括了一个椭圆函数[公式]和一个起始点 [公式]。现在,如果有一个人拥有一个数字[公式],他可以很快的用计算机算出在椭圆函数上的[公式]。然而,给定[公式],计算出[公式]的值却是几乎不可能的。
这样一个非对称的难度让身份验证变得十分简单,只要私钥[公式]的持有者不公开自己手中的私钥,其他人就几乎不可能通过私钥的生成结果[公式]逆向获得私钥[公式]。
假如Bob要使用椭圆签名函数来验证Alice的身份,在此之前,Bob已经通过公开渠道得知Alice的公钥(椭圆函数计算结果是[公式]),Alice也通过公开渠道知道Bob的公钥(Bob用自己的椭圆函数私钥[公式]计算出的结果[公式])。那么Alice要做的事情就是向Bob传输[公式]。因为[公式]实际上是[公式]的结果,我们也可以将传输的信息写作[公式]。
当Bob收到Alice发来的[公式]的结果后,他可以通过计算[公式]并与Alice发出的结果相比对进行验证。如果对面确实是Alice在对账户进行操作,那么应该有[公式]。证明如下:
[公式]
通过这样的方式,就可以在双方不透露自己私钥的情况下完成身份认证了。
在比特币的交易系统中,每个用户都会有一个随机生成的私钥,并且用SECP256K1算法计算出自己私钥所对应的公钥,在下面这张描述比特币交易流程的图中,最关键的部分之一就是通过上述的身份验证算法确定确实是比特币的所有者在进行转账操作。
三、区块链签名怎么设置(区块链中数字签名采用什么加密)
【深度知识】区块链之加密原理图示(加密,签名)
先放一张以太坊的架构图:
在学习的过程中主要是采用单个模块了学习了解的,包括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算法-KeyAgreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:
对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥与B节点自身的私钥计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。
对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入Nonce),再比如彩虹表(参考KDF机制解决)之类的问题。由于时间及能力有限,故暂时忽略。
那么究竟应该采用何种加密呢?
主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。
密码套件是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。
在整个网络的传输过程中,根据密码套件主要分如下几大类算法:
秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。
消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。
批量加密算法:比如AES,主要用于加密信息流。
伪随机数算法:例如TLS1.2的伪随机函数使用MAC算法的散列函数来创建一个主密钥——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。
在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。
握手/网络协商阶段:
在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等
身份认证阶段:
身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。
消息加密阶段:
消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、AES等。
消息身份认证阶段/防篡改阶段:
主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。
ECC:EllipticCurvesCryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成公钥、私钥的算法。用于生成公私秘钥。
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算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。
metacharset="utf-8"
这个先订条件是为了保证曲线不包含奇点。
所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:
所有的非对称加密的基本原理基本都是基于一个公式K=kG。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法就是要保证该公式不可进行逆运算(也就是说G/K是无法计算的)。*
ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。
我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据kG计算出我们的公钥K。并且保证公钥K也要在曲线上。*
那么kG怎么计算呢?如何计算kG才能保证最后的结果不可逆呢?这就是ECC算法要解决的。
首先,我们先随便选择一条ECC曲线,a=-3,b=7得到如下曲线:
在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如22=2+2,35=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
于是乎得到2P=-Q(是不是与我们非对称算法的公式K=kG越来越近了)。
于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。
假若2可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。
那么我们是不是可以随机任何一个数的乘法都可以算呢?答案是肯定的。也就是点倍积计算方式。
选一个随机数k,那么k*P等于多少呢?
我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描述成二进制然后计算。假若k=151=10010111
由于2P=-Q所以这样就计算出了kP。这就是点倍积算法。所以在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上的例子说明如何生成共享秘钥,也可以参考AliceAndBob的例子。
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=kaKB=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-basedMessageAuthenticationCode.其模型如下:
在以太坊的UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。
首先,以太坊的UDP通信的结构如下:
其中,sig是经过私钥加密的签名信息。mac是可以理解为整个消息的摘要,ptype是消息的事件类型,data则是经过RLP编码后的传输数据。
其UDP的整个的加密,认证,签名模型如下:
你必须了解的,区块链数字签名机制????区块链使用Hash函数实现了交易信息和地址信息的不可篡改,保证了数据传输过程中的完整性,但是Hash函数无法实现交易信息的不可否认性(又称拒绝否认性、抗抵赖性,指网络通信双方在信息交互过程中,确信参与者本身和所提供的信息真实同一性,即所有参与者不可否认或抵赖本人的真实身份,以及提供信息的原样性和完成的操作与承诺)。区块链使用公钥加密技术中的数字签名机制保证信息的不可否认性。
????数字签名主要包括签名算法和验证算法。在签名算法中,签名者用其私钥对电子文件进行签名运算,从而得到电子文件的签名密文;在验证算法中,验证者利用签名者的公钥,对电子文件的签名密文进行验证运算,根据验证算法的结果判断签名文件的合法性。在签名过程中,只有签名者知道自己的私钥,不知道其私钥的任何人员无法伪造或正确签署电子文件;在验证过程中,只有合法的签名电子文件能有效通过验证,任何非法的签名文件都不能满足其验证算法。
????常用的数字签名算法包括RSA数字签名、DSA数字签名、ECDSA数字签名、Schnorr数字签名等算法。
???我们以RSA数字签名来介绍:可能人们要问RSA签名和加密有什么区别呢?加密和签名都是为了安全性考虑,但略有不同。常有人问加密和签名是用私钥还是公钥?其实都是对加密和签名的作用有所混淆。简单的说,加密是为了防止信息被泄露,而签名是为了防止信息被篡改。
???例子:A收到B发的消息后,需要进行回复“收到”--RSA签名过程:
???首先:A生成一对密钥(公钥和私钥),私钥不公开,A自己保留。公钥为公开的,任何人可以获取。
???然后:A用自己的私钥对消息加签,形成签名,并将加签的消息和消息本身一起传递给B。
???最后:B收到消息后,在获取A的公钥进行验签,如果验签出来的内容与消息本身一致,证明消息是A回复的。
????在这个过程中,只有2次传递过程,第一次是A传递加签的消息和消息本身给B,第二次是B获取A的公钥,即使都被敌方截获,也没有危险性,因为只有A的私钥才能对消息进行签名,即使知道了消息内容,也无法伪造带签名的回复给B,防止了消息内容的篡改。
综上所述,来源于书本及网络,让我们了解的有直观的认识。
区块链one如何签名验证【验证签名】
跳出验证界面的,点击左上角的返回按键,然后升级到最新版本,刷新一下节点就可以了。或者重新卸载,用助记词恢复账号。【刷新节点】在自由沟通,右上角+号,“节点检测"
【区块链笔记整理】多重签名多重签名就是多个用户对同一个消息进行数字签名,可以简单理解为一个数字资产多个签名。
“用N把钥匙生成一个多重签名的地址,需要其中M把钥匙才能花费这个地址上的比特币,N=M,这就是M/N的多重签名”。
签名标定的是数字资产所属及权限,多重签名预示着资产可由多人支配与管理。拿比特币来说,如果要动用一个地址的币,那么需要多个私钥才能进行。
多重签名的作用意义非常,如果采用单独的私钥,尽管以目前的密码学可以保证无法被暴力破解,但是这个私钥不保证会以其他方式(如黑客通过木马,自己不小心暴露等)暴露出去的话,那么对应的数字资产也同时暴露无遗。
此时如果公钥是由多重签名方式生成,那么即便被盗取了其中一个私钥,盗取者也无法转移对应的数字资产。
即多重签名使资产更加安全和多样化管理,尤其在需要暴露私钥的交易过程中。
1.电子商务
较常见的是2/3的多重签名方式。例如一笔交易,由买家,卖家,平台各持有一份私钥对应该笔交易的地址,这个地址先有买家转入这笔交易所需的比特币数额,后续的交易确认,退款等流程就需要三方中2方才能转出这些比特币。无纠纷时,买家卖家双方确认即可。产生纠纷时由平台做出2/3的仲裁。
2.财产分割
比如合作团队管理一笔共有资金。可以使用1/N的模式,即这个账户谁都可以支配。好处是清晰忠实地记录了每个用户(对应私钥)的支出明细,方便清算。
3.资金监管
比如数字钱包,交易所,类似电子商务的2/3模式。比如家庭子女教育基金管理,使用2/2模式,不仅限制夫妻两房,也给黑客攻击增加了难度。
多重签名技术使得以区块链数字币交易的第三方平台产生了天然的资金安全的信用。相信对未来尤其在跨境电子贸易、交易所等方面产生深远影响。
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://www.ssyg068.com/biquanzx/27082.html
发表回复
评论列表(0条)