Bitcoin比特币学习笔记

  1. 学习网站

    bitcoin.org 初学者应该先看bitcoin.org,其属于官方网站,权威专业,简单易懂。特别要仔细研究一下中本聪的论文https://bitcoin.org/bitcoin.pdf

    网站可以切换为中文状态浏览。


2. 比特币是如何发行的?

Block header包含哪些内容:version(4byte), prevhash(32), merkle_root(32), nbits(4), ntime(4), nonce.

比特币的发行和交易记账都要靠矿工挖矿来完成。


3. 什么是哈希算法(hash算法)?

学过数据结构的都应该知道hash,但这里也还是再说明一下。hash的含义就是用一个较短的文字/数字,来表示一个较长的文字/数字。

把较长的数字,变为较短的数字的计算过程,叫做hash算法。同时,hash算法从数学上保证了,只能从长数字变为短数字,从短数字无法反过来得到长数字。

如果两个不同的长数字,通过hash算法得到了相同的短数字,就叫冲突。

参考:https://bitcointalk.org/index.php?topic=352114.0;wap2


4. 什么是公钥,什么是私钥?

程序发布者用私钥对程序加密,程序接收者用公钥验证程序有没有被第三方篡改。这个私钥也被称为数字签名。


公开密钥加密(英语:public-key cryptography,也称为非对称(密钥)加密),该思想最早由雷夫·莫寇(Ralph C. Merkle)在1974年提出[1],之后在1976年。狄菲(Whitfield Diffie)与赫尔曼(Martin Hellman)两位学者以单向函数与单向暗门函数为基础,为发讯与收讯的两方创建密钥。


非对称密钥,是指一对加密密钥与解密密钥,这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。


如果加密密钥是公开的,这用于客户给私钥所有者上传加密的数据,这被称作为公开密钥加密(狭义)。例如,网络银行的客户发给银行网站的账户操作的加密数据。


如果解密密钥是公开的,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。


常见的公钥加密算法有: RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(英语:Elliptic Curve Cryptography, ECC)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。

http://zh.wikipedia.org/wiki/%E5%85%AC%E5%BC%80%E5%AF%86%E9%92%A5%E5%8A%A0%E5%AF%86

你可能感兴趣的:(Bitcoin比特币学习笔记)