比特币钱包区块链数据大小
区块链(Blockchain)是比特币的一个重要概念,本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
区块链在网络上是公开的,可以在每一个离线比特币钱包数据中查询。比特币钱包的功能依赖于与区块链的确认,一次有效检验称为一次确认。通常一次交易要获得数个确认才能进行。轻量级比特币钱包使用在线确认,即不会下载区块链数据到设备存储中。
比特币的众多竞争币也使用同样的设计,只是在工作量证明上和算法上略有不同。如,采用权益证明和SCrypt等等。
莱特币、狗狗币、千金卡、瑞泰币等数字货币也都是基于区块链技术开发出来的数字货币。
B. 潘志彪:比特币区块链扩容为什么选择2MB
虽然大家对于扩容提出来各种方案,但基本可以划分为两类:长期规则派与短期搁置派。长期派偏理想、规则型,一口气敲定便不再折腾,典型代表BIP101/103,设定一个增长规则,便不再调整。短期派则认为未来不可预测,固定的规则过于简单暴力的解决问题,希望设置一个短期数年方案暂时先避开,搁置至未来解决,代表为BIP100,但由于投票过程复杂,后简化为BIP102/109等,而BIP248则一口推迟至2020年,近几年就简单采取翻番增长。
自2015年06月以来,经过了大半年来的大范围的反复讨论,目前长期规则派基本完败。2015 年12月比特币香港扩容会议由Pieter Wuille提出了隔离见证(Segregated Witness)之后,扩容问题甚至已经简化为仅升级至2MB,但陷入了关于实施时间点的争论之中。
一个看似简单的扩容技术问题,却引发比特币社区花了大半年时间,开了数次全球技术会议、私下打无数口水仗,却依然未有明确定论。其背后深刻原因是,区块限制值上调是无法真正解决比特币扩容问题的。
不过,有一些项目确实自建区块链,例如以太坊、DECENT。
C. 比特币钱包
比特币(bitcoin)诞生于2008年的一篇论文。
一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受?
Merkle tree
跟二叉树长得很像,只是这个是下面两个节点取哈希值得到上面节点。只需要记住根节点,就可以检测整棵树有没有被篡改。
根哈希值存在block header里,交易过程存在block body里。全节点包括block header和block body,但是轻节点(比如手机上比特币钱包)只包括block header。这棵树可以证明包含某个交易已经被写进了区块链。
3.共识协议
去中心化的货币要注意的两个问题:
1.谁能发行数字货币:挖矿。
2.怎么验证交易的合法性:区块链。
双花攻击(double spending attack)
双花攻击是数字货币的一个主要挑战。
比特币中的交易都要有输入和输出,币从哪来,花到哪去。
正常情况也可能有两个分叉,因为两个节点同时获得记账权,两个节点打包的区块,同时计算出了那个随机数。此时会暂时两个分叉共存,直到其中某一个区块抢先找到了下一个区块,这条就成了最长合法链,另一个分叉就被丢弃。
女巫攻击(sybil attack)
某恶意节点不停产生账户,账户总数超过总账户的一半,则取得了区块链的控制权。
比特币中的共识协议(Consensus)
一些节点是有恶意的,大部分节点是好的。
想法1:把一些交易打包到区块里作为候选区块,让每个区块投票,如果通过就写入区块链。
不行,因为有的恶意节点一直发布一些含有恶意交易的区块,则一直投票,占用资源。而且有的节点不投票。
想法2:不按账户个数投票,而是按照计算力投票。每个节点都可以产生合法交易放入区块,这些节点就开始试随机数,直到找到H(block header)≤ target,则这个节点有记账权。
唯一产生比特币的途径
coinbase transaction。这个不用指出币的来源,有了记账权的节点(找到了随机数)会有出块奖励。
50BTC->25BTC->12.5BTC,每21万个比特币,奖励就减半。
比特币争夺记账权的过程叫挖矿。争夺记账权的节点叫矿工。
D. 比特币钱包的历史数据会有多大
比特币钱包的历史数据比较大的。
一般来说,比特币钱包的历史数据包括有关于比特币交易的所有历史信息;但对于个人而言,一般只需要下载与个人的比特币相关的历史数据就行了。
现在有比特币钱包以网络在线钱包的形式比较多;个人用户只需要通过注册帐户信息,就可以管理个人的钱包。这样的话,个人用户基本上不需要考虑比特币钱包历史数据的问题。
E. 比特币钱包需要同步区块数据,那数据量是不是很大
如果你想为比特币网络作点贡献,那么运行一个要同步区块数据的全节点是个不错的选择;如果你只是想用比特币,完全不需要全结点钱包,只需安装一个新钱包,国内比较好的是币包。
F. 比特币钱包在电脑上占多大资源
目前的比特币区块链数据容量是不断继续增长中的现在大概10G了,而很多朋友的安装系统的时候,C盘并没有设置的很大,你是否担心有一天C盘会爆炸呢。现在就和我学如何做数据迁移吧。( 需先关闭Bitcoin客户端)
1、找到bitcoin的数据文件夹;
XP---C:\Documents and Settings\username\Application Data\Bitcoin
vista,win7---C:\Users\username\AppData\Roaming\Bitcoin
(注:AppData是隐藏的,设置显示隐藏文件。)
2、把这个Bitcoin文件夹,剪切到你空间比较大的其他驱动器,比如e盘;
3、编辑桌面上的Bitcoin快捷方式,复制下面这一行到“目标”栏中,保存即可:
"C:\Program Files\Bitcoin\bitcoin-qt.exe" -datadir=e:\Bitcoin
现在,双击桌面上的Bitcoin快捷方式,客户端就启动了,而你的C盘,也获得了拯救,成功释放出空间。
G. 在电脑上安装比特币钱包客户端,同步数据大概有多大
BITCOIN-QT钱包2017年的全节点数据大概5G
你可以用轻钱包,不用同步所有全节点数据,轻钱包数据大概5M.