Living a Simple Life is a Happy Life

有饭吃,自由自在,就非常开心

关于GDP的一些随想

| Comments

GDP是什么

国内生产总值 (gross domestic product, GDP) 是在某一既定时期一个国家内生产的所有最终物品与劳务的市场价值。

GDP(用Y代表)被分为四个组成部分:消费(C)、投资(I)、政府购买(G)、净出口(NX):

1
Y = C + I + G + NX

比特币的blockchain-2

| Comments

比特币的发展史上,非常非常早期就出现了一种名为侧链(sideChains)的技术;

这个技术早在2008年比特币代码尚未发布时,就在论坛上有所讨论,后来比特币网络开始运行,各种Geek点子层出不穷,从最初的namecoin(域名币),到后来的(Counterparty)、万事达币(Mastercoin)和彩色币(ColoredCoin)等附生链;再到后来百链齐开,大家试图在完全不同的链上转移交换资产;以及最近到blockstream的Liquid,以及基于闪电网络的原子交换(Atomic Swap),这个技术的发展一直不温不火,但毫无疑问,侧链技术绝对是blockchain技术的重要组成部分。

顺便说一句,技术的演化是一个渐进的过程,中间甚至还会有倒退;比特币社区早期提出了非常多的天马行空的点子,但大多过于超前和激进,所以你说投机者也好,先烈也罢,大部分都湮没在历史风尘之中了;但是这些技术的一个重要应用,就是后来人再用几个高大上的名词包装一下,原样推出来继续割韭菜;

比如对比现在的一干稳定币;bitshares表示不服;

比如现在的各种DPOS算法,死去的先烈们纷纷表示生不逢时;

而且一个新技术出来,伴随着大量术语(有时候一个名词用不同语言说出来就感觉是两个技术),比如各种Smart Contract,智能合约,双向锚定,智能资产,Oracles,预言机,图灵完备,零知识证明,分布式自治组织DAO,Dcententralize Autonomous Oganization,DAPP,hyperledger,DistributedLedger,DistributedNetwork,ERC20,~~~把人忽悠的一愣一愣的;

而且最让人想不通的,你要说某某技术是在比特币基础上搭建的,我们的第一反应就是:庞氏骗局;如果他说他的项目是踏着五色云彩,手持先知卷轴,以联盟链为基础,建立在全球的去中心化内容协议之上,采用了区块链与分布式存储技术,要构建一个世界范围内的自由金融体系,已经有XXX,YYY,ZZZ等各大机构支持投资,以及UUU,ZZZ等诺贝尔奖级别的专家背书,我们便会对其顶礼膜拜~~~~

好了,不八卦了;为了避免受骗,只有一个办法,就是这个世界谁都靠不住,只能自己搞明白,让我们看看这个侧链技术究竟是大忽悠还是真本事。

我初次接触到这个技术时,不禁感叹社区的强大,连这么匪夷所思的东东都能想出来,总之可以总结为:

还有这种操作?

那么,接下来就从2010年,比特币的早期说起,这个侧链的技术究竟是如果诞生、演化的。

~~ 填坑中

比特币的blockchain-1

| Comments

blockchain是个新造词,至少在2008年之前网上是搜索不到这个词的;

比特币的白皮书里面出现过chain of blocks的描述,但是没有直接用block chain的句子;

在早期bitcointalk.org上面的讨论中,为了方便讨论,早期参与者频繁引用chain of blocks的主题,但是谁是最早的引用者,已不可考据。

如果真正要较真blockchain这个单词第一次出现的地方,我想大概是中本聪的第一版bitcoin 源代码中;

bitcoin v0.01源代码中,中本聪第一次在函数注释中 完整的引用了block chain这个术语,鉴于中本聪在比特币白皮书发表的2年前已经开始编写源码;所以有理由确认:

  1. blockchain这个名词是2007-2008年间诞生于世间的
  2. 中本聪是比特币之父,比特币是blockchain之母

现在有一种说法,是比特币和区块链是不同的,比特币是个没有什么前途的庞氏货币,而区块链作为一种新兴的基础技术将会在很多领域发扬光大,前景光明;

对于这个说法,我认为Andreas的一场演讲值得一看:

https://www.youtube.com/watch?v=SMEOKDVXlUo

