Tor 是 deep web 的基础设施,Tor提供了各种隐匿的手段,以规避流量审查,保护个人隐私数据。
deep web 与 Tor的特性:
1. 可以使用各种工具进入,Tor只是其中一个,但也是使用最广的一个。
2. Tor使用16位数字字母.onion,组成的随机域名
3. Tor使用的是firefox浏览器
4. 截止2017年6月为止,AlphaBay Market是最大的暗网商城
比特币的诞生是经历了一番历史,电子货币屡次尝试屡次失败,在2008年8月,中本聪(satoshi)注册了bitcoin.org之后,这是一个伟大bitcoin即将诞生的前兆,2009年1月中本聪在密码组mail list发表了一篇《比特币:一种点对点的电子现金系统》论文,并且挖掘出50个比特币之后,bitcoin开始了神话般的发展。
截止到2017年6月27日,一个比特币的价值接近2w RMB。
0x01 比特币的特性:
1. 去中心化,实现点对点
2. 无需第三方机构提供权威信息
3. 每十分钟产生一个比特币, 总量恒定,到 2140 年产出第 2100 万枚
4. 挖矿的过程,实际上是争夺全网唯一记帐权的过程
5. 记账过程比拼的是计算资源
6. 比特币的网络规则是,一旦某人掌握了全网 51%的计算资源,他就有了更改区块链记录的「超级权限」,这与网络强盗无异 。
7. 比特币依然遵循经济发展趋势。世界经济史是一部基于假像和谎言的连续剧。要获得财富,就要认清假像,投入其中,然后在假象被公众识破前退出游戏。
8. 比特币系统神奇的设计,使得信任机制没有必要存在。
0x2 交易链 [transaction chain]:
交易链是一条每次转账记录的链条。比特币的所有权在网络中以某种链条方式进行传递,所有比特币的用户都可以获取到这条交易链。
交易链记录了从第一次比特币消费,第一次下载比特币软件,需要花将近24小时对交易链进行核对,直到第一笔比特币消费记录,确保之前的每笔交易的有效性,而这种核对是一劳永逸的,只需要检查一次即可。
交易细节:
当前的消费都需要对之前的转账记录进行核对,每次交易都会有一个 txn,transaction number。转账记录里面,分两个部分:input 与 output,如果你要给别人发10个bitcoin,必须对input部分的每一个txn进行核对,output会有两个部分,一个是你转账给别人的bitcoin,一个是你转给自己的bitcoin。而且有一个规则要遵守:
input bitcoin = to self bitcoin + to others bitcoin = output bitcoin
账本的真实形式:
账本不会记录每个人的余额,而是在output部分将余额发回给自己的方法来记录。货币所有权通过验证历史交易信息来核实的,如何保证交易由货币拥有者发起的呢?(其他节点如何能确定请求是可信的呢)。因为只有真正的拥有者才有权创建交易消息。
比特币有一套密码规则,用了解锁和管理货币交易,这种密码叫“数字签名”,每一笔交易都会有一个数字签名,用来保证交易的可靠性。公钥其实就是发送至的地址,如果向某人转账,其实就是将货币发送至对方的公钥,消费的时候,你必须证明你是公钥地址的真正拥有者,通过交易信息和你的私钥来生成数字签名的过程,就可以证明你是真正的拥有者。
节点需要对进账金额的状态进行确认,避免重复进账。进账金额的状态分为两种,已消费(spent)、未被消费(unspent)
例如:
Alice --> Bob 5.0 bitcoin
所以对一笔交易的检查:
1. input部分引用之前的txn的output部分必须含有To Alice的金额
2. input的总和必须大于等于5.0
3. input的txn未被消费
还有一个问题比特币亟待解决,“未被消费的检查结果”不可靠,这就与交易顺序有关,
这与信息传送某个节点经过路径不同,到达目标的时间也不同,而且时间戳是可以伪造的。
这就无法分辨出哪个交易在前,哪个交易在后。
双重支付(Double Spending Fraud)
针对这个情况,就需要整个网络对交易的顺序达成一致
(nodes need to agree on transaction order.)
0x03 区块链 [Block Chain]:
通过将交易按组分配来对交易进行排序的,这样的组被称为区块,然后将区块连接起来,被称为区块链。与交易链比较,区块链是对交易排序,交易链则是跟踪记录所有权的变化。
每个区块会引用之前一个区块,并且是按时间顺序来排列的区块。你可以反向追踪这些链接直至最初的一笔交易。同一个区块的交易应该是在同一时刻发生的,未放入区块的交易被称为“未确认”或者“未排序”的交易,任何节点都可以将一组未经确认的交易放入区块,然后向网络中的其他节点广播他们对于下一个区块应该是什么的建议,由于同一个时刻可能有多人同时生成区块,那么网络是如何决定下一个区块的呢?
比特币系统给的解决方案的一部分是这样子,每一有效的区块必须包括,对一个特殊数学问题(Block Puzzle)的答案,就是猜出random number的值,以下是计算方法:
hash_sha256( New Block + random number ) < target
random number 是一段随机值
计算机会基于SHA256 hash算法运算,区块内的所有文本加上额外的随机数字猜测值,直到得出一个低于某特定数值(target)的输出。在比特币体系中,要猜测到这个随机数值,一台电脑要花上几年时间来,猜测一个区块,而当比特币网络中所有计算机都在猜测时,只要花上平均10分钟某台机器就能成功猜出答案。当一个节点找到了符合要求的解,就会向全网广播自己的结果,并且将他们的交易排在区块链的下一位。
猜测的随机性有效的分散了人们找到结果的时间,以致于不会有两个人同时猜到结果,但偶尔也会出现不止一个区块同时被猜测成功的情况,从而导致若干个可能的分支,如果出现这类情况:
A首先会把收到的区块X放在第一位,
B首先会把收到的区块Y放在第一位,
当有人解开下一个区块时,这种结就被打破了。 一般情况下,你都会理解切换至最长的分支,当然数学谜题使得同时解开区块变得几乎不可能,更不可能接连发生几次,最终的结果是区块链会迅速稳定下来,这意味着每个节点都是接受区块链的结尾处几个区块的排列顺序。根据下面的式子:
hash_sha256( New Block + random number ) = Block ID < Target
猜测到的结果会变为区块的ID,而区块ID,又会作为文本的一份去计算。如果要想进行下一个区块的ID计算,就必须计算出当前区块的ID,这就使得双重支付变得不可能。(换句话说,前一个区块尚未解开之前,后一个区块无法被解开)
单个人没有办法连续解出多个区块,去替换其他人的区块,由于算力资源的限制, 即使是算力达到全网一半,也就是有50%的概率在他人之前解开区块
区块链中交易越靠后越安全,因此攻击者想要实施“双重支付”攻击,就不得不花费较长时间来赶超网络中的其他主机或是替换区块链中靠后的区块,因此比特币系统只是容易在区块链的最后环节遭受“双重支付”的攻击。任何攻击者都不可能靠一己之力解出正确答案。
由于比特币生成和分发过程缓慢且有随机性,当有人解出一个区块时,这个人就会被赋予一定的奖赏,这也就是猜解区块被称作采矿的原因,尽管它真正的目的是验证交易和维护区块链。每四年,解出区块奖励减半(这就意味着,到目前为止,2017,每次挖矿只能得到0.25个比特币),因此最终不会有更多的比特币被发行,总量约为2100万。
0x04 比特币安全问题:
1. 永远不要将密码暴露给别人,因为密码有被复制和重新使用的危险
2. 比特币交易网络中,没有像银行或者信用卡公司这样的组织,可以让你求助
3. 用户犯的任何错误都会导致比特币的永久损失,不只是影响你的自己的账号,而是会影响整个比特币经济体系。
4. 为了保证交易匿名性,你可以为每笔进账交易生成一个新的公钥
0x05 比特币如何使用:
0x06 参考链接:
1. 当年一文不值,如今它比炒房还暴利
2. 走近黑客雇佣市场:刀尖上“跳舞”,悬崖边狂欢
3. AlphaBay:目前全球“人气最旺”的暗网黑市
4. 我们都是中本聪:那些孜孜以求建立密码学货币的先驱们
5. 比特币运作视频作者博客
6. 比特币人民币汇率走势
没有评论:
发表评论