风险提示:理性看待区块链,提高风险意识!

比特币的算法是谁发明的?

2个回答

天梯7星评价

2020-09-21 21:44:45

比特币的算法是谁发明的?

SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数,经历了SHA-0,SHA-1,SHA-2,SHA-3系列发展。NSA于2007年正式宣布在全球范围内征集新新一代(SHA-3)算法设计,2012年公布评选结果, Keccak算法最终获胜成为唯一官方标准SHA-3算法,但还有四种算法同时进入了第三轮评选,分别是:BLAKE, GrøSTL, JH和SKEIN,这些算法其实也非常安全,而且经受审查,被各种竞争币频繁使用。

比特币采用SHA256算法,该算法属于SHA-2系列,在中本聪发明比特币时(2008)被公认为最安全最先进的算法之一。除了生成地址中有一个环节使用了REPID-160算法,比特币系统中但凡有需要做Hash运算的地方都是用SHA256。随着比特币被更多人了解,大家开始好奇中本聪为何选择了SHA256,同时对SHA256的安全性发表各种意见,SHA256妥妥经受了质疑,到目前为止,没有公开的证据表明SHA256有漏洞,SHA256依然牢牢抗住保卫比特币安全的大旗。当然大家心里都明白,没有永远安全的算法,SHA256被替代是早晚的事,中本聪自己也说明了算法升级的必要和过程。

只为一个馒头2星评价

2020-09-18 21:48:54

比特币的SHA256算法是美国国家安全局发明的一种算法。如果把一个字符串输入到SHA256这个函数里,比如SHA256(“apple”),输出一个256位的二进制数,比如1010101......,没有什么规律,挖矿就是基于SHA256的一个运算。

区块链是一堆交易信息,这个块里不仅仅只有交易信息,还有块的头部,每个人都有账单,去接块,在去接块的过程中,必须要算一个数学题,有一个字符串,这个字符串里的内容非常多,包括当前块的头部,账单信息,时间戳,随机数等,对这个字符串做两次SHA256运算得到一个256位的数,对这个数要求前n位必须是0,比如前9位必须是0,我们如何算出这9位都是0呢?我们只要改变这个随机数,其他的内容是改不了的,随机数从0开始,不断的尝试,直到算出前9位都是0,每个人在计算的时候题目难度是不一样的,每个人的当前块的头部是一样的,不过打包的账单可能不一样,时间戳也不一样,个人信息也不一样,所以造成随机数大小不同,运气好的话第一个数就算出来了,运气不好,虽然计算能力强,算了好长时间,最后也算不出来。不过平均来讲,谁的计算能力强,谁就更有希望打包这个块,谁就更有可能去挖到这个矿,所以大家都去买矿机。