一种提高比特币私钥碰撞机率的思路

| Comments

之前的文章里面我们提到了一个名为LBC的项目;它采用了遍历所有比特币私钥,bloomfilter所有未花费的币的地址来碰撞比特币私钥。

这个项目本身详尽计算了这种碰撞成功的几率,目前碰撞空间大概在 2136 级别。

目前在一台最顶级的AWS GPU计算节点上面的碰撞效率是这样的:

1
AWS p2.8xlarge   32 vCores Xeon v4, 8x K80 GPUs (50% each)   ~80-88M/s

每秒钟大概碰撞8000w次;目前LBC这个项目最顶峰的时候,算力到了1G的级别,这样计算下来:

1
2^136 / 2^30 = 2 ^106

2106 级别的碰撞效率还是遥遥无期啊;

Wsl Best Practice

| Comments

WSL用了一年,感觉还不错。尤其是在我的机器上pypy3.5版本的SHA512 pbkdf计算性能竟然超越了原生Linux和Windows。成为Python运行效率最高的平台,实在是匪夷所思的事情。

WSL最让我满意的,是命令行里面可以结合Windows和Linux的命令行工具来管道处理,这个实在是太赞了。纯粹计算类的程序,Windows上面有很多现成的命令行工具,现在终于能:

1
ping.exe -t xxx.xxx.xxx.xxx|grep xxxx|echo -I xxx ~~~

这样来搞了,事实上,我自己写了很多Python脚本来处理Powershell自带的很多工具输出的内容,还有不少GPU运算程序大多数跑在Windows上面,能直接重定向到Linux上面实在太好了。

另外,WSL网络协议栈和Windows是共享的,倒是直接省了一个事,我直接把http_proxy配置成本地的shadowsock服务就很安逸的翻墙了;方便。

最后,就等着磁盘性能的改善了。

下面记一下常用的坑:

  • 如果开机之后插拔一个移动硬盘,需要手工在WSL中执行重新挂载命令:
1
sudo umount /mnt/g && sudo mount -t drvfs "G:" /mnt/g
  • WSL跟最新2019版本的卡巴斯基冲突,卡巴斯基默认会过滤所有HTTP流量

目前无解;要么禁用卡巴斯基的HTTP过滤功能,要么回退2018版本

最后,多个版本实验之后,锁定Win10 1709我也能连续3个月不关机了,稳定性可喜可贺。

Alias Rm to Mv

| Comments

之前一直简单的用

1
alias rm='mv -f $@ ~/.trash'

取代rm命令。

这样用着有个不便的地方,就是有时候做个脚本命令,带个;的时候会解析有问题。今天突然发现一个用函数来替代的好办法,记一下:

1
alias rm='move1(){ /bin/mv -f $@ ~/.trash/; };move1 $@'

参考资料:

https://www.cnblogs.com/f-ck-need-u/p/7385133.html

比特币的交易-7

| Comments

比特币的交易网络最为人诟病的一点便是交易性能:全网每秒 7 笔左右的交易速度,远低于传统的金融交易系统;同时,等待 6 个块的可信确认将导致约 1 个小时的最终确认时间。

为了提升性能,社区提出了闪电网络等创新的设计。

闪电网络的主要思路十分简单——将大量交易放到比特币区块链之外进行,只把关键环节放到链上进行确认。该设计最早于 2015 年 2 月在论文《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》中提出。

闪电网络需要单独部署,没有包含在bitcoin core实现里面。闪电网络是一个开放的协议,任何人都能自由的实现它,目前比较流行的版本有:

https://github.com/lightningnetwork/

https://github.com/mit-dci/lit

https://github.com/ElementsProject/lightning

Happy 10th Birthday Bitcoin

| Comments

Genesis block在2009-01-03 诞生以来,bitcoin 已经运行十年了。从一个个人项目,成长为世界话题,一段不可思议的旅程。

有人在<纽约时报>上面为其庆生:

https://www.reddit.com/r/Bitcoin/comments/ac4e64/the_happy_birthday_bitcoin_advertisement_in_the/

我在2013年初次读到白皮书的时候申请了一个域名:

http://20090103.com/

出于好玩的心态一直维护着,看看下一个十年会是怎样。

Hi, Happy 10th birthday bitcoin!