比特币最近几年非常火爆。发明者中本聪设计了一个特定的算法用于生成(发行)比特币,让各位玩家(矿工)用自己的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. Using Java SecurityManager to grant/deny access to system functions

    In Java it is possible to restrict access to specific functions like reading/writing files and syste ...

  2. mysql left( right ) join 使用on 与where的差异

    之前一直很困扰为什么left join要么一查没有数据,要么出现很多条重复数据. 百思不得其解,后来在网上到处找资料,总算明白了. 一定要理解下面几点:  (1)主表条件在on后面时附表只取满足主表筛 ...

  3. CentOS源码安装搭建LNMP全过程(包括nginx,mysql,php,svn)【转】

    转自:http://blog.csdn.net/yanzi1225627/article/details/49123659 服务器环境为:CentOS6.5 64位 目标:搭建LNMP(Linux + ...

  4. Quartz定时任务学习(二)web应用

    web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用 ...

  5. STL algorithm算法merge(34)

    merge原型: std::merge default (1) template <class InputIterator1, class InputIterator2, class Outpu ...

  6. android 68 单元测试

    package com.itheima.junit; import android.os.Bundle; import android.app.Activity; import android.vie ...

  7. Btrace

    http://www.iteye.com/topic/1005918 背景 周五下班回家,在公司班车上觉得无聊,看了下btrace的源码(自己反编译). 一些关于btrace的基本内容,可以看下我早起 ...

  8. Glossary of Terms in the JavaTM platform --reference

    http://docs.oracle.com/javase/tutorial/information/glossary.html field :A data member of a class. Un ...

  9. 编写跨平台代码之memory alignment

    编写网络包(存储在堆上)转换程序时,在hp-ux机器上运行时会遇到 si_code: 1 - BUS_ADRALN - Invalid address alignment. Please refer ...

  10. iOS Runtime 实践(1)

    很多时候我们都在看iOS开发中的黑魔法——Runtime.懂很多,但如何实践却少有人提及.本文便是iOS Runtime的实践第一篇. WebView 我们这次的实践主题,是使用针对接口编程的方式,借 ...