比特币地址和签名
⑴ 比特币的数字签名是什么
比特币的数字签名,就是只有比特币转账的转出方生成的,一段防伪造的字符串。通过验证该数字串,一方面证明该交易是转出方发起的,另一方面证明交易信息在传输中没有被更改。
数字签名通过数字摘要技术把交易信息缩短成固定长度的字符串。举个栗子,牛牛发起一笔比特币转账,需要先将该交易进行数字摘要,缩短成一段字符串,然后用自己的私钥对摘要进行加密,形成数字签名。完成后,牛牛需要将原文(交易信息)和数字签名一起广播给矿工,矿工用牛牛的公钥进行验证,如果验证成功,说明该笔交易确实是牛牛发出的,且信息未被更改。
同时,数字签名加密的私钥和解密的公钥不一致,采用非对称加密技术。看起来好复杂,其实转账只需要你输入私钥就瞬间完成啦!
⑵ 比特币都有哪些基本概念和术语如何通俗地理解它们
比特币
首字母大写的Bitcoin用来表示比特币的概念或整个比特币网络本身。例如:“今天我学了些有关Bitcoin协议的内容。”
而没有大写的bitcoin则表示一个记账单位。例如:“我今天转出了10个bitcoin。”该单位通常也简写为BTC或XBT。
比特币地址
比特币地址就像一个物理地址或者电子邮件地址。这是别人付给你比特币时你唯一需要提供的信息。然而一个重要的区别是,每个地址应该只用于单笔交易。
对等式网络
对等式网络是指,通过允许单个节点与其他节点直接交互,从而实现整个系统像有组织的集体一样运作的系统 。对于比特币来说,比特币网络以这样一种方式构建——每个用户都在传播其他用户的交易。而且重要的是,不需要银行作为第三方。
哈希率
哈希率是衡量比特币网络处理能力的测量单位。为保证安全,比特币网络必须进行大量的数学运算。当网络达到10Th/秒的哈希率时,就意味着它能够进行每秒10万亿次的计算。
交易确认
交易确认意味着一笔交易已经 被网络处理且不太可能被撤销。当交易被包含进一个 块时会收到一个确认,后续的每一个块都对应一个确认。对于小金额交易单个确认便可视为安全,然而对于比如1000美元的大金额交易,等待6个以上的确认比较合理。每一个确认都成 指数级地降低交易撤销的风险。
块链
块链是一个按时间顺序排列的比特币交易公共记录。块链由所有比特币用户共享。它被用来验证比特币交易的永久性并防止双重消费。
密码学
密码学是数学的一个分支,它让我们创造出可以提供很高安全性的数学证明。电子商务和网上银行也用到了密码学。对于比特币来说,密码学用来保证任何人都不可能使用他人钱包里的资金,或者破坏块链。密码学也用来给钱包加密,这样没有密码就用不了钱包。
签名
密码学签名是一个让人可以证明所有权的数学机制。对于比特币来说,一个比特币钱包和它的私钥通过一些数学魔法关联到一起。当你的比特币软件用对应的私钥为一笔交易签名,整个网络都能知道这个签名和已花费的比特币相匹配。但是,世界上没有人可以猜到你的私钥来窃取你辛苦赚来的比特币。
钱包
比特币钱包大致实体钱包在比特币网络中的等同物。钱包中实际上包含了你的私钥,可以让你消费块链中分配给钱包的比特币。和真正的钱包一样,每个比特币钱包都可以显示它所控制的所有比特币的总余额,并允许你将一定金额的比特币付给某人。这与商家进行扣款的信用卡不同。
区块
一个块是块链中的一条记录,包含并确认待处理的交易。平均约每10分钟就有一个包含交易的新块通过挖矿的方式添加到块链中。
双重消费
如果一个不怀好意的用户试图将比特币同时支付给两个不同的收款人,就被称为双重消费。比特币挖矿和块链将就两比交易中那笔获得确认并被视为有效在网络上达成一致。
私钥
私钥是一个证明你有权从一个特定的钱包消费比特币的保密数据块,是通过一个密码学签名来实现的 。如果你使用的是钱包软件,你的私钥就存储在你的计算机内;如果使用的是在线钱包,你的私钥就存储在远程服务器上。千万不能泄露私钥,因为它们可以让你消费对应比特币钱包里的比特币。
挖矿
比特币挖矿是利用计算机硬件为比特币网络做数学计算进行交易确认和提高安全性的过程。作为对他们服务的奖励,矿工可以得到他们所确认的交易中包含的手续费,以及新创建的比特币。挖矿是一个专业的、竞争激烈的市场,奖金按照完成的计算量分割。并非所有的比特币用户都挖矿,挖矿赚钱也并不容易。
Bit
Bit 是标明一个比特币的次级单位的常用单位 -1,000,000 bit 等于1 比特币 (BTC 或 B⃦).,这个单位对于标示小费、商品和服务价格更方便。
BTC
BTC 是用于标示一个比特币 (B⃦). 的常用单位。
⑶ 什么是比特币的数字签名
比特币中的数字签名,是交易中的发起方产生的,为了保证这笔交易确实是由此人发起,并且数据在传输时没有被篡改。数字签名简单点来说,就是完整的交易信息,通过数字摘要技术压缩成固定格式的字符串,然后通过非对称加密技术,生成一个私钥。将完整的交易信息和数字签名传送给矿工,矿工用交易发起方的公钥对数字签名进行解密,解密成功,就将此交易数据写到区块中。
⑷ 比特币地址怎么填写啊
你可以下载一个比特币钱包,或者在交易平台上注册。每个人的比特币地址都是独一无二的。有地址就可以进行比特币转账。下载比特币客户端或者比特币钱包,也能注册自己的比特币地址。比特币地址是一串由字母和数字组成的26位到34位字符串,看起来有些像乱码。
比特币地址就是个人的比特币账户,相当于你的银行卡卡号,任何人都可以通过你的比特币地址给你转账比特币。红框位置就是比特币地址。登录我的比特币包钱就可以看到。
(4)比特币地址和签名扩展阅读:
比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。
与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在2100万个。
比特币可以用来兑现,可以兑换成大多数国家的货币。使用者可以用比特币购买一些虚拟物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,也可以使用比特币购买现实生活当中的物品。
参考资料:网络-比特币
⑸ 比特币地址和密钥之间有什么关系
在接收或发送比特币时都会用到比特币地址,是由数字和字母组成的字符串。
比特币是建立在密码学基础之上的,因此其地址也是匿名的,所以极大的保证地址的安全性,而私钥是用来保护用户对比特币的所有权。
两者都是为了保证用户账号安全性而存在的。
⑹ vds持币地址
VDS钱包是属于HD钱包类型。VDS和比特币都拥有相同的私钥机制,一个私钥同时对应一个VDS地址和比特币地址。
地址类型:所有地址都具备,转账和支付功能。1.普通地址:用于创建VID地址,以及多签地址。2.VID地址:用于创建信任钢印网络,匿名聊天,多签地址。3.匿名地址:用于匿名转账,交易不可追溯,不可创建多签地址。4.多签地址:用于多人共同管理一个账户资产,需要满足要求才可以转账。
创建多签地址方法:1.签名地址:可以是普通地址,VID地址。2.多签地址:用签名地址共同创建的地址。
⑺ 比特币的私钥,公钥,签名,钱包,都是什么意思我下载了一个bitcoin-0.8.5比特币客户端,该怎么用
私钥就是你的银行卡密码,地址就是你的银行账号,但是私钥更重要,有了私钥可以推出地址,忘了私钥就啥都没了,签名就是个性化设置,加一道验证手续,钱包就是小atm机,更新完了就可以发,wallet文件保存好就没事情了,btc中国还行,可以买币。
⑻ 比特币如何防止篡改
比特币网络主要会通过以下两种技术保证用户签发的交易和历史上发生的交易不会被攻击者篡改:
非对称加密可以保证攻击者无法伪造账户所有者的签名;
共识算法可以保证网络中的历史交易不会被攻击者替换;
- 非对称加密算法3是目前广泛应用的加密技术,TLS 证书和电子签名等场景都使用了非对称的加密算法保证安全。非对称加密算法同时包含一个公钥(Public Key)和一个私钥(Secret Key),使用私钥加密的数据只能用公钥解密,而使用公钥解密的数据也只能用私钥解密。
- 1使用如下所示的代码可以计算在无限长的时间中,攻击者持有 51% 算力时,改写历史 0 ~ 9 个区块的概率9:
- #include
- #include
- double attackerSuccessProbability(double q, int z) {
- double p = 1.0 - q;
- double lambda = z * (q / p);
- double sum = 1.0;
- int i, k;
- for (k = 0; k <= z; k++) {
- double poisson = exp(-lambda);
- for (i = 1; i <= k; i++)
- poisson *= lambda / i;
- sum -= poisson * (1 - pow(q / p, z - k));
- }
- return sum;
- }
- int main() {
- for (int i = 0; i < 10; i++) {
- printf("z=%d, p=%f\n", i, attackerSuccessProbability(0.51, i));
- }
- return 0;
- }
- 通过上述的计算我们会发现,在无限长的时间中,占有全网算力的节点能够发起 51% 攻击修改历史的概率是 100%;但是在有限长的时间中,因为比特币中的算力是相对动态的,比特币网络的节点也在避免出现单节点占有 51% 以上算力的情况,所以想要篡改比特币的历史还是比较困难的,不过在一些小众的、算力没有保证的一些区块链网络中,51% 攻击还是极其常见的10。
- 防范 51% 攻击方法也很简单,在多数的区块链网络中,刚刚加入区块链网络中的交易都是未确认的,只要这些区块后面追加了数量足够的区块,区块中的交易才会被确认。比特币中的交易确认数就是 6 个,而比特币平均 10 分钟生成一个块,所以一次交易的确认时间大概为 60 分钟,这也是为了保证安全性不得不做出的牺牲。不过,这种增加确认数的做法也不能保证 100% 的安全,我们也只能在不影响用户体验的情况下,尽可能增加攻击者的成本。
- 研究比特币这样的区块链技术还是非常有趣的,作为一个分布式的数据库,它也会遇到分布式系统经常会遇到的问题,例如节点不可靠等问题;同时作为一个金融系统和账本,它也会面对更加复杂的交易确认和验证场景。比特币网络的设计非常有趣,它是技术和金融两个交叉领域结合后的产物,非常值得我们花时间研究背后的原理。
- 比特币并不能 100% 防止交易和数据的篡改,文中提到的两种技术都只能从一定概率上保证安全,而降低攻击者成功的可能性也是安全领域需要面对的永恒问题。我们可以换一个更严谨的方式阐述今天的问题 — 比特币使用了哪些技术来增加攻击者的成本、降低交易被篡改的概率:
比特币使用了非对称加密算法,保证攻击者在有限时间内无法伪造账户所有者的签名;
比特币使用了工作量证明的共识算法并引入了记账的激励,保证网络中的历史交易不会被攻击者快速替换;
- 通过上述的两种方式,比特币才能保证历史的交易不会被篡改和所有账户中资金的安全。
非对称加密
图 4 - 51% 攻击
总结
⑼ 当你向朋友转了两个比特币,在交易的过程中你提交了哪些信息给矿工
地址、金额、手续费、比特币签名
传统转账是在银行账户之间进行的。同样,比特币转账就是把比特币从一个比特币地址转移到另一个比特币地址上的过程。它的转账过程也类似:
①登陆钱包:你需要登陆你的钱包,类似登陆银行的网银、支付宝、微信等;
②选择钱包地址:你先选好要从自己哪个比特币地址转币给你的朋友,也就是自己的银行卡号(或者支付宝账号微信账号)。
③填写转账钱包地址、金额、手续费、比特币签名、矿工记账:填写好朋友收币的比特币钱包地址,填写转账的数额、比如100个然后写下你想付出的交易手续费金额,签上你的比特币签名,提交给比特币网络,然后就等矿工们来处理记账了。
④转账确认:确定支付后交易信息会在比特币网络进行全网广播,矿工每隔10分钟会将比特币网络中未被记账的交易打包进一个区块,这就完成了一次确认,此时比特币已转到对方账户。通常需要经过6次确认,确保交易记录不能被任何人窜改,转账才算真正完成。
⑽ 比特币的私钥,公钥,签名,钱包,都是什么意思
我把我家地址(地址)给你,你有可以查到我家邮编(公钥),你用我家邮编(公钥)+地址写信给我,邮件到我家邮递柜里面,我用只有我有的钥匙打开邮递柜(私钥)。快递柜钥匙存放在我的钱包里面(钱包)
1、邮递柜被盗(数据库被盗)
2、钥匙被盗(私钥被盗)
3、知道我家地址(公钥被盗),邮递柜锁被暴力打开(私钥被暴力破解)。