来源 | Ken Shirriff

编译 | Guoxi

出品 | 区块链大本营(blockchain_camp)

比特币挖矿到底有多难呢?一个外国极客用曾送宇宙飞船上天的 NASA 老古董做了一个大胆的实验。

Ken Shirriff 是一名硬件黑客,他爱好修复古董级别的电脑。Ken 曾经修复了世界上第一台个人电脑Xerox Alto,Xerox Alto 曾对史蒂夫乔布斯以及苹果公司的 Macintosh 电脑产生了巨大的影响。

这台 50 岁高龄的 NASA 阿波罗制导计算机需要超过1000000000000000000(18个0)年的时间来挖出一个比特币区块

最近,NASA 在阿波罗时代使用的宇宙飞船制导计算机又在 Ken 手中重获新生,不过这一次 Ken 没有拿它进行探月制导来恢复它往日的荣光,而是做了一个新奇的实验,用这个 50 岁高龄的老古董来挖比特币。

阿波罗制导计算机( AGC )于上世纪 60 年代由美国国家航空航天局( NASA )开发,主要用来控制阿波罗宇宙飞船上的导航与制导系统。

阿波罗制导计算机是最早使用集成电路的计算机之一,得益于当时美国倾全国之力对阿波罗计划的支持,阿波罗制导计算机代表了当时最先进的科技水平,从尺寸上来说,它已经不再是早期那种占据几个房间的“巨无霸”,已经小到能放进一个大小只有几英尺(1英尺=0.3048米)的盒子里。

Xerox Alto上的一个128KB的内存卡

据我们所知,阿波罗制导计算机内部并没有中央处理器,它使用了大约 5600 个门电路来执行计算,每秒大约可以执行 40000 次简单的加法运算。按照今天的标准,这个计算能力已经被虐成渣渣了,连你手中的智能手机都比不过,但是在当时,它在太空发射的严峻环境中稳定地对阿波罗宇宙飞船进行实时制导,在阿波罗计划中功不可没。

做自己喜欢的事情并从中赚钱是许多人的毕生追求,所以在重建并恢复了这台阿波罗制导计算机(一台真品)后, Ken 将其重新编程,用来挖比特币。虽然说在 NASA 最初的设计中,阿波罗制导计算机只是用来收集并处理数百个传感器以及火箭推进器的数据。

但这可难不倒作为硬件黑客的 Ken,在 Ken 的妙手下,本应退休的老古董再一次走向了工作岗位:挖比特币。

Ken的挖矿实拍

不同于一个中心化组织、一台主服务器的架构,比特币区块链使用一个被称为区块的虚拟账本在全球成千上万个计算机上存储比特币这种虚拟货币交易和所有权的信息。

按照中本聪的设计,每隔 10 分钟区块链系统中挖出(准确地说是生成)一个新的区块,而由谁来挖出区块夺得区块奖励则没有定论,只能靠区块链中的大量计算机竞争。

这样做消耗了大量的计算机算力,但这也是为了保证挖矿过程不被单个组织或单台计算机把控而不得不做出的妥协。

挖矿过程要生成数以万亿计的随机数字序列,直到找到那个能使哈希值小给定于阈值(也就是挖到了区块)的正确数字序列。这个过程就和买彩票一样毫无规律,但只要能找到这样一个特殊的数字序列,矿工就能获得 12.5 个比特币的奖励,按照当前的行情这笔奖励价值超过 15.7 万美元(约人民币 108 万元)。你在计算这些随机数字序列时投入的算力越多,你得到奖励的几率就越高。

这就是为什么之前比特币社区中没有人拿这种 50 岁高龄本应放入博物馆的计算机挖矿的原因。只要 70 美元(人民币不到 500 元),你就可以买到 USB 插头的比特币矿机,它每秒可以计算 1300 亿个哈希值(这样做只是小打小闹,专业的矿工往往都会租下整个数据中心或矿场来挖加密货币)。

相比之下,阿波罗制导计算机每 10 秒才能计算出一个哈希值。根据 Ken 的推算,按照阿波罗制导计算机的挖矿速度,平均 4*10 ^ 25 秒才能挖出一个区块。而经科学家测算宇宙的年龄才 138 亿年,这个数字约是宇宙年龄的 10 亿倍,也就是说真的算到了天荒地老。

屏幕以八进制显示比特币哈希值输出

挖矿这种基于概率的事件谁也说不准,也许 Ken 非常幸运,仅仅开机几分钟就挖到了一个区块,但从统计学上来说,阿波罗制导计算机需要计算 1000000000000000000(18个0) 年才能完成挖出一个区块的工作。

但当时由于技术的进步, NASA 早已升级了阿波罗制导计算机的硬件,所以挖比特币可能是这个 50 岁高龄老古董最现实的任务。

四大项目,挑战Python全栈工程师?

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

【End】

下面给大家推荐 CSDN 的好朋友——程序人生

为什么推荐程序人生?

程序人生聚集百万程序员,在这里你可以笑谈开发轶事,吐槽百味的程序人生。

无论是从行业热点到经验解析,从职场困惑到风口趋势,还有程序员不为人知的秘密,我们将为你一一揭晓。

长按下方二维码关注程序人生,可了解更多程序员的开发趣事、热点资讯:

龙泉寺的IT高僧是用哪种编程语言呢?Java ? Python?这篇10W+文章告诉你↓↓↓

