比特币独特的非对称加密技术
⑴ 网上经常将比特币与区块链等同起来,可以理解为区块链就是比特币吗
比特币是一种数字加密货币,他是由计算机通过特定数学计算而产生,也存储在计算机中。因比特币仅仅是计算机中的一串数据,相对纸质货币而言,它也被称作“虚拟币”。区块链是比特币的底层运用,比特币只是他的一个应用而已。如果我的回答能够对您有帮助的话,请采纳
⑵ 为什么比特币不怕被盗
比特币最重要的特性是去中心化,比特币的去中心化是用非对称加密技术和分布式存储实现的。比特币第2个特性是不可篡改,这是用工作量证明机制和最长链机制来保障的。
⑶ 什么是比特币加密技术
比特币和区块链的诞生需要依赖于很多核心技术的突破:一是拜占庭容错技术;二是非对称加密技术;三是点对点支付技术。下面会依次介绍。
拜占庭容错技术
比特币和区块链诞生的首要难点在于如何创建分布式共识机制,也就是菜斯利·兰伯特等人1982年提出的拜占庭将军问题。所谓拜占庭将军问题是指,把战争中互不信任的各城邦军队如何达成共识并决定是否出兵的决策过程。延伸至计算机领域,试图创建具有容错性的分布式系统,即使部分节点失效仍可确保系统正常运行,也可让多个基于零信任基础的节点达成共识,并确保信息传递的一致性。
中本聪所提到的“拜占庭将军问题”解决方法起始于亚当﹒拜克在1997年发明的哈希现金算法机制,起初该设计是用于限制垃圾邮件发送与拒绝服务攻击。2004年,密码朋克运动早期和重要成员哈尔·芬尼将亚当﹒拜克的哈希现金算法改进为可复用的工作量证明机制。他们的研究又是基于达利亚·马凯与迈克尔·瑞特的学术成果:拜占庭容错机制。正是哈尔·芬尼的可复用的工作量证明机制后来成为比特币的核心要素之一。哈尔·芬尼是中本聪的最早支持者,同时也是第一笔比特币转账的接受者,在比特币发展的早期与中本聪有大量互动与交流。
非对称加密技术
比特币的非对称加密技术来源于以下几项密码学的技术创新:1976年,Sun公司前首席安全官Whitfield Diffie与斯坦福大学教授Martin Hell,在开创性论文《密码学的新方向》首次提出公开钥匙密码学的概念,发明了非对称加密算法。1978年省理工学院的伦纳德·阿德曼、罗纳德·李维斯特、阿迪·萨莫尔三名研究人员,共同发明了公开钥匙系统“RSA”可用于数据加密和签名,率先开发第一个具备商业实用性的非对称RSA加密算法。1985年,Neal Koblitz和Victor Miller俩人,首次提出将椭圆曲线算法(ECC),应用于密码学,并建立公钥加密的算法,公钥密码算法的原理是利用信息的不对称性,公钥对应的是私钥,私钥是解开所有信息的钥匙,公钥可以由私钥反推算出。ECC能够提供比RSA更高级别的安全。比特币使用的就是椭圆曲线算法公钥用于接收比特币,而私钥则是比特币支付时的交易签名。这些加密算法奠定了当前非对称加密理论的基础,被广泛应用于网络通信领域。但是,当时这些加密技术发明均在NSA严密监视的视野之内。NSA最初认为它们对国家安全构成威胁,并将其视为军用技术。直到20世纪90年代末,NSA才放弃对这些非对称加密技术的控制,RSA算法、ECC算法等非对称加密技术最终得以走进公众领域。
不过,中本聪并不信任NSA公布的加密技术,在比特币系统中没有使用RSA公钥系统,原因除了ECC能够提供比RSA更高级别的安全性能外,还担心美国安全部门在RSA留有技术后门。2013年9月,斯诺登就曾爆料NSA采用秘密方法控制加密国际标准,比特币采用的RSA可能留有后门,NSA能以不为人知的方法弱化这条曲线。所幸的是,中本聪神一般走位避开了RSA的陷阱,使用的加密技术不是NSA的标准,而是另一条鲜为人知的椭圆曲线,这条曲线并不在美国RSA的掌握之下。全世界只有极少数程序躲过了这一漏洞,比特币便是其中之一。
⑷ 比特币的数字签名是什么
比特币的数字签名,就是只有比特币转账的转出方生成的,一段防伪造的字符串。通过验证该数字串,一方面证明该交易是转出方发起的,另一方面证明交易信息在传输中没有被更改。
数字签名通过数字摘要技术把交易信息缩短成固定长度的字符串。举个栗子,牛牛发起一笔比特币转账,需要先将该交易进行数字摘要,缩短成一段字符串,然后用自己的私钥对摘要进行加密,形成数字签名。完成后,牛牛需要将原文(交易信息)和数字签名一起广播给矿工,矿工用牛牛的公钥进行验证,如果验证成功,说明该笔交易确实是牛牛发出的,且信息未被更改。
同时,数字签名加密的私钥和解密的公钥不一致,采用非对称加密技术。看起来好复杂,其实转账只需要你输入私钥就瞬间完成啦!
⑸ 比特币的核心技术包括哪些
比特币的核心技术包括1、非对称加密技术 2、点对点传输技术 3、哈希现金算法机制。
1.非对称加密技术和对称加密技术最大的不同就是有了公钥和私钥之分。非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。公钥是公开的,私钥是保密的。 由于不涉及私钥的传输,整个传输过程就变得安全多了。后来又出现了具备商业实用性的非对称RSA加密算法以及后来的椭圆曲线加密算法(ECC),这些都奠定了加密算法理论的基础,但是美国国家安全局NSA最初认为这些技术对国家安全构成威胁,所以对这些技术进行了严密的监控,知道20世纪90年代末NSA才放弃了对这些技术的监控,这些非对称技术才最终走入了了公众的视野。这项技术对应到比特币场景中就是比特币的地址和私钥。
2.点对点传输技术顾名思义,就是无需中心服务器、个体之间可以相互传输信息的技术,P2P网络的重要目标就是让所有客户端都能提供资源,包括宽带、存储空间和计算能力。 对应到比特币网络中就是利用点对点的技术实现真正的去中心化。
3.哈希现金算法机制就是让那些制造垃圾邮件的人付出相应的代价!发送者需要付出一定的工作量,比如说哈希运算,几秒钟时间对于普通用户不算什么,但对于垃圾邮件的发送者每封邮件都要花几秒钟的时间,这样的成本是没有办法负担的。同时每次运算都会盖上一个独一无二的时间戳,这样就能保证邮件发送方不能重复使用一个运算结果。 对于比特币而言也是同样的道理,如何保证一笔数字货币没有被多次消费(Double Spending),就类似于验证一封邮件没有被多次发送,所以就要保证每一笔交易顺利完成,必须要付出一定的工作量(proof of Work),并且在完成交易时盖上一个时间戳表示交易完成的时间。
⑹ 2021年,更多支付巨头将采用加密货币,加密货币的加密原理是什么
一、首先要了解加密货币是什么?
加密货币 (Cryptocurrency) 是在加密安全对等经济系统中作为交易媒介而形成的一种数码资产产产品。使用加密技术来验证和保护交易并控制其他单位的创建。与我们认知的中心化银行系统不同,大部分的加密货币是以非中心化的形式进行,分布式地散播运行在世界各地的电脑系统网络(也称为节点)。任何拥有互联网的使用者或者是微弱的无线电信号都能轻易的通过点击按钮跟世界各地的人进行交易。与跨国银行转账相比,加密货币的转帐手续费较低,而且交易是不可逆转,与信用卡公司允许的退款交易不一样。加密货币单位的发行和管理架构是根基于编程机算法和加密证据来决定的。这些都被视为一组自定义的规则,也称为协议。用于定义在加密货币世界的运行方式。非中心化机制意味着加密货币不能由单一个体控制,用户之间的交易中亦不能在没有依赖第三方中介情况下进行。然而,亦有部分私营公司和基金管理公司开发不同程度属性的非中心化加密货币技术。根据网络结构和节点分布,有些加密货币要比其他加密货币相对的中心化的。
⑺ 比特币的数字签名简介
比特币中的数字签名,是交易中的发起方产生的,为了保证这笔交易确实是由此人发起,并且数据在传输时没有被篡改。数字签名简单点来说,就是完整的交易信息,通过数字摘要技术压缩成固定格式的字符串,然后通过非对称加密技术,生成一个私钥。将完整的交易信息和数字签名传送给矿工,矿工用交易发起方的公钥对数字签名进行解密,解密成功,就将此交易数据写到区块中。
⑻ 比特币如何防止篡改
比特币网络主要会通过以下两种技术保证用户签发的交易和历史上发生的交易不会被攻击者篡改:
非对称加密可以保证攻击者无法伪造账户所有者的签名;
共识算法可以保证网络中的历史交易不会被攻击者替换;
- 非对称加密算法3是目前广泛应用的加密技术,TLS 证书和电子签名等场景都使用了非对称的加密算法保证安全。非对称加密算法同时包含一个公钥(Public Key)和一个私钥(Secret Key),使用私钥加密的数据只能用公钥解密,而使用公钥解密的数据也只能用私钥解密。
- 1使用如下所示的代码可以计算在无限长的时间中,攻击者持有 51% 算力时,改写历史 0 ~ 9 个区块的概率9:
- #include
- #include
- double attackerSuccessProbability(double q, int z) {
- double p = 1.0 - q;
- double lambda = z * (q / p);
- double sum = 1.0;
- int i, k;
- for (k = 0; k <= z; k++) {
- double poisson = exp(-lambda);
- for (i = 1; i <= k; i++)
- poisson *= lambda / i;
- sum -= poisson * (1 - pow(q / p, z - k));
- }
- return sum;
- }
- int main() {
- for (int i = 0; i < 10; i++) {
- printf("z=%d, p=%f\n", i, attackerSuccessProbability(0.51, i));
- }
- return 0;
- }
- 通过上述的计算我们会发现,在无限长的时间中,占有全网算力的节点能够发起 51% 攻击修改历史的概率是 100%;但是在有限长的时间中,因为比特币中的算力是相对动态的,比特币网络的节点也在避免出现单节点占有 51% 以上算力的情况,所以想要篡改比特币的历史还是比较困难的,不过在一些小众的、算力没有保证的一些区块链网络中,51% 攻击还是极其常见的10。
- 防范 51% 攻击方法也很简单,在多数的区块链网络中,刚刚加入区块链网络中的交易都是未确认的,只要这些区块后面追加了数量足够的区块,区块中的交易才会被确认。比特币中的交易确认数就是 6 个,而比特币平均 10 分钟生成一个块,所以一次交易的确认时间大概为 60 分钟,这也是为了保证安全性不得不做出的牺牲。不过,这种增加确认数的做法也不能保证 100% 的安全,我们也只能在不影响用户体验的情况下,尽可能增加攻击者的成本。
- 研究比特币这样的区块链技术还是非常有趣的,作为一个分布式的数据库,它也会遇到分布式系统经常会遇到的问题,例如节点不可靠等问题;同时作为一个金融系统和账本,它也会面对更加复杂的交易确认和验证场景。比特币网络的设计非常有趣,它是技术和金融两个交叉领域结合后的产物,非常值得我们花时间研究背后的原理。
- 比特币并不能 100% 防止交易和数据的篡改,文中提到的两种技术都只能从一定概率上保证安全,而降低攻击者成功的可能性也是安全领域需要面对的永恒问题。我们可以换一个更严谨的方式阐述今天的问题 — 比特币使用了哪些技术来增加攻击者的成本、降低交易被篡改的概率:
比特币使用了非对称加密算法,保证攻击者在有限时间内无法伪造账户所有者的签名;
比特币使用了工作量证明的共识算法并引入了记账的激励,保证网络中的历史交易不会被攻击者快速替换;
- 通过上述的两种方式,比特币才能保证历史的交易不会被篡改和所有账户中资金的安全。
非对称加密
图 4 - 51% 攻击
总结
⑼ 比特币交易过程中是如何加密的
比特币系统是采用非对称加密来提升交易安全性。这也是盈富财经学院的人告诉我的,当时有个朋友在那。
在信息加密以及解密过程中,会使用了不同的密钥,只有利用对应的公钥才能进行解密,拥有私钥就等于拥有比特币的所有权。
同样,比特币用户也需通过身份验证,就能确保自身加密货币资产的所有权。
⑽ 比特币基础教学之:怎样保护你的私钥
用对称加密的方法保管私钥
对称加密(Symmetric-key algorithm)是指加密和解密都用一个密钥。我们平时用到的加密方法一般都是对称加密,比如 winrar 中的加密,bitcoin-qt中对私钥文件的加密也是用的对称型加密算法。常用的对称加密算法有:AES、DES、RC4、RC5等等。对称加密需要用 户设置相对比较复杂的密钥,以防止被暴力破解。
加密命令:encryptwallet YOURPASSWORD
解密钱包命令:
walletpassphrase YOURPASSWORD TIMEOUT
更改密码命令:
walletpassphrasechange OLDPASSWORD NEWPASSWORD
方法二,使用blockchain提供的AES加密。Blockchain为用户提供基于AES算法的私钥文件加密服务。用户可以将加密好的文件下载下来,并妥善保存。 方法三,用第三方软件Truecrypt对密钥文件加密,这也是编者比较推荐的方法。Truecrypt开源免费,软件成熟度很高,而且支持双因素认证和整个硬盘加密。另外,FBI人员在Truecrypt上面吃过亏,因此口碑很不错。
Truecrypt的口碑
Truecrypt只支持对称加密算法。使用它的用户必须要将密钥牢记,如果你忘记密钥,那么没有人能够恢复你加密的文件。
Truecrypt官方网站
Truecrypt使用文档
用非对称加密的方法保管私钥
非对称加密方法所采用公钥和私钥的形式来对文件进行加密。用户可以用公钥来对文件进行加密,用私钥对文件解密。常见的非对称加密算法有RSA、 Elgamal、ECC等等。非对称加密的好处是密钥的复杂度一般很高,可以很有效的防止被暴力破解。缺点是有一定的使用门槛,不太适合普通级用户。 方法一、个人用户可以考虑使用RSA来进行加密。首先,可以创建公钥和私钥,点击这里生成密钥。将公钥私钥妥善保管后,便可以用公钥加密和私钥解密了,点击这里进行加密和解密。
RSA公钥和私钥的产生过程
方法二、比较成熟的非对称加密软件有我们可以采用PGP(Pretty Good Privacy)工具来对文件进行加密。PGP加密可以让每个公钥邦定到一个用户的所有信息。相比RSA来讲,PGP的功能更加完善可靠。但是随着PGP 的升级,新的加密消息有可能不被旧的PGP系统解密,所以用户在使用PGP之前应该首先熟悉PGP的设置。PGP加密工具网上有很多,编者就不列举了。
wiki中关于PGP的介绍
PGP在线加解密系统PGP命令FAQ高级方法保管私钥
上述保管私钥的方式都很常见,有经验的攻击者依然可能得到用户的私钥文件。关于更加高级隐秘的私钥保管方式,参见以后的比特币高级教学内容。