比特币最近几年非常火爆。发明者中本聪设计了一个特定的算法用于生成(发行)比特币,让各位玩家(矿工)用自己的CPU、显卡,或者更加专业的矿机,通过无聊的并行计算算出比特币的特定密码(挖矿)。为了保证全网比特币按照特定的发行速度递增,并最终无限趋近于上限2100万枚,挖矿难度会根据全网算力进行动态调整。由于进场人数急剧增加,谁的算力大,谁挖到比特币的几率就高,因此这是一个类似于“军备竞赛”的过程。前期硬件投入,加上巨大的电力消耗,回本机会往往非常渺茫,更重要的是,全网如此巨大的计算力白白地消耗在毫无意义的运算中。从比特币衍生出的各类山寨币,其运作机制完全相同,同样在无畏地消耗着大量算力。

其中一个方案在最底层实现。由于各个矿机的平台不尽相同,使用者将自己要提交的代码,分解优化为一系列可重入的代码块(可以是函数),这些代码块之间除了数据传递,逻辑上是相互独立的,并且是有严格的先后线性顺序的,可并行安排。将这些代码按照某一平台进行编译,添加平台标记、顺序号,生成一系列代码段,并将这些binary提交到整个计算网络。相同平台的矿机(X86,ARM,SPARC,MOTO....)自动加载计算并返回结果给代码提交者。

显然,并行的计算,且每一个并行分支含有极高次迭代的循环结构,利用率是最好的。因此使用者设计代码时要尽量符合这样的标准。

从更高层次考虑,结构化程序理论表明,任何过程式语言都可以通过顺序、分支、循环三种基本结构进行组合。考虑将编程的基本单位,从语句提升为“算元”。经过精心挑选的基本算元(甚至可以是更高层的算法库)已安装在矿机中,使用者只需将运算过程(重复率很高的)按照一定的格式提交到全网,由网络自动分配算力,即可实现高效的利用。当然,这需要开发一种新的脚本语言。

将P2P虚拟货币(比特币、莱特币....)的算力用于公共的分布式计算的猜想的更多相关文章

  1. 虚拟货币——比特币行情价格分析

    最近挖以太币的朋友们在关注以太坊行情时,一定会发现以太币的价格对比之前上涨了不少.肯定有部分朋友想了解这次上涨的原因,我们特地为此查询了一番.因为比特币相当于虚拟货币中的黄金,它的价格波动会波及到其他 ...

  2. 比特币 Bitcoin 是什么,我勒个去,哈耶克果然超前——货币的非国有化,容我思量一下【转载+整理】

    原文地址 比特币矿业史(上):故事的开始,CPU 时代 比特币矿业史(中):群众的觉醒 ,GPU 时代 比特币矿业史(下):巨头的诞生 ,ASIC 时代 本文内容 引子 0 序 1 故事的开始 : C ...

  3. 百行go代码构建p2p聊天室

    百行go代码构建p2p聊天室 百行go代码构建p2p聊天室 1. 上手使用 2. whisper 原理 3. 源码解读 3.1 参数说明 3.1 连接主节点 3.2 我的标识 3.2 配置我的节点 3 ...

  4. 以太坊系列之十八: 百行go代码构建p2p聊天室

    百行go代码构建p2p聊天室 百行go代码构建p2p聊天室 1. 上手使用 2. whisper 原理 3. 源码解读 3.1 参数说明 3.1 连接主节点 3.2 我的标识 3.2 配置我的节点 3 ...

  5. P2P技术详解(三):P2P技术之STUN、TURN、ICE详解

    1.内容概述 在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P ...

  6. day_02比特币的转账机制及其7个名词

    一:比特币的转账机制: 类似于普通转账:登录钱包--->选择转出(入)币的钱包地址--->填入转出数额及其手续费--->比特币签名--->提交比特币网络--->进行矿工打 ...

  7. NVIDIA GRID 和 NICE DCV 技术用于实现 Linux 和 Windows® 图形加速虚拟桌面

    NVIDIA GRID 和 NICE DCV 技术用于实现 Linux 和 Windows® 图形加速虚拟桌面. NICE DCV: 满足 LINUX 和 WINDOWS 的远程 3D 通过 NICE ...

  8. 未来-区块链-Micron:区块链永远不会忘记:内存对这项革命性技术的推动作用

    ylbtech-未来-区块链-Micron:区块链永远不会忘记:内存对这项革命性技术的推动作用 1.返回顶部 1. 俗话说,大象永远不会忘记.区块链亦是如此. 内存是区块链的核心,它是一种以关键方式构 ...

  9. 亲身体验:digitalocean vps能做的10件事

    我写过一篇亲身体验:digitalocean和linode评测哪个好,帮助不少网友选购价格便宜性能优异的免备案vps,相信大家对两家产品有所了解.vps的性能和用途远远超过传统的虚拟主机,你拥有独立I ...

随机推荐

  1. JavaScript---网络编程(3)-Object、String、Array对象和prototype属性

    本节学习JavaScript的对象和方法(函数)~ Object 对象 提供所有 JScript 对象通用的功能. obj = new Object([value]) 参数 obj 必选项.要赋值为 ...

  2. Bzoj 3339: Rmq Problem && Bzoj 3585: mex 莫队,树状数组,二分

    3339: Rmq Problem Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 833  Solved: 397[Submit][Status][D ...

  3. MTK Android Driver知识大全

    一.Display 1.lcm 相关概念1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI.在使用DSI接口时,目前75/77都只支持到2条da ...

  4. Why do we need smart pointer and how to implement it.

    Here are two simple questions. Problem A #include <string> include <iostream> using name ...

  5. JavaScript运行机制浅析

    从一个简单的问题谈起: <script type="text/javascript"> alert(i); var i = 1; </script> 输出结 ...

  6. typeof和instanceof 运算符

    instanceof运算符与typeof运算符相似,用于识别正在处理的对象的类型,但是在使用 typeof 运算符时采用引用类型存储值会出现一个问题. 无论引用的是什么类型的对象,它都返回 " ...

  7. "http-8080-3" java.lang.OutOfMemoryError: PermGen space C3P0死锁的问题

    Exception in thread ""http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen ...

  8. 即时通讯(IM)

    即时通讯(IM)功能是APP的重要功能之一,而开发好移动IM却绝非易事.通常来说,IM技术选型至少要解决以下问题:1. 协议选型 2. IM服务器选型 3. 对协议和服务器做相应修改,通常来说直接拿个 ...

  9. 在Eclipse上搭建Cocos2d-x的Android开发环境

    很多其它相关内容请查看本人博客:http://www.bokeyi.com/ll/category/cocos2d-x/ 本文的搭建方法是最新最正确的方法,好多朋友反映搭建eclipse交叉编译环境非 ...

  10. Java高级--Java线程运行栈信息的获取 getStackTrace()

    我们在Java程序中使用日志功能(JDK Log或者Log4J)的时候,会发现Log系统会自动帮我们打印出丰富的信息,格式一般如下:为了免去解析StackTrace字符串的麻烦,JDK1.4引入了一个 ...