程序员下班时,为啥电脑不关只揣了手机就走啦?这篇9W+文章过于真相了↓↓↓

调查上万名程序员,竟然发现女程序员比男程序员更懂 Java?怎么回事啊??↓↓↓

用 50 年前 NASA 送阿波罗上天的计算机挖矿是什么体验?相关推荐

  1. 耗时三年,14 万行,50 年前阿波罗 11 号登月的全部代码都能在 GitHub 找到了!...

    本文转自大数据文摘,作者:易琬玉 50 年前的今天,美国宇航员尼尔森·阿姆斯特朗从阿波罗 11 号飞船登月舱走出,在月球表面留下了人类登月的第一个脚印. AR 应用 "JFKmoonshot ...

  2. 耗时三年,14万行,50年前阿波罗11号登月的全部代码都能在GitHub找到了!

    大数据文摘出品 作者:易琬玉 50年前的今天,美国宇航员尼尔森·阿姆斯特朗从阿波罗11号飞船登月舱走出,在月球表面留下了人类登月的第一个脚印. 美国总统肯尼迪1961年就设定了登月目标.阿波罗计划历时 ...

  3. 程序员的数学全三册密码_阿波罗50年前成功登月,少不了这位硬核女程序员

    大约在50年前的这个时候,1969年7月21日,载着巴兹·奥尔德林和尼尔·阿姆斯特朗的阿波罗11号登月舱正在月球轨道上与CSM和迈克尔·柯林斯会合. 大家都知道这件事,但你知道吗,阿波罗能成功登月的背 ...

  4. 美国登月技术退步了?50年前就能载人着陆,怎么现在只能带着史努比绕一圈...

    杨净 明敏 发自 凹非寺 量子位 | 公众号 QbitAI 明明半个世纪前人类就已经登月了- 为什么NASA打着"重返月球"的旗号折腾了这么老长时间,最新进展还只是带着假人绕月飞行 ...

  5. 50年前的登月程序和程序员有多硬核?

    来自:酷 壳 - CoolShell,作者:陈皓 链接:https://coolshell.cn/articles/19612.html 2019年7月20日,是有纪念意义的一天,这天不是因为广大网民 ...

  6. 50年前的登月程序和程序员有多硬核

    作者:陈浩 原文链接:https://coolshell.cn/articles/19612.html 2019年7月20日,是有纪念意义的一天,这天不是因为广大网民帮周杰伦在新浪微博上的超话刷到第一 ...

  7. 发生在50年前的一局魔兽录像(1937-1945)

    发生在50年前的一局魔兽录像(1937-1945) 发生在50年前的一局魔兽录像(1937-1945) 此次国际pcgame大赛请来了当时世界上最强的2个战队参加比赛,它们分别是: 同盟国战队对协约国 ...

  8. 云栖小镇不是“镇”,就像中关村不是“村”。小镇是一个符号,就像起建于50年前的硅谷的“谷”,和100年前爱迪生所在的门洛公园。...

    云栖小镇不是"镇",就像中关村不是"村".小镇是一个符号,就像起建于50年前的硅谷的"谷",和100年前爱迪生所在的门洛公园. 转载于:ht ...

  9. 互联网始于 50 年前的 3420 室

    听当年的老人讲述阿帕网(互联网前身)诞生的故事. 作者 | MARK SULLIVAN 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: 最近,在我访问加州大 ...

最新文章

  1. python3 mysql报警日志_Python监听MySQL日志
  2. HEVC概念缩写对照表
  3. Ember版本小小结
  4. [css] 请你解释下什么是浮动和它的工作原理是什么?同时浮动会引起什么问题?
  5. IDEA添加mybatis-mapper的模板
  6. My97DatePicker 开始日期不能大于 结束日期
  7. Win7下修改Hosts文件
  8. 控制层@Value注解取不到值
  9. 联通盒子系统服务器,联通IPTV盒子刷机方法,实现软件任意安装
  10. audio语音相关的基础知识-VAD,ASR,AEC,AGC,BF等
  11. 【零基础】计算机网络技术基础与就业前景
  12. matlab用Java绘图_Java中使用MATLAB作图
  13. UMTS基础知识汇总
  14. mysql 基础 红黑联盟_[转载]mysql日期加减 – mysql数据库栏目 – 红黑联盟
  15. 德鲁克的时间管理法—《可以量化的…
  16. 贪心算法 | 神秘电报密码——哈夫曼编码
  17. 计算机网络--DHCP分析实验
  18. 三种设置session有效时间的方法
  19. zencart iis 伪静态设置 测试可用
  20. No converter found for return value of type错误解决以及消息转化器简单分析

热门文章

  1. [vscode] 禁止 pylance 插件自动添加 import
  2. [CMake] find_package 指定路径
  3. 简单理解训练集、测试集、验证集
  4. spring容器_Spring 容器的启动过程探秘
  5. 模型可视化工具netron
  6. android获取app内存信息,Android 获取内存信息(RAM,ROM)
  7. 笔记本电脑配置推荐_笔记本电脑配置推荐
  8. C++ 可变索引模板 和 template template
  9. 海龟绘图两小时上手C语言 - 4 任意螺旋线
  10. 免费 Python 学习资源大全,你想要都在这里啦(持续更新,欢迎收藏关注点赞加评论哦)