比特币完整节点钱包
1. 比特币的数字钱包有哪些
冷钱包、热钱包、全节点钱包、轻钱包、中心化钱包。
2. 比特币钱包
比特币(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万个比特币,奖励就减半。
比特币争夺记账权的过程叫挖矿。争夺记账权的节点叫矿工。
3. 比特币钱包需要同步区块数据,那数据量是不是很大
如果你想为比特币网络作点贡献,那么运行一个要同步区块数据的全节点是个不错的选择;如果你只是想用比特币,完全不需要全结点钱包,只需安装一个新钱包,国内比较好的是币包。
4. 比特币节点是什么
那么在说说节点是什么?
节点是区块链分布式账本系统中的网络节点,通过网络连接服务器、计算机等设备,不同性质的区块链,成为节点的方式也不同,比如,比特币是参与交易和挖矿,EOS是参与竞选成为节点。
下面要说的就是什么是比特币全节点。
比特币全节点就是通过载入比特币比特币客户端(包括 BitcoinUnlimited版和bitcoincore版等), 下载并保全完整区块链数据的节点。
因为区块链交易网络的拥堵,作者通过调整广播通信、信息加密解密、共识机制、交易验证机制来解决问题,在整个比特币的网络中,从矿工到普通用户都可以看作是比特币网络中的一个节点,但是因为比特币具有多中心化的特点,在整个网络中其重要作用的是“比特币全节点。”
5. 比特币区块链是1个比特币就有一个区块链吗每个节点都有完整的区块链数据吗
比特币区块链是1个比特币就有一个区块链吗? 不是,区块保存交易的,前期你成功建立一个区块会得到一个币,后期只能得到交易所付出的费用。一枚货币是一串数字签名,是上一个拥有的人发给接受者的数字签名,所有人都可以从交易中看出谁拥有这枚货币。
每个节点都有完整的区块链数据吗? 你说的节点指的是一个用户节点? 一个用户节点需要保留最长的工作量证明链条的区块头的拷贝,所以是知道所有区块头的数据的可以向前推进知道所有区块链上的数据,但是没有全部保存下来。一个区块头是很小只有80字节,是完全能够保存下来的,因为节点的生成是很慢的。就算随着时间迁移现在来看量也不是太大的。
6. 全节点钱包、轻钱包分别是什么东西啊
钱包有哪些分类呢?
前面我们知道了钱包的多种形态,也知道了钱包其实就是“私钥、地址和区块链数据的管理工具”。根据区块链数据的维护方式和钱包的去中心化程度,我们可以把钱包分为:全节点钱包、轻钱包、中心化钱包。
全节点的代表是bitcoin-core 核心钱包,需要同步所有区块链数据,占用很大的内存,但是可以完全实现去中心化。轻钱包依赖比特币网络上其他全节点,仅同步与自己相关的数据,基本可以实现去中心化。
中心化钱包不依赖比特币网络,所有的数据均从自己的中心化服务器中获得,但是交易效率很高,可以实时到账,你在交易平台注册的账号就是中心化钱包。
7. 为什么比特币的官方钱包需要更新大量数据,而轻量级
全节点需要保存所有数据 一般节点不需要
8. 比特币在控制了超过全网络多少记帐结点下,可以伪造出一条不存在的记录
比特币的攻击不是按照记账点算的,是按照算力算的,当你控制超过51%算力的情况下,你可以 把任意已经完成的交易退回到交易前的姿态,但是不能伪造交易
假如:你有100块比特币,在卖掉后,等待记账完成(得到一个完整的数据块),这个时候你可以从交易前的 区块上重新开始 计算 ,开一条新的区块链,这个是你控制的算力大于其他人的算力,你新开的区块链生成的速度要大于之前记录你交易的区块链的速度,由于区块链的特性,当你新开是这个链长度超过 记录你交易的链之后,你这个新的链将会是主链,之前记录你交易的区块会被抛弃,这个时候你就实现了修改交易
如果你真想伪造 交易的话需要掌握全部比特币的钱包和记账点,但是到了这个时候伪造不伪造也没了意义
9. 比特币钱包更新完所有节点后重新打开时一直扫描
没事,把钱包文件(.wallet)拿出来,重装一遍就可以了。你不登陆比特币也会到账的
10. 全节点钱包、轻钱包、中心化钱包有什么区别
全节点的代表是bitcoin-core
核心钱包,需要同步所有区块链数据,占用很大的内存,但是可以完全实现去中心化。轻钱包依赖比特币网络上其他全节点,仅同步与自己相关的数据,基本可以实现去中心化。中心化钱包不依赖比特币网络,所有的数据均从自己的中心化服务器中获得,但是交易效率很高,可以实时到账,你在交易平台注册的账号就是中心化钱包。