mac以太坊
① 区块链大佬都是什么人啊,区块链大佬都是什么人啊
2020胡润全球富豪榜发布,区块链首富赵长鹏究竟有多少钱????能登上2020胡润全球富豪榜的人肯定都是一些身价数以百亿计算的大佬们了,更别提区块链首富赵长鹏了。他的身价必定是我们这些普通的老百姓这一辈子怎么努力也达不到的高度。
???赵长鹏他身为币安的CEO和比捷科技的CEO,其身家自然是不菲的。他在2019年发布的胡润富豪榜中身价就已经达到了180亿元人民币,截止到现如今,他的身价上升了不只是一个度,因为币安交易所是全球最大的而且是加密的货币交易所,而赵长鹏身为CEO,他的有钱程度可不是轻易就能想象的到的。
???随着时间的推移,赵长鹏的身价也已经达到了20亿美元左右,折合成人民币的话,其身家预计在最低150亿人民币吧。赵长鹏可以说是一个十分有能力有十分传奇的人物了,因为早几年的富豪排行榜中从来没有出现过他的名字,但是就在这两年,赵长鹏却成为了一位大佬级别的人物,其实力不可令人小觑呀。
???其实,若是说有钱,中国的别的企业家也是丝毫都不差的,但是比较财力却不是这么简单的因为,在中国比特币可不是想买就可以买的到的,因为有很多的富豪曾经拿很多的钱去。结果也是无功而返了,就这一个方面。就可以看出赵长鹏的经济实力有多高了。
???更值得一提的是,币安也是世界上仅有的的数字交易性的开放式平台企业,就按目前互联网科技的发展走向来看,币安具有十分广阔的发展前景,作为币安的老总,赵长鹏的财富值可谓是水涨船高,绝不只是现如今的水平,正所谓看见的都是小钱,潜在的才是令人称赞的,就凭着这些,区块链首富赵长鹏就是一个绝对的富豪中的富豪了。
中国挖pi币的十大名人
1、李笑来,“中国比特币首富”,著名天使投资人,2001年~2008年就职新东方教育集团,08年8月创立艾德睿智国际教育咨询有限公司,2011年的一次契机,李笑来从网络上获知关于比特币的消息,自此凭借其卓越的投资大脑,于2013年创立比特基金,专注用互联网、比特币相关领域的天使投资。
2、吴忌寒,中国币圈最有权势的人,他创建了比特币大陆,其产品是比特币挖矿矿机,风靡全球。他拥有三个矿池:BTC.com,ConnectBTC和AntPool,占据全球算力约30%(要知道51%的算力攻击就可以颠覆比特币系统,就像达摩克利斯之剑一样,宝剑高悬,泰山压顶),对于比特币走向拥有不可低估的影响力。2011年底,吴忌寒干了一件惊天动地的大事,他把中本聪的比特币创世论文《比特币:一种点对点的电子现金系统》翻译成了中文,因此被称为是“比特币的布道者。2018年11月13日,吴忌寒入选《2018胡稿唯润区块链富豪榜》,以165亿元人民币财富排名第2
3、沈波,国内首家专注投资区块链技术相关企业的风险投资机构、以及中国规模最大的区块链投资基金——分布式资本的合伙人,2017年11月份,分布式资本已经在全球投资了近50家区块链初创公司,投资总额达5000万美元。而这家机构的顾问(前合伙人),就是大名鼎鼎的天才创业者以太坊创始人VitalikButerin。最初身为的创始人(比特股的创始团队),背靠万象集团,实力雄厚。此人行事低调,属于区块链投资圈的顶尖人物。2018年11月13日,沈波入选《2018胡润区块链富豪榜》,以70亿元人民币财富排名第5。(与李笑来并列第5)
4、詹克团,比特币大陆联合创始人,毕业于清华大学和中国科学晌敬帆院,被称为比特大陆的“技术大脑”,拥有近15年集成电路行业的管理及营运经验。他在2001年获得山东大学电子信息科学与技术专业学士学位,2004年获得中国科学院微电子研究所微电子与固体电子学专业硕士学位。他曾在6个月时间就开发出比特宴雹币第一代矿机,能效远超同行,打下了比特大陆的业界基础。2018年11月13日,李笑来入选《2018胡润区块链富豪榜》,以295亿元人民币财富排名第1。
虚拟货币圈几位大神天才,V神、BM、孙宇晨,哪个更胜一筹呢?说到虚拟货币圈的大神,首推的当属比特币的创始人中本聪了。
但这位高人神龙见首不见尾,自从2008年10月31日发表了一篇题为《比特币:一种点对点式的电子现金系统》的论文后,便消失于人们的视野当中了,江湖上也只留下他的传说。
中本聪是如何做到在人肉搜索那么强大的互联网上隐藏自己的身份的?
有人说中本聪根本不是一个人,而是一个幕后组织,也有人说中本聪已经死了,还有一些人站出来承认自己就是中本聪,但却得不到人们的认可。这个虚拟货币圈“创世纪”的人物可能只存在于人们的传说中了。
以太坊创始人V神。
1994年,一个小男孩出生于俄罗斯,父母给他起名VitalikButerin。受程序员父亲的影响和熏陶,V神在很小的时候就开始接触计算机编程。
2011年,V神从他父亲那里了解到比特币。在论坛上认识一些人之后,他被邀请为一个比特币博客写文章,当时,他写一篇文章可以得到5个比特币(价值3.5美元)。可惜的是,由于当时只有很少的人关注比特币,这个博客网站很快关停了。
2013年,V神周游全球,他曾有一段时间待在中国,他的中文也很好,常和中国网友在论坛上用中文交流。
2013年19岁的布特林进入加拿大滑铁卢大学。能用这样的名字命名,可见这个大学也绝非泛泛之辈。这所大学在加拿大排名第三,并且是北美最优秀的学校之一。可惜V神只在区块链,入学8个月后,就走上了很多大佬的老路:辍学了。
2014年1月23日,20岁的小V神在比特币杂志上发表了《以太坊:一个下一代加密货币和去中心化应用平台》一文,首次公开提出以太坊技术相关概念。
以太坊已经不是一个单一的货币了,而是一个全新的区块链平台,允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用,且不局限于数字货币交易。
如果说中本聪和比特币掀开了21世纪区块链革命的大幕,那么V神则接过了中本聪手中的火炬,与以太坊一起开启了区块链2.0时代,给革命画卷添上了浓墨重彩的一笔。
EOS(柚子币)创始人BM
BM原名Daniellarimer,币圈一般都叫他BM。BM诞生于美国的工程师家庭,从小在他老爸的指导下在Mac上进行编程。
BM在09年比特币出现之前,就已经开始研究开发一种数字货币了,而就在BM研发数字货币的时候,比特币横空出世。但是发现比特币存在可测量性的问题很难支持小型支付,于是他就和中本聪在论坛里互怼起来。
2010年7月,BM觉得比特币10分钟一次的交易确认时间太长,使用起来很不方便,于是就在当时全球最大的比特币社区里发了一个帖子公开指出这一问题,提出改进共识机制。
没想到引来了中本聪本尊的回应:“Ifyoudon’tbelievemeordon’tgetit,Idon’thavetimetotrytoconvinceyou,sorry.”(如果你不信或者不理解,我也没时间去说服你,抱歉。)
后来这句话成为了币圈的金句,翻译成中文就是:爱玩玩,不玩滚。
之后BM自己就开发出了去中心化交易平台BTS(BitShares),同时创造出了DPOS(授权股权证明)共识机制,不同于比特币的POW(工作量证明)。
然后BM又开发了STEEM和之后的EOS,BM也成为了目前世界上唯一一个连续成功开发了三个基于区块链技术的去中心化系统,并且都曾进入世界前50的人。
波场币创始人孙宇晨(Justin)
把孙宇晨放入这个名单中,大家是不是觉得:这不是在开玩笑吧。诚然孙总在技术上无法企及上面几位的高度,但要说起营销的话,估计币圈没几个人能比得上孙总。
2015年,马云创立湖畔大学,孙宇晨作为区块链行业代表,成为湖畔大学的首期学员。自那以后,他就自称是马云最年轻门徒。
2017年,ICO站在了风口上。作为区块链的早期参与者,孙宇晨肯定不能错过。
7月,孙宇晨发布区块链项目——波场,拉上这些年认识的大佬,包括比特大陆吴忌寒、OFO戴威、、薛蛮子等。8月21日,波场直接在币安平台开启认筹,5亿个波场币在53秒内以0.01元的价格出售完毕。其实也才500万而已,有这么多资本给背书,自己随便抢一下不就完了吗。
之后赶上了94事件,要求相关项目进行清退,币圈陷入恐慌,ICO瞬间冷却下来。孙宇晨苦思之后,想到了一个营销方法:因为波场最开始对标的就是以太坊,碰瓷以太坊的创始人V神怎么看都合情合理。
之后,V神的推特下水军出没,常常出现踩以太坊夸波场的言论。V神跑去看看波场,白皮书抄的,代码抄的,啥也没有的空气啊。这下彻底怒了,回怼道:“如果以太坊被波场取代的话,那么人们将失去希望!”
孙宇晨一看V神下水了,营销已经成功。颇为“绅士”的回应:“如果波场取代以太坊,我将为以太坊树碑立传。”
2017年12月,孙宇晨发动豪车攻势,交易排名前列者送玛莎拉蒂、奔驰等礼品。一波波骚操作下来,2018年1月,波场达到历史最高点1.3元,相比发行价暴涨了130倍,流通市值近22亿美元。一时间,孙宇晨豪言壮语,“马云做到了1000亿用了十年,但我只用了四个月。”
2019年6月,孙宇晨花了3000万拍到巴菲特午餐,万众期待,不是好奇他多有钱,而是想看巴菲特怎么怼他。因为巴菲特之前说过,虚拟货币基本上就是一种幻想。
按照原计划,7月25日,孙宇晨会和巴菲特在旧金山共进午餐。谁也没想到午餐前夕,孙宇晨却突然宣布不去了。理由是:突发肾结石。
这波操作估计连巴菲特老爷子都要感慨:活久见啊。
拍下午餐吸引一波眼球,放鸽子再引发一波争议,最后吃饭再营销一波,“一餐三用”的操作你感觉水平如何?在2020年1月,孙宇晨也是“圆梦”巴菲特,和他共进了午餐。
至于其它的方法,比如:
罗永浩创业失败,他慷慨地说“高薪聘请”,为他捐排忧解难;
ofo深陷押金退还危机,他站出来说“要帮朋友戴威给1万个ofo用户退押金”;
见义勇为反被拘捕,他又站出来宣布“为被冤枉的赵宇先生提供总计1000万元的支持计划”;
还有和王思聪互怼、和王小川互撕等故事就不胜枚举了。
看完了上面的介绍,如果说孙宇晨是个营销天才,你还会质疑吗?
区块链币圈众生相低调的暴富者与焦虑的小白区块链币圈众生相低调的暴富者与焦虑的小白
自从比特币大涨,区块链也站在了众人观摩的前台。笔者在逛了数十个社群后发现,一切有关书写区块链技术的内容实际上只是小众人群在阅读,人们对区块链如何实现数字货币去中心化的原理并不感冒,就连基本的区块链是什么有时候也知之甚少,但这并不能阻止大众对区块链以及各种数字货币的狂热痴迷。
也许正因为不懂,才充满好奇,才更容易被各种骗子骗去做待割韭菜。区块链的潮水奔腾汹涌而来,岸边岸上的众生们真可谓千奇百态。
第一种,区块链小白群体。
特征:生怕搭不上暴富的快车,心里各种焦虑紧张却又倍感无从下手。他们并不知道自己该如何去挖矿赚币,也不知道如何去市场购买和交易,甚至都不知道市场在哪里。他们对区块链以及各种币的了解竟然来自于羡慕嫉妒恨,因为身边人因为买币而一夜暴富。小白群体似乎每时每刻都在渴望交易,却又不太敢下手,持现金观望让他们越来越焦虑紧张,怕错过又有点怕亏输不起。
第二种,区块链项目推广人群。
特征:疯狂加群拉人并甩项目链接。笔者在各类社群中发现,这类链接大多以发放数字货币或送矿机为条件拉人注册,这类人在社交群内见群就进,见人就拉,一切有人的地方都有他们“辛苦忙碌”的身影。更有甚者,自己建群,拉进去足够多的人以后竟然全员实施禁言,之后就是群主或管理员疯狂甩链接,链接内容基本都是一个套路,项目介绍加注册地址,并以注册赠送矿机或币为诱饵。这种丝毫不顾及群内成员个人感受的行为也着实让人匪夷所思。这类人群对区块链及币圈略有所知,但技术上其实并不太了解。其中部分人自己也持有推广的项目币,且对自己能早期入局而略感心安,坚信以后会升值大赚特赚。
第三种,早期有过进入币圈经历的普通程序员人群。
特征:有挖币故事或经历,心态上大部分人属于拍着大腿后悔的人群。由于早年挖币有一定技术门槛,所以这部分人群因为技术身份,很早就接触了挖币,他们也是持有比特币的早期用户。那个时候,他们挖币就是挖币,内心很单纯,有的人带着朋友一起挖,甚至帮助朋友挖(朋友不懂技术,所以基本上是他们替朋友挖)。这类人群挖币时并未想到有可能在未来某一天会让自己暴富甚至从此走向财富自由,所以,很多人在比特币价格到达200到600的时候,就已经选择变现。
戏剧性的是那些不懂技术,程序员朋友替自己挖的人群,有的人因为不懂技术或没在意悲催的忘记了当初挖币的密钥,或者丢失了当初的系统文件,让自己的比特币永远冷冻了起来,找不到的已经悔恨的想死,而找到密钥或系统文件的人最后等来了高昂的回报。提早变现的程序员们与忘记密钥或弄丢系统文件的人们,在看到天价比特币后,一边拍着大腿后悔,一边又蠢蠢欲动,后悔并焦急着。
第四种,运作项目的CEO们
特征:亲见了比特币,以太坊大佬们赚的盆满钵满,再也无法按捺内心的激动,迅速投入滚滚洪流之中。他们有对未来的畅想,也有遭遇监管后的焦虑。但真正想在行业内做点事的CEO们实际上对监管比较欢迎,这类群体考虑更多的是行业生态的健康长远发展。
第五种,商业巨头们
特征:一部分商业巨头谨慎观望,一部分已经投入怀抱,还有一部分避开发币去尝试区块链技术中的智能合约的广泛应用。最近万达在区块链上的布局,媒体已经进行了大肆报道。
第六种,投资大佬们
特征:低调成了他们的代名词。他们很少大肆宣扬自己在比特币上赚了多少,但也很少提自己被套了多少。
作为嗅觉敏锐的投资大佬,任何新动向都是他们关注的焦点,他们中很多人既用旁观者的眼光冷静观察,又默默关注着真正有潜力的种子公司。这一群体在各种场合下显得十分低调。
第七种,各方媒体们
特征:努力恶补区块链基础知识,追踪币圈各种料。这一群体可简单分为两个阵营,一部分致力于纯粹的资讯报道以及深度行业分析,他们用第三者的眼光去看行业内出现的各种现象并作出解读。另外一个阵营则选择了为新事物站台背书,当然他们往往也带着批判和怀疑的思维去发现区块链真正的合理应用。
滚滚潮水袭来,众生千奇百态。区块链币圈到底该怎么去认识呢?如何去避开币圈的骗子们呢?区块链泡泡头条号以及微信公众号下一篇将以举栗子的形式给大家呈现当下的骗术及套路。
最后还是那句话,兼听则明,偏听则暗。本人仅代表区块链泡泡观点,不能作为各位投资指导。
② 如何找到区块链的密码,区块链的密钥是什么
【深度知识】区块链之加密原理图示(加密,签名)先放一张以太坊的架构图:
在学习的过程中主要是采用单个模块了学习了解的,包括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-.其模型如下:
在以太坊的UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。
首先,以太坊的UDP通信的结构如下:
其中,sig是经过私钥加密的签名信息。mac是可以理解为整个消息的摘要,ptype是消息的事件类型,data则是经过RLP编码后的传输数据。
其UDP的整个的加密,认证,签名模型如下:
区块链密码算法是怎样的?
区块链作为新兴技术受到越来越广泛的关注,是一种传统技术在互联网时代下的新的应用,这其中包括分布式数据存储技术、共识机制和密码学等。随着各种区块链研究联盟的创建,相关研究得到了越来越多的资金和人员支持。区块链使用的Hash算法、零知识证明、环签名等密码算法:
Hash算法
哈希算法作为区块链基础技术,Hash函数的本质是将任意长度(有限)的一组数据映射到一组已定义长度的数据流中。若此函数同时满足:
(1)对任意输入的一组数据Hash值的计算都特别简单;
(2)想要找到2个不同的拥有相同Hash值的数据是计算困难的。
满足上述两条性质的Hash函数也被称为加密Hash函数,不引起矛盾的情况下,Hash函数通常指的是加密Hash函数。对于Hash函数,找到使得被称为一次碰撞。当前流行的Hash函数有MD5,SHA1,SHA2,SHA3。
比特币使用的是SHA256,大多区块链系统使用的都是SHA256算法。所以这里先介绍一下SHA256。
1、SHA256算法步骤
STEP1:附加填充比特。对报文进行填充使报文长度与448模512同余(长度=448mod512),填充的比特数范围是1到512,填充比特串的最高位为1,其余位为0。
STEP2:附加长度值。将用64-bit表示的初始报文(填充前)的位长度附加在步骤1的结果后(低位字节优先)。
STEP3:初始化缓存。使用一个256-bit的缓存来存放该散列函数的中间及最终结果。
STEP4:处理512-bit(16个字)报文分组序列。该算法使用了六种基本逻辑函数,由64步迭代运算组成。每步都以256-bit缓存值为输入,然后更新缓存内容。每步使用一个32-bit常数值Kt和一个32-bitWt。其中Wt是分组之后的报文,t=1,2,...,16。
STEP5:所有的512-bit分组处理完毕后,对于SHA256算法最后一个分组产生的输出便是256-bit的报文。
作为加密及签名体系的核心算法,哈希函数的安全性事关整个区块链体系的底层安全性。所以关注哈希函数的研究现状是很有必要的。
2、Hash函的研究现状
2004年我国密码学家王小云在国际密码讨论年会(CRYPTO)上展示了MD5算法的碰撞并给出了第一个实例(CollisionsforhashfunctionsMD4,MD5,HAVAL-128andRIPEMD,rumpsessionofCRYPTO2004,,EuroCrypt2005)。该攻击复杂度很低,在普通计算机上只需要几秒钟的时间。2005年王小云教授与其同事又提出了对SHA-1算法的碰撞算法,不过计算复杂度为2的63次方,在实际情况下难以实现。
2017年2月23日谷歌安全博客上发布了世界上第一例公开的SHA-1哈希碰撞实例,在经过两年的联合研究和花费了巨大的计算机时间之后,研究人员在他们的研究网站SHAttered上给出了两个内容不同,但是具有相同SHA-1消息摘要的PDF文件,这就意味着在理论研究长期以来警示SHA-1算法存在风险之后,SHA-1算法的实际攻击案例也浮出水面,同时也标志着SHA-1算法终于走向了生命的末期。
NIST于2007年正式宣布在全球范围内征集新的下一代密码Hash算法,举行SHA-3竞赛。新的Hash算法将被称为SHA-3,并且作为新的安全Hash标准,增强现有的FIPS180-2标准。算法提交已于2008年10月结束,NIST分别于2009年和2010年举行2轮会议,通过2轮的筛选选出进入最终轮的算法,最后将在2012年公布获胜算法。公开竞赛的整个进程仿照高级加密标准AES的征集过程。2012年10月2日,Keccak被选为NIST竞赛的胜利者,成为SHA-3。
Keccak算法是SHA-3的候选人在2008年10月提交。Keccak采用了创新的的“海绵引擎”散列消息文本。它设计简单,方便硬件实现。Keccak已可以抵御最小的复杂度为2n的攻击,其中N为散列的大小。它具有广泛的安全边际。目前为止,第三方密码分析已经显示出Keccak没有严重的弱点。
KangarooTwelve算法是最近提出的Keccak变种,其计算轮次已经减少到了12,但与原算法比起来,其功能没有调整。
零知识证明
在密码学中零知识证明(zero-knowledgeproof,ZKP)是一种一方用于向另一方证明自己知晓某个消息x,而不透露其他任何和x有关的内容的策略,其中前者称为证明者(Prover),后者称为验证者(Verifier)。设想一种场景,在一个系统中,所有用户都拥有各自全部文件的备份,并利用各自的私钥进行加密后在系统内公开。假设在某个时刻,用户Alice希望提供给用户Bob她的一部分文件,这时候出现的问题是Alice如何让Bob相信她确实发送了正确的文件。一个简单地处理办法是Alice将自己的私钥发给Bob,而这正是Alice不希望选择的策略,因为这样Bob可以轻易地获取到Alice的全部文件内容。零知识证明便是可以用于解决上述问题的一种方案。零知识证明主要基于复杂度理论,并且在密码学中有广泛的理论延伸。在复杂度理论中,我们主要讨论哪些语言可以进行零知识证明应用,而在密码学中,我们主要讨论如何构造各种类型的零知识证明方案,并使得其足够优秀和高效。
环签名群签名
1、群签名
在一个群签名方案中,一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。与其他数字签名一样,群签名是可以公开验证的,且可以只用单个群公钥来验证。群签名一般流程:
(1)初始化,群管理者建立群资源,生成对应的群公钥(GroupPublicKey)和群私钥(GroupPrivateKey)群公钥对整个系统中的所有用户公开,比如群成员、验证者等。
(2)成员加入,在用户加入群的时候,群管理者颁发群证书(GroupCertificate)给群成员。
(3)签名,群成员利用获得的群证书签署文件,生成群签名。
(4)验证,同时验证者利用群公钥仅可以验证所得群签名的正确性,但不能确定群中的正式签署者。
(5)公开,群管理者利用群私钥可以对群用户生成的群签名进行追踪,并暴露签署者身份。
2、环签名
2001年,Rivest,shamir和Tauman三位密码学家首次提出了环签名。是一种简化的群签名,只有环成员没有管理者,不需要环成员间的合作。环签名方案中签名者首先选定一个临时的签名者集合,集合中包括签名者。然后签名者利用自己的私钥和签名集合中其他人的公钥就可以独立的产生签名,而无需他人的帮助。签名者集合中的成员可能并不知道自己被包含在其中。
环签名方案由以下几部分构成:
(1)密钥生成。为环中每个成员产生一个密钥对(公钥PKi,私钥SKi)。
(2)签名。签名者用自己的私钥和任意n个环成员(包括自己)的公钥为消息m生成签名a。
(3)签名验证。验证者根据环签名和消息m,验证签名是否为环中成员所签,如果有效就接收,否则丢弃。
环签名满足的性质:
(1)无条件匿名性:攻击者无法确定签名是由环中哪个成员生成,即使在获得环成员私钥的情况下,概率也不超过1/n。
(2)正确性:签名必需能被所有其他人验证。
(3)不可伪造性:环中其他成员不能伪造真实签名者签名,外部攻击者即使在获得某个有效环签名的基础上,也不能为消息m伪造一个签名。
3、环签名和群签名的比较
(1)匿名性。都是一种个体代表群体签名的体制,验证者能验证签名为群体中某个成员所签,但并不能知道为哪个成员,以达到签名者匿名的作用。
(2)可追踪性。群签名中,群管理员的存在保证了签名的可追
③ 挖矿app十大排名
以太坊作为第二大加密货币,因其去中心化生态和应用程序构建潜力而备受瞩目。对于个人电脑用户特别是拥有AMD高端显卡的用户,GPU挖矿是不错的选择。然而,当前以太坊的价格并不理想,挖矿收益相对较低。尽管如此,考虑到其潜在增值空间,如果价格回升,投资回报是可观的。选择以太坊挖矿不仅是为个人收益,也是对网络运行的支持。
挖矿软件是利用计算机GPU解决复杂方程的程序,它们监控硬件状态并提供相关数据。本文推荐的十大以太坊挖矿软件包括:
- ETHminer,专为以太坊设计,支持Linux、Mac和Windows,除以太坊外,还可挖掘其他代币。其命令行操作方式便于高级用户。
- CGMiner,兼容性强,适用于ASIC、FPGA和GPU,提供零延迟扩展、远程接口和新块检测功能,适用于Mac、Linux和Windows。
- Claymore,以高效率著名,其双挖矿模式允许调整哈希率,V12.0更新降低了设备费用并提供不同卡型支持。但仅限Linux和Windows。
- WinETH,适合新手的简单GUI界面,结合智能算法提供最佳性能配置,专为Windows设备设计。
在选择挖矿软件时,要考虑软件的兼容性、效率和用户体验,同时需关注市场动态,以实现最佳收益。虽然目前收益可能不高,但长期来看,以太坊挖矿仍具有投资价值。