大家好,感谢邀请,今天来为大家分享一下比特币基本知识的问题,以及和比特币基本知识点的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
本文目录
比特币基础知识 你绝对想不到比特币如何算出来的如何通俗易懂得解释什么是区块链,什么是比特币比特币是什么比特币基础知识 你绝对想不到椭圆曲线数字签名算法
椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线对数字签名算法(DSA)的模拟,该算法是构成比特币系统的基石。
私钥
非公开,拥有者需安全保管。通常是由随机算法生成的,说白了,就是一个巨大的随机整数,32字节,256位。
大小介于1~0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141之间的数,都可以认为是一个合法的私钥。
于是,除了随机方法外,采用特定算法由固定的输入,得到32字节输出的算法就可以成为得到私钥的方法。于是,便有了迷你私钥(MiniPrivkey),原理很简单,例如,采用SHA256的一种实现:
privatekey=SHA256()1
迷你私钥存在安全问题,因为输入集合太小,易被构造常见组合的彩虹表暴力破解,所以通常还是使用系统随机生成的比较好,无安全隐患。
公钥
公钥与私钥是相对应的,一把私钥可以推出唯一的公钥,但公钥却无法推导出私钥。公钥有两种形式:压缩与非压缩。
早期比特币均使用非压缩公钥,现大部分客户端已默认使用压缩公钥。
这个貌似是比特币系统一个长得像feature的bug,早期人少活多代码写得不够精细,openssl库的文档又不足够好,导致Satoshi以为必须使用非压缩的完整公钥,后来大家发现其实公钥的左右两个32字节是有关联的,左侧(X)可以推出右侧(Y)的平方值,有左侧(X)就可以了。
现在系统里两种方式共存,应该会一直共存下去。两种公钥的首个字节为标识位,压缩为33字节,非压缩为65字节。以0x04开头为非压缩,0x02/0x03开头为压缩公钥,0x02/0x03的选取由右侧Y开方后的奇偶决定。
压缩形式可以减小Tx/Block的体积,每个TxInput减少32字节。
签名
使用私钥对数据进行签署(Sign)会得到签名(Signature)。通常会将数据先生成Hash值,然后对此Hash值进行签名。签名(signature)有两部分组成:R+S。由签名(signature)与Hash值,便可以推出一个公钥,验证此公钥,便可知道此签名是否由公钥对应的私钥签名。
通常,每个签名会有三个长度:73、72、71,符合校验的概率为25%、50%、25%。所以每次签署后,需要找出符合校验的签名长度,再提供给验证方。
地址
地址是为了人们交换方便而弄出来的一个方案,因为公钥太长了(130字符串或66字符串)。地址长度为25字节,转为base58编码后,为34或35个字符。base58是类似base64的编码,但去掉了易引起视觉混淆的字符,又在地址末尾添加了4个字节校验位,保障在人们交换个别字符错误时,也能够因地址校验失败而制止了误操作。
由于存在公钥有两种形式,那么一个公钥便对应两个地址。这两个地址都可由同一私钥签署交易。
公钥生成地址的算法:
Version=1byteof0(zero);onthetestnetwork,thisis1byteof111
Keyhash=VersionconcatenatedwithRIPEMD-160(SHA-256(publickey))
Checksum=1st4bytesofSHA-256(SHA-256(Keyhash))
BitcoinAddress=Base58Encode(KeyhashconcatenatedwithChecksum)1234
下图是非压缩公钥生成地址的过程:
对于压缩公钥生成地址时,则只取公钥的X部分即可。
推导关系
三者推导关系:私钥
公钥
两个地址。过程均不可逆。拥有私钥便拥有一切,但通常为了方便,会把对应的公钥、地址也存储起来。
交易
比特币的交易(Transation,缩写Tx),并不是通常意义的交易,例如一手交钱一手交货,而是转账。交易由N个输入和M个输出两部分组成。交易的每个输入便是前向交易的某个输出,那么追踪到源头,必然出现一个没有输入的交易,此类交易称为CoinBaseTx。CoinBase类交易是奖励挖矿者而产生的交易,该交易总是位于Block块的第一笔。
拥有一个输入与输出的Tx数据:
Input:
Previoustx:f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6
Index:0
scriptSig:304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501
Output:
Value:5000000000
scriptPubKey:OP_DUPOP_HASH160404371705fa9bd789a2fcd52d2c580b65d35549d
OP_EQUALVERIFYOP_CHECKSIG12345678910
一旦某个Tx的第N个输出成为另一个Tx的输入,那么该笔比特币即为已花费。每个交易有唯一Hash字符串来标识,通过对交易数据做两次SHA256哈希运算而来:
TxHashID=SHA256(SHA256(TxData))1
矿工费
矿工费(TransactionFee)是鼓励矿工将Tx打包进Block的激励报酬。计算一笔交易的矿工费:
TransactionFee=SUM(Inputsamount)-SUM(Outputsamount)1
每笔Tx的矿工费必然大于等于零,否则该笔Tx即为非法,不会被网络接收。
数据块
数据块(Block)是存储BlockMeta与Tx的地方。Block的第一笔Tx总是CoinBaseTx,因此Block中的交易数量总是大于等于1,随后是这段时间内网络广播出来的Tx。
找到合适的Block是一件非常困难的事情,需要通过大量的数学计算才能发现,该计算过程称为“挖矿”。首个发现者,会得到一些比特币作为奖励。
数据链
多个Block连接起来成为数据链(BlockChain)。
为了引入容错与竞争机制,比特币系统允许BlockChain出现分叉,但每个节点总是倾向于选择最高的、难度最大的链,并称之为BestChain,节点只认可BestChain上的数据。
首个Block称为GenesisBlock,并设定高度为零,后续每新增一个Block,高度则递增一。目前是不允许花费GenesisBlock中的比特币的。
每个Block中的Tx在此Block中均唯一
一个Tx通常只会在一个Block里,也可能会出现在多个Block中,但只会在BestChain中的某一个Block出现一次
货币存储
比特币是密码货币、纯数字化货币,没有看得见摸得着的硬币或纸币。一个人持有比特币意味着:
其拥有一些地址的私钥
这些地址是数笔交易的输出,且未花费
所有货币记录均以交易形式存储在整个blockchain数据块中,无交易无货币。货币不会凭空产生,也不会凭空消失。遗失了某个地址的私钥,意味着该地址上的Tx无法签署,无法成为下一个Tx的输入,便认为该笔比特币永久消失了。
货币发行
既然所有交易的输入源头都是来自CoinBase,产生CoinBase时即意味着货币发行。比特币采用衰减发行,每四年产量减半,第一个四年每个block的coinbase奖励50BTC,随后是25btc,12.5btc,并最终于2140年为零,此时总量达到极限为2100万个btc。
减半周期,严格来说,并不是准确的四年,而是每生成210000个block。之所以俗称四年减半,是因为比特币系统会根据全网算力的大小自动调整难度系统,使得大约每两周产生2016个block,那么四年约21万块block。
该函数GetBlockValue()用于计算挖得Block的奖励值:
int64staticGetBlockValue(intnHeight,int64nFees)
{
int64nSubsidy=50*COIN;
//Subsidyiscutinhalfevery210000blocks,whichwilloccurapproximatelyevery4years
nSubsidy=(nHeight/210000);
returnnSubsidy+nFees;
}123456789
当达到2100万btc以后,不再有来自CoinBase的奖励了,矿工的收入来源仅剩下交易的矿工费。此时,每个block的收入绝对值btc很低,但此时比特币应当会非常繁荣,币值也会相当的高,使得矿工们依然有利可图。
杜绝多重支付
传统货币存在多重支付(DoubleSpending)问题,典型的比如非数字时代的支票诈骗、数字时代的信用卡诈骗等。在比特币系统里,每笔交易的确认均需要得到全网广播,并收录进Block后才能得到真正确认。每笔钱的花销,均需要检测上次输入交易的状态。数据是带时间戳的、公开的,BlockChain由巨大的算力保障其安全性。所以比特币系统将货币的多重支付的风险极大降低,几近于零。通过等待多个Block确认,更是从概率上降低至零。一般得到6个确认后,可认为非常安全。但对于能影响你人生的重大支付,建议等待20~30个确认。
匿名性
任何人均可以轻易生成大量的私钥、公钥、地址。地址本身是匿名的,通过多个地址交易可进一步提高匿名性。但该匿名性并不像媒体宣传的那样,是某种程度上的匿名。因为比特币的交易数据是公开的,所以任何一笔资金的流向均是可以追踪的。
不了解比特币的人为它的匿名性产生一些担忧,比如担心更利于从事非法业务;了解比特币的人却因为它的伪匿名性而苦恼。传统货币在消费中也是匿名的,且是法律保障的,大部分国家都不允许个人涂画纸币。
地址本身是匿名的,但你可以通过地址对应的私钥签名消息来向公众证明你拥有某个比特币地址。
其他名词
哈希
哈希(Hash)是一种函数,将一个数映射到另一个集合当中。不同的哈希函数映射的空间不同,反映到计算机上就是生成的值长度不一样。同一个哈希函数,相同的输入必然是相同的输出,但同一个输出却可能有不同的输入,这种情况称为哈希碰撞。
常见的哈希函数有CRC32,MD5,SHA1,SHA-256,SHA-512,RIPEMD-160等,哈希函数在计算中有着非常广泛的用途。比特币里主要采用的是SHA-256和RIPEMD-160。
脑钱包纸钱包
前面提到过的脑钱包与纸钱包,这其实不算是钱包的分类,只是生成、存储密钥的方式而已。脑钱包属于迷你私钥的产物。脑钱包就是记在脑袋里的密钥,纸钱包就是打印到纸上的密钥,仅此而已。
有同学提到过,以一个计算机文件作为输入,例如一个数MB大小的照片,通过某种Hash运算后得到私钥的方法。这个方案的安全性还是不错的,同时可以防止盗私钥木马根据特征扫描私钥。文本形式存储私钥是有特征的,而一个照片文件却难以察觉,即使放在云盘等第三方存储空间中都是安全的。
比特币如何算出来的从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。
以钞票来比喻的话,比特币就是钞票的冠字号码,知道了某张钞票上的冠字号码,就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有2100万个特解,所以比特币的上限就是2100万个。
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。
在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
钱包
比特币钱包使用户可以检查、存储、花费其持有的比特币,其形式多种多样,功能可繁可简,它可以是遵守比特币协议运行的各种工具,如电脑客户端、手机客户端、网站服务、专用设备;
也可以只是存储著比特币私密密钥的介质,如一张纸、一段暗号、一个快闪U盘、一个文本文档,因为只要掌握比特币的私密密钥,就可以处置其对应地址中包含的比特币。比特币无法存入一般的银行账户,交易只能在比特币网络上进行,使用前需下载客户端或接入线上网络。
以上内容参考百度百科-比特币
如何通俗易懂得解释什么是区块链,什么是比特币事实上,整个白皮书里都没有说比特币是一种货币,只是说它是一种支付系统。因此,比特币需要从两个层面来理解:比特币支付系统是什么;比特币是什么。
1.比特币支付系统
当你去商场里购物时,你说你身上带了1000块钱,它的实际含义是,你的口袋里有总额1000元面额的现金。这些现金是看得见摸得着的,当你消费时,它也会进行实际的转移。
那么,当你说你的银行账户里有100万时,这个100万是什么呢?这100万其实是一个数字。你所理解的账户里的钱变多了变少了,就是这个数字的变化。这个时候你的钱其实是抽象的。
当你进行一笔消费,向别人转账时。用程序来实现,实质上就是在你的账户上减了一个数字,在别人账户上加了一个数字。这个事情是银行来做的。如果你们俩的账户碰巧开在同一个银行,那这笔交易行为只发生在这家银行内部。对银行而言,它的总资产不会发生变化。
如果你们俩的账户开在不同的银行,这个时候就发生了银行间的资金转移,这个最终是由央行的支付清算系统来做的,央行在A银行的账户上减了一个数字,在B银行的账户上加了一个数字。
原理上,所有的交易都是通过这样的加加减减来实现。人类社会现在所有的经济行为也就建立在这样的一套系统之上。
各银行的数据都汇总到央行来集中处理,所以我们称之为中心化的支付系统。而各个银行自己的清算系统,则可以视作该系统的子系统。
那么这套支付系统的本质是什么呢?其实就是刚说的那些加减的一个账本。
比特币的支付系统其实也类似,本质上也是账本。
举个例子,如果你现在要炫富,你可以晒一张银行账户截图。如果你晒不出来,你说你有钱,大家会说你吹牛。大家相信银行,但不会相信你。
你的朋友给你打了一笔款,你户头上的数字增加了。这个数字的本质是什么呢?就是银行承认你有这笔钱。如果银行不承认,事实上这笔钱也不存在。
所以说到底,你有多少钱,就是要得到银行支付系统的承认。银行是一个中心化的第三方。
比特币支付系统也类似,你有多少比特币,是需要得到区块链网络的承认。
什么是区块链?
一幅漫画让你秒懂
区块链技术是指一种全民参与记账的方式。所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。目前是各自记各自的账。
由于没有中心化的中介机构存在,让所有的东西都通过预先设定的程序自动运行,不仅能够大大降低成本,也能提高效率。而由于每个人都有相同的账本,能确保账本记录过程是公开透明的。
区块链技术是比特币的底层技术,比特币在没有任何中心化机构运营和管理的情况下,多年运行非常稳定,没有出现过任何问题,所以有人注意到了它的底层技术,把比特币技术抽象提取出来,称之为区块链技术,或者分布式账本技术。
根据西班牙最大银行桑坦德发布的一份报告显示,2020年左右如果全世界的银行内部都使用区块链技术的话,大概每年能省下200亿美元的成本。这样的数据足以说明“区块链”给传统金融领域带来的巨大变革和突破。
云计算通常定义为通过互联网来提供动态易扩展且经常是虚拟化的资源,但是提供云计算平台的往往是一个中心化机构。而区块链组成的网络一般是没有特定的机构,所以区块链更接近分布式计算系统的定义,属于分布式计算的一种。
Q币是一种中心化的电子货币,包括总量,发行方式都是由腾讯公司控制的。而比特币的总量,发行方式都是由程序和加密算法预先设定后,在全世界的多个节点上运行,没有任何人和机构可以修改,不受任何单一人或者机构来控制。一般称Q币为电子货币,或者企业代币。称比特币为数字货币或者加密数字货币。
比特币是什么1.比特币基本知识普及
比特币(BitCoin)是一种P2P形式的数字货币。比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币是一种网络虚拟货币,数量有限,跟腾讯公司的Q币类似,但是可以用来套现:可以兑换成大多数国家的货币。比特币与其他虚拟货币最大的不同,是其总数量是非常有限的,具有极强的稀缺性。该货币系统在前4年内只有不超过1050万个,之后的总数量将被永久限制在2100万个之内。还有一点是,你可以用电脑生产比特币。这也是目前有比特币挖矿这么个说法。2008年爆发全球金融危机,当时有人用“中本聪”的化名发表了一篇论文,描述了比特币的模式,这个过程可以这样理解:每隔10分钟,世界上将出现一个上了锁的百宝箱,里面装着特定数量的比特币,谁有本事打开这个百宝箱,就能获得箱子里的财富。。2009年,不受央行和任何金融机构控制的比特币诞生。比特币是一种“电子货币”,由计算机生成的一串串复杂代码组成,新比特币通过预设的程序制造,随着比特币总量的增加,新币制造的速度减慢,直到2140年达到2100万个的总量上限,被挖出的比特币总量已经超过1200万个。和法定货币相比,比特币没有一个集中的发行方,而是由网络节点的计算生成,谁都有可能参与制造比特币,而且可以全世界流通,可以在任意一台接入互联网的电脑上买卖,不管身处何方,任何人都可以挖矿、购买、出售或收取比特币,并且在交易过程中外人无法辨认用户身份信息。P2P的分布式特性与不存在中央管理机制的设计确保了任何机构都不可能操控比特币的价值,或者制造通货膨胀。
2.比特币的来源目前有两种,一种是挖矿,另一种是交易。
比特币挖矿:
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。比特币的挖掘现在是越来越难了。前段时间还可以几天挖一枚,以后很有可能几周甚至更长时间挖出一枚。用什么挖矿?经过一定的设置,你的“电脑”就是一个矿工,让它帮你挖比特币。
比特币的交易:
国内外有很多网上的比特币交易机构,接受比特币与法定货币的兑换。其中Mt.Gox是最早及最具实力的比特币交易平台,2010年成立于日本。Bitstamp和BTC-e是另外两个国外较大的交易所。国内也出现了大量的交易平台,比如BTCChina(比特币中国)成立于2011年6月,是第一家在中国境内运营的交易平台(中国最大),也是全球交易量前三的公司化运行平台。另外,2013年以来也出现一批新兴的比特币交易平台,如BTC360(比特币360)。
3.其它
最初每个只卖5美分的比特币,价格一度冲到266美元,可过了没几天,又大幅跌至40美元,值得注意的是,最近的这一轮比特币大涨一度达到了一千多美元,折合人民币7588.88元(BJtime20131130am10),。有很大一部分原因是中国人的力量。而央行2013年12月5日下午发布《关于防范比特币风险的通知》,央行在这一通知中称比特币不是货币,只是一种虚拟商品,此外,金融机构和支付机构不得开展与比特币相关的业务。这一内容的发布无疑对比特币的市场价格产生的重大的影响。至于后市如何,我想借助一句经典的广告语来形容:那就是一切皆有可能!让我们拭目以待。。。毕竟是个普及贴,大概就说这么些了。如果还想了解更深入一些的话网上有很多相关介绍呢。
比特币中国
https://vip.btcchina.com/
比特币实时报价
http://info.btc123.com/index_btcchina.php
文章来源
http://user.qzone.qq.com/740046996/blog/1386598947
文章到此结束,如果本次分享的比特币基本知识和比特币基本知识点的问题解决了您的问题,那么我们由衷的感到高兴!