文档章节

Bitcoin比特币学习笔记

蔡清华
 蔡清华
发布于 2014/04/14 00:34
字数 900
阅读 214
收藏 3
  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

© 著作权归作者所有

共有 人打赏支持
蔡清华
粉丝 1
博文 41
码字总数 16347
作品 0
浦东
私信 提问
比特币现金(BCH)和比特币(BTC)之争到底在争些什么?

自2017年8月1日比特币现金(BCH)诞生以来,比特币现金(BCH)就经常被拿来和比特币做对比。许多人认为比特币现金(BCH)是比特币的直接竞争对手。随着比特币现金(BCH)不断的发展强大,比特币现金(...

lpy411
05/25
0
0
必看:区块链新手基础知识学习指南10则

一、什么是区块链? 区块链中的“区块”,指的是数据包,其中数据包里全部都是记录数据的本子,可以把这些数据想象成会计的记账本,那么“区块链”就是由一个一个区块首尾相连形成的一条链条...

十阁主
07/24
0
0
比特币ETF与比特币ETN到底有什么不同?

比特币ETF和比特币ETN都可以在不直接持有BTC的情况下,达到投资比特币的目的。 比特币ETN指是比特币交易所交易票据,它是通过追踪价格走势来让用户参与投资;在使用交易票据投资比特币的时候...

币圈小助手
08/22
0
0
最危险的开源项目——比特币

一时间,关于比特币的信息充斥着互联网的各个角落,11月19日上午,比特币的价格又如同做了次过山车,最高触及900美元的高价,然后在30分钟内跌到 了650美元,但这仍然比18日的最高价569美元上...

oschina
2013/11/20
13.4K
81
比特币现金今日价格_比特币现金价格_今日比特币现金价格_06.12

--目前已经严重跌破了ma360年线,比特币选择了向下的趋势,所以这种情况下我们应该逢反弹减仓。 影响价格的因素,也开始变得不再单一,而是多项因素的综合叠加。政治、监管、安全,都可能变成...

lpy411
06/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS官方钱包keosd

EOS官方钱包的名称是keosd,它负责管理你的私钥,并且帮你进行交易的签名。 不过不幸的是,keosd钱包对普通用户并不友好,它是一个命令行程序,目前还没有像以太坊的mist那样的图形化界面,而...

汇智网教程
今天
20
0
ArrayList的实现原理以及实现线程安全

一、ArrayList概述 ArrayList是基于数组实现的,是一个动态的数字,可以自动扩容。 ArrayList不是线程安全的,效率比较高,只能用于单线程的环境中,在多线程环境中可以使用Collections.syn...

一看就喷亏的小猿
今天
20
0
Netty 备录 (一)

入职新公司不久,修修补补1个月的bug,来了点实战性的技术---基于netty即时通信 还好之前对socket有所使用及了解,入手netty应该不是很难吧,好吧,的确有点难,刚看这玩意的时候,可能都不知道哪里...

_大侠__
昨天
30
0
Django简单介绍和用户访问流程

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django遵守BSD版权,初...

枫叶云
昨天
36
0
Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试...

程序猿DD
昨天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部