黑客怎么偷比特币秘钥
A. 关于比特币的谜题(完结)
你可曾想过: 为什么矿机算力越大越好?(既然是解数学题那为什么不是拼谁的算法厉害啊喂!) 比特币的数量总和为什么是2100万? 比特币盗窃是怎么回事? 我不玩比特币,就真的与比特币无关了吗…… 🤔️
关于大众不再感到陌生的比特币,背后还有许多巧妙之处。本文介绍了比特币的基本原理和主要原则,并结合对部分技术细节的剖析,来对上述的一些疑问作出解答。全文较长,约7000字,阅读时间约为22分钟,建议收藏后阅读😁
文章可以分成以下几个部分:
* 比特币先验知识
-- 密码学相关
-- 比特币重要概念
* 交易的生命周期
* 区块链的构成
* 区块链的生长
-- “挖矿”的数学本质
-- “矿工”的收益
* 比特币的共识机制
-- 比特币的去中心化共识
-- “最长链优先”原则
* 比特币安全性
比特币作为第一个去中心化的数字货币,其设计中运用了不少的密码学相关知识,主要包括非对称加密技术、哈希函数等等。理解这些密码学知识,能帮助我们更好地理解比特币中的一些概念及规则。
以下是比特币的一些定义及概念解说,了解过的小伙伴们可以直接跳过~
在比特币这个创新的支付网络中,一个交易的生命周期大概可以分为几个阶段:创建、传播和被验证交织、被打包进区块记录到区块链中、获得更多的确认。图1对这几个阶段做出了示意。
注:
1⃣️一个支付方A在发起一个比特币交易时,会使用自己的私钥对交易信息的哈希值进行签名。因此A向全网广播的内容除了交易信息之外,还有自己的公钥信息、对消息的签名。其他矿工只要利用A的公钥即可对这个交易进行验证,判断是否真的由A创建。
2⃣️”交易传播和交易验证“交替意味着 各个节点基于一定的规则独立验证每个交易(共识基础1) , 一个节点只有认为这个交易有效才会把它继续传播出去。
比特币的底层技术是区块链。区块链系统是一种分布式共识系统,区块链网络中所有的参与节点将就交易的状态达成一致。
区块链到底是什么呢?你可以把它理解成一种分布式的交易的共享账本,以区块为基本单位链接在一起。交易信息将被整理并打包记录在区块中。每一个区块,包含区块头,以及紧跟其后的交易列表。区块头包含3个区块元数据集合:前序区块哈希(严格来说是前序区块头哈希,因为只有区块头被用于哈希运算)、元数据集(包括难度、时间戳、随机数等)、一个基于加密哈希来高效概括区块中所有交易的默克尔树(merkle tree)。了解这个结构,将帮助我们更好地理解挖矿的数学本质。
你可能听说过“挖矿”这个词,或者听说众人争相购买挖矿机器来发家致富。但让人疑惑的是:都说打包区块的本质是解数学难题,但单凭那些看似简陋的机器嗡嗡嗡疯狂耗费电力,就能确保自己解出比特币难题的胜率高了吗?比特币技术原理中,矿工们解决的数学题,难道是一个暴力破解题?
看了一圈,发现矿工们解决的题,还真有点暴力破解的意思,每次尝试解题的过程几乎都是茫茫然、去碰运气的。拼的是谁足够幸运,也拼谁算的足够快;算的快了么,试错次数多,自然胜算也就大了。
解题的背景是这样的—— 挖矿节点通过基于工作量证明算法(Proof-of-Work,POW)的证明运算,独立将交易汇聚到新区块中(共识基础2)。 当矿工从网络中接收到一个新的区块的时候,他发现自己已经在上一轮竞争中失败了,所以立即开始新区块的挖矿过程。为了创建一个新的区块,他从内存池中选择交易来填充区块(加入区块的第一笔交易是一个“铸币交易”,3.2节会给出详相关细节)。接下来是填充字段来创建区块头(包括前序区块的区块头哈希、交易的默克尔树(Merkel树)、时间戳、难度目标值、随机数),然后开始计算这个新区块的工作量证明。
这个计算的过程简单来说是对区块头部进行两次sha256运算,得到一个RESULT,如果这个RESULT满足特定要求,这个人才能算是算对了、才有权利去记账。满足要求的RESULT被称为“工作量证明”(中本聪论文中称为“proof of work”)。
关于这个计算过程,强调以下几点:
第一,区块头部,包含了前序区块头部的哈希、本区块交易信息的默克尔树、时间戳、难度目标值、随机数等信息(见图2)。
第二,哈希运算具有“知道y,无法推出使得h(x)=y成立的x”、“即使输入只改变一点点,输出也会差很多”、“利用任意长度的数据作为输入,生成一个固定长度的确定结果”的特性。所以大家也不知道什么样子的输入才能产生自己想要的结果,矿工只能不断尝试。
第三,前面说到,区块头哈希值需要满足一个特定要求才能成为工作量证明——小于某一阈值,或者说哈希值含有给定前缀。阈值的大小求和挖矿难度有关:挖矿难度是一个动态参数,其值越大,则阈值越小,说明哈希值符合要求的概率更小,矿工每次计算能成为工作量证明的概率越小。比特币有一个自我调节过程——通过对现有的挖矿算力情况进行估算,来对应调整挖矿难度,可以保证区块链每十分钟出一个块,达到控制发行速度的目的。(这个过程的基本思想类似产品笔试的数据估算题,根据“一个提供、一个需要“的思路去构造一个等式,然后求解等式一边的一个因子;想了解挖矿难度系统和调整方式的同学可以进一步查阅~)
综合以上三点来看,为了产生工作量证明,用户基本上会通过调整随机数来碰运气(因为其他字段基本不变)、进行多次运算直至符合要求,别无他法。如此一看,随机数就具有“幸运数字”的意味了。因此,平均来讲,谁计算的能力越强(尝试的次数越多),就更有希望打包块。
你可能会想,矿工这么心甘情愿地消耗算力去维护区块链,是受到怎样的利益驱使呢?简单来说,矿工的收益来源有二:1、计算出工作量证明,创造一个新区块所获得的新币奖励;2、记账矿工费。
当矿工找到工作量证明、打包一个新区块,并把区块传送给他的所有对等节点。 每一个挖矿节点都独立验证新区块、把合格的新区块整合进区块链(共识基础3) ,并把这个区块继续传给自己的对等节点。结果是,只有经过验证的区块才会在网络当中广泛传播,保证了诚实矿工挖出的新区块能被区块链所接纳。挖矿成功的个体节点或集体节点,可以同时获得新币奖励和记账矿工费。
新币奖励类似于货币的发行,其遵循规则是,第一个四年每一个新区块产生50btc,第二个四年每一个新区块产生25btc,第三个四年每个新区块产生12.5btc,如此周期指数递减。按照等比数列求和可知,到2140年,比特币产生的总和约为21000000(所以说比特币数量有限,天生紧缩)。届时,不再随区块的产生增加新的比特币,矿工不再拥有第一项收益。但现实中,由于挖矿成本高昂,挖矿成功的往往是是一个矿池的所有参与者。收益被分给矿池地址,矿池按照组内算力贡献比例来分摊收益的。
记账矿工费又称交易费用,以交易输入和交易输出之间的差值的形式存在;一个区块的总交易费用是对加入区块的所有交易的(交易输入-交易输出)求和。一般来说,矿工费越高的交易,会越快被处理。而矿工费在这里起到两个作用,一个是奖励矿工,另一个是防止主链滥用(防止大家发送交易垃圾信息,因为提出交易是有一定代价的)。
矿工的收益以什么样的形式被验证呢?这里不得不提到 “铸币交易” 。每个计算机节点在进行工作量证明计算之前加入区块的第一笔交易,正是“铸币交易”。这个交易从无到有生成比特币,其金额是新币奖励与记账矿工费的总和,被支付到挖矿矿工自己的比特币地址。如果矿工找到了一个工作量证明使区块有效,他就赢得了这个奖励,因为他构造的“铸币交易”生效了。
关于铸币交易和“新币奖励”,之前有一个读者问我:一个矿工把自己挖到新区块的消息公布出去,他的工作量证明 不会被别人剽窃 吗?
个人认为,至少“铸币交易”能防止这件事情发生。让我们来重申一下计算工作量证明的过程——一个矿工E在新区块里加入了奖赏自己的“铸币交易”,并利用时间戳、前序区块头哈希、随机数、本区块交易的merkle树等信息计算出一个符合要求的工作量证明。
在这个过程中,merkle树啥样子,取决于包括“铸币交易”在内的本区块所有交易信息。因此可以把铸币交易视为工作量证明的间接变量之一。那么,即使其他人拿到了E的工作量证明,这个工作量证明也是带有E的印记的、与奖赏E的铸币交易相关的,别人根本无法纳为己用。
你还可以通过设想以下的场景来加深对共识基础2“挖矿节点通过基于工作量证明算法的证明运算,独立将交易汇聚到新区块中”的理解。
为什么一个挖出新区块的矿工不悄悄使个心眼,在创建区块之初就把铸币交易的金额设成1000BTC呢?原因在于每个节点都是基于相同的规则来独立验证区块的。矿工必须创建完美的、符合公共规则的、正确依据工作量证明方法的区块;而一个无效的铸币交易会导致整个区块无效,并被其他节点拒绝,永远无法成为账本的一部分。可以预想,为了生成这个工作量证明,矿工们已经投入了巨大的算力和电量去挖矿,如果涉嫌欺诈而被否决,其为挖矿付出成本都付诸东流。
综上所述,矿工不能冒领他人的奖励,而拿到奖励的矿工也必须只能拿取符合规定的数额。
比特币的卓越之处,在于建立了一种去中心化的自发共识。这种共识是自发产生的,是成千上万在网络中遵循着共同规则的节点,在异步交互中形成的,不依赖于任何中央机构的调解和干涉。
关于比特币的4项主要共识基础,本文在讲解对应细节时有提及,下面做一个整合:
这四个过程相辅相成、互相作用,形成了自发的全网共识,促使全网节点组合出可信、公开、权威的总账。
你可能会想,比特币是一个去中心化的、基于大众信任的、依靠众人力量运转的一个东西。万一有一部分矿工被坏人收买了咋办呢?“51%攻击”指的又是什么?比特币交易所要求的“6个确认”又是怎么回事?
这里首先要提到比特币的一个规则“ 最长链优先 ”。意思是, 比特币的账单链在出现分叉的时候,每个矿工会独立选择长(累积了最多工作量证明)的链条,在上面继续挖矿工作(共识基础4) 。
这个原则主要涉及到两个问题:
当有两个矿工A和B同时挖矿成功(算出符合要求的数学答案)时,他们分别把自己计算出来的工作量证明作为下一个块的前序区块哈希,生成一个块衔接到原有的链后面,由此出现了两个分支。
这个时候,这两个成功的矿工广播了自己打包成功的消息。由于区块链是一个去中心化的数据结构,区块消息到达不同节点的时间点不一致,故不同的节点可能拥有不完全一样的区块链视图——有的矿工会先收到A的消息,有的则先收到B的消息。为了解决这个问题,收到消息的矿工们遵循一个原则:选择并尝试延长最长的链。
因此,这两条分支会各自成长一小段时间,直到他们的长度出现差异(不可能长度一直相同),比如说其中一条链的矿工们,更快地打包在支链后面又加上一块。按照“最长链优先“的规则,较短的链会被抛弃,原本工作在短链上的矿工们都回到长链上工作。
换言之,分叉只是不同节点暂时的不一致现象,当新区块被加入到其中某一分支时,最终收敛将解决这一个问题。[读者可以思考一下,为什么区块链被设置成每十分钟挖出来一个块:如果时间短了,是不是就增加了分支产生的次数?如果时间长了,是不是交易结算的效率就太低了?]
双重支付的本质其实也是区块链的分叉,但这种分叉却是“非自然恶意蓄谋”的产物。
我们假设小敏是密谋双重支付的一方,她把自己仅有的10BTC先给小强、交换一块黄金,待这条交易信息P被打包进区块Q后,她从小强手中拿到了黄金。这时,小敏使了个心眼,她想偷偷抹去、篡改区块Q上的交易信息P,“白嫖”这块黄金。为了实现这样的目的,根据“最长链优先”法则,小敏必须剔除该笔交易P后、重新进行结算工作,集中算力来形成分叉,并让分叉以更快的增速超过并取代Q所在的主链。如果小敏确实能让分叉更长,分叉就成为了主链,其他节点也会转向新主链上继续工作。这样,小强付出了黄金,却没有收到这10个比特币,“赔了夫人又折兵”。
在这个过程中,小敏需要和原链进行“抗争”,使新分叉成为最长的主链,这被称为“共识攻击”。“共识攻击”本质上是对下一区块的争夺,攻击方越“强壮”、哈希算力越大,就越容易成功。
“共识攻击“成功的可能性有多大呢?
大多数比特币交易所规定,一个交易传送到区块链上后需要6个「确认」来完成验证该笔交易。这一规定的根据是,假设意图造假的矿工拥有10%的算力(挖矿成功概率0.1),那么造假矿工要构造另一条伪链实施长度超越,必须至少成功挖矿6次。那么原链被取代、被抛弃的概率约为0.1的6次方,趋近于0。你可以把比特币理解为地质构造层,表层可能因为季节变换而有所改变,甚至可能被风刮走,但一旦深入到地下,地质层就能更加稳定、不受干扰。
而假设有一群拥有了51%算力的矿工,他们控制了一半以上的全网哈希算力,可以故意在区块链中制造分叉、进行双重支付交易 。但事实是,全网哈希算力的大量增加,个体矿工几乎不可能控制哪怕1%的哈希算力了(但矿池带来的算力集中化控制,存在一定的风险)。更何况,如果真有拥有如此强大算力的组织,他完全可以凭借自己强大的算力投入到挖矿中去获取开发新区块所获的的比特币奖励,诚实挖矿比双花更有利可图。
尽管实际上并未出现51%攻击的问题,但不可否认的是,算力的集中违背了比特币去中心化这一初衷,并成为其继续发展的一大隐患。
一个系统的安全性,往往取决于系统安全的最薄弱环节,这也就是所谓的“木桶原理“。与区块链系统相关的安全性问题包括但不限于以下几项:
(1)在区块链上被广泛使用的公钥系统基本上是安全的,但量子算法在理论上能够破解公钥系统;因此,区块链的算法安全性是相对的。
(2)区块链协议本身存在逻辑缺陷,例如受到黑客攻击的区块链系统共识机制。
(3)所有数字货币系统高度依赖私钥,私钥在存储、使用方面的安全性成为区块链系统安全性中至关紧要的一环。
尽管区块链是去中心化系统,但目前绝大多数数字交易所却是中心化的,存在着人为安全漏洞及技术安全漏洞。这些数字交易所拥有存放大量加密货币的私钥,这对于黑客来说无疑是最瞩目的目标;只要黑客偷走了这些私钥,就可以获取到这些加密货币。
作者会继续阅读相关资料、不断完善本文,目标是完成一篇通俗易懂的比特币科普文章。:)
**本文系网上信息与个人理解的结合,如有偏差及误读,欢迎读者指出。也欢迎给出关于文章结构上的指导~
B. 科技公司员工如何盗取100个比特币
3月25日电,北京市海淀区某互联网科技公司员工仲某利用职务便利,通过使用管理员权限插入代码以修改公司服务器内应用程序的方式,盗取该公司100个比特币。记者24日从北京市海淀区人民检察院获悉,检察机关以涉嫌非法获取计算机信息系统数据罪对犯罪嫌疑人仲某依法批准逮捕。
本案承办人纪敬玲检察官表示,根据《中华人民共和国刑法》及相关法律法规规定,犯罪嫌疑人仲某违反国家规定,采用技术手段,获取计算机信息系统中存储的数据,其行为已触犯刑法规定,涉嫌非法获取计算机信息系统数据罪,检察机关依法对犯罪嫌疑人仲某批准逮捕。
C. 揭秘比特币的工作原理,为什么黑客最爱勒索比特币
比特币种由源P2P软件产加密货币或电货币通俗点讲利用挖矿设备算力计算数难题网络确认交易比特币网络根据解决数难题少给定比特币奖励比特币没汇率说电货币全球通用所其汇率其币汇率比特币挖矿节点软件基于P2P网络、数字签名、密码证据发起验证交易节点向网络广播交易些广播交易经矿工验证矿工用自工作证明结表达确认确认交易打包数据块数据块串起形连续数据块链每比特币节点都收集所尚未确认交易并其归集数据块数据块前面数据块集起矿工节点附加随机调整数并计算前数据块SHA-256哈希运算值挖矿节点断重复进行尝试直找随机调整数使产哈希值低于某特定目标由于哈希运算逆寻找符合要求随机调整数非困难需要预计总数断试错程工作量证明机制发挥作用节点找符合要求解向全网广播自结其节点接收新解数据块并检验其否符合规格其节点通计算哈希值发现确实满足要求该数据块效其节点接受该数据块并其附加自已链条
D. 黑客不能破解比特币的算法吗
比特币只能利用计算能力来破解,但是这个破解成本太大了。所以没有人来破解。
E. 如何从交易所获取私钥
进入货币圈,买卖代币是不可避免的。交换是大多数人选择的对象。代币通常存储在交易所或钱包中。对于普通投资者来说,代币通常存储在交易所。在这里,Lone Bird简要介绍了存储在交易所中的代币是如何保存或转移的。
以比特币为例;交易平台每天都有巨大的比特币交易活动,用户在平台上拥有数万个比特币。为了保证比特币的安全性,交易所每天都会将比特币存储在主机服务器上,将比特币放入冷库钱包,只在服务器上保存少量比特币,以应对正常的取款请求。还有一件事。如果交易所将用户的比特币用于其他目的,用户将没有硬币可以提取。
为什么把它放在冰冷的钱包里是出于安全考虑。即使电脑被黑客入侵,黑客也无法获得比特币的私钥。私钥不会出现在其他在线终端或网络上;交换将生成大量的私钥。以及保存用户比特币的地址。
那么,交换机是如何执行冷库和取款的呢?首先是私钥的生成和备份,
1)在完全脱机的计算机上生成10000个私钥和对应的地址,使用AES加密私钥,然后删除原私钥。
2)将AES密码保存在属于不同地方的两个人手中。
3)使用加密私钥和明文地址生成QR码加密文件,并扫描一台完全脱机的电脑生成该地址文件的QR码供日常使用。
要将硬币从热钱包转移到冷钱包,每次必须是一个未使用的地址,且每个地址不能重复使用,然后将硬币在线转移到冷钱包,
1)从地址文件中取出对应的地址;
2)根据安全级别,每个地址不超过1000个比特币,每个地址使用一次,不使用。
最后,从冰冷的钱包里取出硬币。取币过程如下:
1)通过二维码将私钥密文扫描到一台完全离线的电脑中;
2)拥有AES密码的人在完全脱机的计算机上解密它,并获得私钥的明文。扫描二维码,将私钥导入另一台计算机,进行交易签名,并通过二维码将签名交易同步到所有网络计算机,并进行广播。
F. 比特币钱包地址怎么获得
现在很难,去官网上下载程序,自己做,但是可能要好几年,第二种方法就是去买,现在大约是十八美金一个,不到一百元。比特币最大交易网站Mt.Gox 。在比特币的官方网站上,有一篇中本聪的论文,详细讲述了比特币的技术原理。简而言之,比特币基于一套密码编码、通过复杂算法产生;任何人都可以下载并运行比特币软件而参与制造比特币;比特币利用电子签名的方式来实现流通,通过P2P网络来核查重复消费。
到2140年之前,比特币的总量为2100万个。建议你还是买吧。
“挖矿”2009年,一个名叫Satoshi Nakomoto的神秘黑客率先提出比特币这个概念,并描述了一种利用计算机网络创造一种不受管理的“秘密货币”的方法。不像其他的虚拟货币,比特币不由某家公司或某个央行发行,也不与任何的现实货币挂钩,却可以用来购买现实世界中的物品和服务。本质上,它可以看做是在互联网上快速传递和存储在电子钱包中的一小串加密代码。正如曾经的Napster和Skype这些P2P网络把唱片业和电话业搞得天下大乱,挑战现代货币金融学的比特币也是基于P2P——与我们常用的BT下载的技术一样。P2P的好处是,确保没有任何机构可以操控比特币的价值,或者增加供应量制造通胀。在一个庞大的P2P网络中,比特币有一种特别的算法,大概每小时产生300个,这个产量是由网络自动调节的,因为你无法控制大部分网络节点,所以无法修改每个用户的算法来加快货币产量。形象地说,比特币是由遍布世界各个角落的计算机“挖矿”而得的。如果你想要获得比特币,只需要安装挖矿软件,你的计算机就开始进行大量运算,这就是挖矿了。不管用哪一台电脑挖矿,在比特币诞生初期都很容易获得(50个比特币)。早在今年1月,50比特币还不值15美元,但是在6月9日,1个比特币的价值高达29.55美元,如果你把它们交易出去,就能换回1500美元的真金实银了。不过现在,挖矿需要拥有高性能的计算机,一些参与其中的开发者说估计普通的笔记本工作五年才能得到1个比特币。为什么会这样?我们还得从货币本身说起。经济学告诉我们,货币因交易而存在。比特币的价值也就在交易本身。为了让比特币从一个账户输送到另一个账户,得有一个安全通道,制造安全通道,则需要消耗大量能源,因此整个比特币用户群,要奖励那个造币者(50比特币)。换言之,他挖矿成功。挖矿,本质是P2P网络上制造新区块(block,每个区块包含50比特币)的过程。总之,软件算法决定了制造一个全网络都认可的新区块很难,如果参与者越多,新区块产生得就越慢。如同挖矿,随着最容易接近的资源的耗竭(假设没有新发现的矿藏),供应量就渐渐减少——算法规定,到2013年每一个区块只能生成25个比特币,2017年就只能生成12.5个,依次类推,到2030年总计数量就停留在一个平台期大约在2100万。从图形上看,这将是一条趋于平缓的曲线。现实也验证了这一点。随着比特币币值上升,参与者暴增,挖矿越来越难。在论坛上,挖矿者讨论如何用干冰、液氮来冷却计算机,提升CPU频率,加快挖矿软件运行速度,或者定制顶级电脑显卡、提高网络速度来生产更多的比特币。英国卫报消息称,有人过于神秘地在家挖矿,甚至遭到了警察的突然袭击,警方误认为此人在贩毒。最近,数字安全公司赛门铁克发现了一种新型木马病毒,这个名为Coinbit的恶意程序用于盗号,从而便于黑客侵入用户的比特币钱包并窃取其中内容。在6·19盗号事件前,LulzSec黑客团体和Anonymous团队的成员就已经发现,有更好的办法来挖矿——用别人的电脑。这些黑客团体主要依靠僵尸网络进行服务器攻击而出名,其中有成员发现,有些挖矿者居然用他们的僵尸网络来挖矿。这些挖矿者据说也是黑客,他们利用僵尸网络控制了超过10万台电脑。以目前网络的规模,可以大大提高挖矿的效率,估计每天生产400到500个比特币,目前价值大概超过8000美元(截至2011/6/28,1比特币=16.9美元)。在比特币社区上的人分为两派,一派否认有人利用僵尸网络挖矿,另一派则说这是个事实,而且承认僵尸网络的运算出现大幅度下降。一位匿名人士称,明显有人认为参与到挖矿中比起攻击挖矿能获得更高的回报。
G. 黑客侵入虚拟币交易所了吗
年年都有这事,所以找靠谱的平台还是安全,okex和58coin不错 需要下载地址我可以提供
H. 为什么这些经常有比特币公司被盗,是不是黑客发现破解
并不是的,比特币被盗的原因分为几个。
1.比特币被盗是无法找回的,丢了就是真的丢了
2.比特币固然有交易记录,但是地址是隐藏的无法找寻到个人
3.每一个比特币都是有一个密钥,只有拥有这个密钥才能被承认拥有比特币,但是如果比特币被盗或者密钥丢失那你这个比特币就彻底消失。
所以现在比特币被盗并不是属于破解可能是内部人员的关系。
I. 区块链不可欺诈不可造假,那为什么比特币老被黑客盗取
不可造价和欺诈和被黑客盗取没有逻辑关系,要是你的私钥放在不安全的地方被黑客盗取不是很正常