比特性与原子性

atom.jpg

比特币减半的故事还在继续! 其实对于这类的故事千万不能当真,一当真你就输了。比特币具有这么高的价值,当然得益于其加密算法,以实现其原子性。

原子性?简单的说,就是独一无二的特性。一份word文档,你可以复制无数遍,这是比特性。与之相对的,现实中的椅子却是独一无二的一把! 世界没有两片相同的树叶,这也是在讲原子性,它的不可复制、独一无二的特性。这种特性赋予了它独特的价值,毕竟它有稀缺性。

比特币的加密算法赋予它独一无二的特性,所以也具有了现实中原子性的特点。在早期的一本书中尼葛洛庞帝的《数字化生存》描述了比特和原子的一些特性,原子转成了比特,社会的发展节奏变快。如果更进一步,两者相结合,比特性同时具有原子性,那它的价值也会得到了迅速地提升,比如比特币。


This page is synchronized from the post: ‘比特性与原子性’

面壁者与比特币

mianbizhe.jpg

《三体》中有个非常有趣的设定:面壁者。他是地球人为了和三体人对抗所采取地一种策略。由于地球和三体的巨大差距,并且三体可以读取人类的任何媒介,人类在三体文明面前没有秘密可言。唯一不能被三体探知的是人的大脑。所以,就选取地球上最具有策略的四个大脑来执行对抗计划,这就意味着人类要靠谋略和诡计来赢得胜利。

面壁者与比特币?这两者有何关联?这两者还蛮多类似的地方。首先,它是一种公开的声明。面壁者在现实中都公开了,比特币也是公开的,所有人都可以查看比特币的代码。第二,这两者都以隐瞒为手段。比特币代码虽公开,但是交易、控盘却是少数玩家的秘密游戏。而且更为惊人的是:都有极具迷惑的外在表现。比如现在大家津津乐道的减半故事,认为比特币一减产价格就会急剧上升!还有比这更具迷惑性的手段吗?!第三,暗地的目的不为人知。早期比特币就是一种匿名币种,当然现在也是。比特币要实现何种目的,没人知道,其创始人也从不露面,其欺诈的目的更是成迷。

读完《三体》让我对面壁者印象深刻,很多事情都具有迷惑性,真实的目的为何,是需要破壁人出现才行啊。如何认清表象,进行正确的行动,是时候扮演破壁人的。


This page is synchronized from the post: ‘面壁者与比特币’

假期影院:《雪国列车》,一部无法停止的末日火车!

train3.jpg

train.jpg

偶然间刷到,惊为神剧!《雪国列车》的剧情和设计上真是精心安排、无懈可击,在这个末日火车上人心的黑暗无时能够停止!

train2.jpg

剧中有个细节:很多人没有了左手和左腿! 刚开始还有点疑惑,后来解密了:没有食物,就开始把胳膊和腿砍下来吃了!尾车中的日常食物也是蟑螂制成的蛋白膏。真是一些神设定。

也不知是不是因为最近疫情的原因,看到此类影片真是有同感!人世间可不就是一辆末日火车嘛,日子和苦难却永不停歇。

train34.jpg

最后,老司机还是停车了,走出了车厢,还看到了一只北极熊!这代表了一种生存的希望吧。


This page is synchronized from the post: ‘假期影院:《雪国列车》,一部无法停止的末日火车!’

诗意的酒 --时代的歌之279

moon.jpg

今夜,长空如此美丽!
微风送爽,
月辉如水,
静谧如画,
微醺——-
仿佛置身仙境般的月宫!

透过这如水晶般的蓝色天幕,
似有充满快乐的蜃楼天国,
没有新冠肆虐,
世人快活。

在夜光中漂流,
奔向我理想的王国!


This page is synchronized from the post: ‘诗意的酒 –时代的歌之279’

上传文本至IPFS / 网络研习社#62

ethipfs.jpg

在前篇文章《以太坊 + IPFS 数据存储可行方案》中有提到这样的数据存储方案,在以太坊上只存储文本的哈希值以节约gas。那么,问题来了,IPFS是如何存取文本的呢?

前期做网站的时候往IPFS中存过图片和视频,存文本稍微有点不同。把文档找来复习下。文档在这,https://github.com/ipfs/js-ipfs 。存取文本不是太难,有些固定的格式。

存文本

1
2
3
4
//上传文本
const content = Buffer.from('hello lemooljiang!')
let res = await that.ipfs.add(content)
console.log(345, res[0].hash)

读文本

因为文本会自动转成utf-8格式存储,所以,读出来还要转换成字符串。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
let con = await that.ipfs.cat(hash)
let t = that.utf8ArrayToStr(con)

utf8ArrayToStr(array) {
let out, i, len, c
let char2, char3
out = ""
len = array.length
i = 0
while(i < len) {
c = array[i++]
switch(c >> 4)
{
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
// 0xxxxxxx
out += String.fromCharCode(c)
break
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = array[i++]
out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F))
break
case 14:
// 1110 xxxx 10xx xxxx 10xx xxxx
char2 = array[i++];
char3 = array[i++];
out += String.fromCharCode(((c & 0x0F) << 12) |
((char2 & 0x3F) << 6) |
((char3 & 0x3F) << 0))
break
}
}
return out
}

方法就这两个,试了下,很快就成功了。这样的话,往以太坊上存东西就不会太费钱了,而且这种方案正在被越来越多的人采用,因为只要是IPFS网关就可以根据文本的哈希值直接读出文本的内容来,是不是很方便呢?! 这是我上传的一段文本哈希QmZcLE9qPzzyeJqT1yxErZcxbCSufXWSJRhywGLChegyL8,大家可以使用任意的IPFS网关去读下试试,比如这样: https://ipfs.eternum.io/ipfs/QmZcLE9qPzzyeJqT1yxErZcxbCSufXWSJRhywGLChegyL8


This page is synchronized from the post: ‘上传文本至IPFS / 网络研习社#62’

Truffle实战指南

从智能合约的编译、测试、布署到上线的完整流程。本地以ganache, geth进行开发测试,再由infura发布到ropsten测试网,实现一个Dapp开发的完整设计。
-> 前往星空笔记


This page is synchronized from the post: ‘Truffle实战指南’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×