Living a Simple Life is a Happy Life

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

比特币的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所有未花费的币的地址来碰撞比特币私钥。

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

目前在一台最顶级的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

2^106 级别的碰撞效率还是遥遥无期啊;

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

Hello Lightning Network -0

| Comments

有许多比特币社区的先行者们面对小白的提问时,总是真诚的说:“去看看比特币的白皮书吧,把它真正弄明白吧,你就会理解一切的。” —–如今,我想对许多质疑闪电网络的比特币先驱们说:“去看看闪电网络的白皮书吧,把它真正弄明白吧,你就会理解一切的。”

闪电网络是次世代的支付技术,它不仅仅是一个支付技术,更是建立在比特币主网上的二层网络协议,将来会有许许多多新奇的应用建立在上面,它会为比特币开启下一个十年;

但是闪电网络还在实现的早期阶段,能耐心去读懂它的白皮书的人已经非常少了,更不用提现在飞速发展的BOLT规范了;这其实跟比特币刚诞生时是一样的,在动辄就大谈“区块链技术改变未来”的那一群人中,有几人会真正花时间,去把已经发表11年的比特币8页白皮书弄个明白呢?

闪电网络的基本原理其实非常简单,在我们之前的文章中已经花费了大量篇幅去介绍;但是在实现过程中,还有数不清的工程细节上的权衡;由于现在的实现还只是一个雏形,我们实操闪电网络交易的时候会有各种各样的“?”,我打算写一个系列文章,把一些有趣或者让人困惑的地方抽丝剥茧,记录一下自己的学习过程,也把这项迷人的技术介绍给更多人。

我们将在这篇文章中对闪电网络做一个概览,并介绍如何用lnd建立一个闪电节点,来完成一笔闪电交易。

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年初次读到白皮书的时候搭建了一个网站:

https://brainzhang-bitcoin.github.io/20090103/

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

Hi, Happy 10th birthday bitcoin!

比特币的交易-6

| Comments

好啦,这篇文章中,我们要来探讨大名鼎鼎的Segwit(Segregated Witness)。

这个词一说起来就头疼啊,他牵扯到旷日持久的扩容大战,无穷尽的争论以及分裂。我们的立场就是不去站队任何组织,单纯从技术的角度去理解这个东西。

比特币的交易-4

| Comments

前面的文章中我们分析了一笔标准的Pay to Public Key HASH(P2PKH)交易。看起来其实结构挺简单的,这篇文章我们乘胜追击,看一下矿工们领取系统奖励时,构造的coinbase交易。

比特币的交易-3

| Comments

scriptSig与scriptPubKey概览

继续解析我们上篇文章的交易(b0a0afb65ac08f453b26fa03a40215be653b6d173510d366321019ab8248ea3b)

目前为止,我们还没有解析vin中的scriptSig,以及vout中的scriptPubKey;这两个东东才是交易的核心,他们有什么作用呢?