# Coding - 午夜场

想法 玩物 创意


  • Home

  • Tags1

  • Categories1

  • Archives12

  • About

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

Posted on 2014-07-23 | Edited on 2019-04-14

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

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

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

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

Linux Bash环境下特殊符号转义的小结

Posted on 2014-02-17 | Edited on 2019-04-14

在lang:bash中,$、*、?、[、]、’、”、`、\、有特殊的含义。类似于编译器的预编译过程,lang:bash在扫描命令行的过程中,会在文本层次上,优先解释所有的特殊字符,之后对转换完成的新命令行,进行内核的系统调用。

其中,反引号类似于函数调用,而不仅仅是简单的文本替换及匹配。

命令行中,被单引号引用的部分,其中所有的特殊字符按照普通字符解释;

双引号引用的部分,仅解释$(美元符号)、\(\n \t除外)、`(反引号),解释后的文本仅按照普通文字处理(同单引号)。

反引号相当于命令替换,引用的部分优先执行,将运行结果替换到外层的命令行文本中;反引号可以嵌套,但是嵌套时内部的反引号必须用\转义

反斜杠用于命令换行,以及echo -e解释。

网上各种文章常见的例子,其中第二行重点介绍一下:

1
2
3
4
5
6
7
8
# x=*                     
# echo $x      此行执行了两次替换,将$x替换为*,之后将*替换为当前目录下所有文件列表的文本,

          该文本作为参数赋给echo(lang:bash会自动按照优先级,进行多层次替换 )
hello.sh menus.sh misc.sh phonebook tshift.sh
# echo '$x' $x不进行任何解释,直接将文本‘$x’作为参数赋给echo
$x
# echo "$x" $x替换为*,但是由于在双引号内,*不做替换,因此文本“*”将作为参数赋给echo

Tips:

大多数Linux Distribution的默认shell为lang:bash,查询当前主机所有shell可执行如下命令:

1
$ cat  /etc/shell

lang:bash内部集成了40多条命令,通用格式为:

$ 命令 [-选项] [参数]

其中,”-“后为单字符选项,”–”后为完整的单词选项。一般来说,命令的某项功能(feature),会同时支持单字符选项及对应的多字符选项。

在lang:bash中,、?、[、]有特殊的含义,用于字符匹配。代表0到多个字符,?代表单个字符。[]用于匹配单个字符,内部用短横线按照ASCII码顺序标明匹配的字符范围,或者枚举所有要匹配的字符。

1…456
Justin Su

Justin Su

想法 玩物 创意
12 posts
1 categories
1 tags
E-Mail GitHub Twitter Instagram
© 2013 – 2019 radiolover
Powered by Hexo v3.8.0
|
Theme – NexT.Pisces v7.1.0
- 科技美学 - 爱好天文的工程师 - 上海 - WIRELESS - 区块链 - 自驾旅行 - 尼康爱好者 - EDM - 火车迷 - 极简主义 -