Harry

2020-02-08

Web3极客日报 #56

1. Blockchain Could Provide ID for Those Who Need It Most https://onezero.medium.com/blockchain-could-provide-id-for-those-who-need-it-most-7ce49794d852 @Taurus:Diwala是一家在挪威创立的区块链创业公司,旨在帮助全球(主要是欠发达地区)机构解决身份盗窃和资质证明的问题。项目本身没什么新颖,但是他们主要关注欠发达地区,这是我认为很好的一个切入点。这些地区的人们面临的切实问题是生活在稳定社会的我们很难想象的。比如文中提到乌干达的毕业生甚至要担心白蚁吃掉自己的毕业证书;叙利亚的难民很难有证明身份的文件,因而难以受到救助。类似的还有普惠金融,很多国家的公民甚至没有银行账户。联合国相关部门(如文中提到的难民署)已经在积极探索使用区块链技术解决欠发达地区的棘手问题。这个方面的扩展阅读:《The Truth Machine: The...

Read More
2020-02-01

Web3 极客日报#49

1. 区块链与女巫攻击 https://github.com/DreamWuGit/Block-chain-reader/blob/master/%E5%8C%BA%E5%9D%97%E9%93%BE%E4%B8%8E%E5%A5%B3%E5%B7%AB%E6%94%BB%E5%87%BB.md @Dream: 女巫攻击由来已久,比特币网络天生就有抗女巫攻击的基因,欲知详情,请仔细阅读区块链之女巫攻击!   2. 椭圆曲线基础 https://mp.weixin.qq.com/s/-Pws7J_9DOvwxXJ-Ma9mig @Harry: 虽然文章原标题是“零知识证明 – 椭圆曲线基础“,但其实椭圆曲线已经被用在了很多区块链中。曾经天真的我以为不需要学习椭圆曲线的理论,只会用就行了,现实的残酷教育了我,学不好这些基础会让我过不好这一生。   3. 瘦应用(Thin...

Read More
2020-01-25

Web3极客日报 #42

1. Papyrus:Rust REPL环境 https://github.com/kurtlawrence/papyrus Papyrus是一个Rust REPL(Read-Eval-Print Loop)环境,可以直接在终端中使用Rust,每输入一行代码就会被运行和解析并输出结果,比如输入1+1并按回车,就会得到2。   2. SHA-1前缀选择碰撞 https://sha-mbles.github.io/ SHA-1于1995年被设计出来,最近20年一直被广泛使用。直到2004年被王小云提出了碰撞的攻击方法,然而由于实际实施攻击的复杂性,直到2017年才实现。最近有人提出了SHA-1前缀选择碰撞(chosen-prefix collision)攻击,允许使用任意的前缀来构建碰撞的消息,这对目前的各种协议有非常大的威胁。   3. Rollup:区块链扩容方案介绍...

Read More
2020-01-18

Web3极客日报 #35

1.身份的演进 http://www.lifewithalacrity.com/2016/04/the-path-to-self-soverereign-identity.html @洋芋:互联网的下一个发展将是创建一个共同的身份层,允许人们,组织和事物拥有自己的自我主权身份。Allen在其2016年的文章中提到身份模型发展经历的四个阶段,以及自我主权身份的十条原则,值得我们去了解和学习。   2. 记账、合约、数据主权与隐私 https://hackernoon.com/beyond-tokenization-1e2n324u @NakaDaoLe: 谁拥有了什么?这一问题最早由实体账本解决,赋予了人类生产协作中,物权的合法性与共识。随后是中心化的计算机程序,其极大提高了保存于更新记录的效率,导致了大多数资产的泛数字化,包括股票、债券、和各种凭证,随之而来的是数据处理和通信效率的问题,中心化的主副账本需要进行复杂且昂贵的对账,错误是司空见惯的,分布式账本带来了解决方案。   3. 使用GraphQL查询以太坊上的数据 https://github.com/luckyyang/graph-node Graph Node可以认为是以太坊的数据缓存层,将以太坊的数据缓存下来然后对外提供GraphQL查询的服务。其实不只是做了缓存,你可以通过subgraph定义如何聚合数据和返回的数据结构。thegraph.com 还提供了免费的subgraph托管服务,直接使用他们提供的命令行工具可以很快的部署一个subgraph服务,并可以通过web页面进行访问和管理,以及查询数据。ENS也使用了thegraph的托管服务。如果你要缓存自己的EVM数据,那需要在服务器上自己搭建一个Graph...

Read More
2020-01-11

Web3极客日报 #28

1. CKB的交易结构解释 https://ckb.dev/topic/20/rfcs-0022-transaction-structure @Harry: CKB将比特币中的交易结构进行了泛化,以支持类似于以太坊智能合约的可编程性,CKB中将交易输出称之为Cell,通过Cell中的Type脚本可以对输出进行约束,Cell中还可以引用其它Cell中的代码和数据,这样组合起来可以得到更丰富的功能,例如类似erc20自定义token的功能。更多的可能读者可以自己探索。   2. 区块链交易追溯工具 https://github.com/s0md3v/Orbit @NakaDaoLe: Orbit是用来递归爬取区块链网络交易历史的工具,数据会被渲染成图结构可视化地展示交易的主要来源,流向以及可疑的连接。它对于追踪一些可疑交易或者是追踪被盗的币,有一定帮助。   3. 回味经典的实用拜占庭协议 http://pmg.csail.mit.edu/papers/osdi99.pdf @Dream:...

Read More
2020-01-04

Web3极客日报 #21

1. 有趣的拜占庭将军故事 https://github.com/DreamWuGit/Block-chain-reader/blob/master/%E6%8B%9C%E5%8D%A0%E5%BA%AD%E5%B0%86%E5%86%9B%E9%97%AE%E9%A2%98.md @Dream:区块链是天然的分布式系统,关于分布式系统首要解决的问题是状态一致性问题,古老的拜占庭将军问题正是该问题的形象描述。   2. Web3技术栈最新版 https://multicoin.capital/2019/12/13/the-web3-stack-2019-edition/ @Harry:Web3技术栈是每个开发者都需要了解的。这个Web3技术栈是2018年的更新版,强调了各个协议网络之间的互联。   3. 1C0泡沫史 https://hackernoon.com/3-moments-in-history-that-explain-the-ico-bubble-e7c42896ca6f @NakaDaoLe:本文从1999年的P2P文件共享,到华尔街小公司发行的 “Penny Stock”(几美元买一股),解析了金融与科技的泡沫历史,再到1989年诞生的古典万维网,与2000年的dotcom泡沫破裂,给我们带来的启示,历史其实在不断重复,太阳底下没有新鲜事,因为人性都是相似的。根据康狄夫长波理论(Kondratiev...

Read More
2019-12-30

Web3极客日报 #16

1. 国人的DApp在线IDE https://chainide.com @谢锐 | Frozen:Chain IDE是国内的DApp开发团队纯白矩阵自己研发的一套能够支持多条公链多种开发语言的在线IDE。   2. 预言机服务 https://oraclize.it @谢锐 | Frozen:Oraclize是在以太坊上运行的预言机服务,方便开发者直接使用其提供的SDK构建预言机的内部逻辑,而无需关注预言机实现的机制。目前Oraclize已经改名为https://provable.xyz,同时提供Ethereum,EOS和HyperLedger的预言机服务。   3....

Read More
2019-12-28

Web3极客日报 #14

1. Substrate背后的密码学 http://ec2-13-231-107-232.ap-northeast-1.compute.amazonaws.com/posts/700 @Harry:比较全面的介绍了Substrate中用到的密码学,从哈希函数,椭圆曲线密码,地址格式这几个方面进行了讲解,同时还介绍了哈希函数和椭圆曲线的基础知识,就算你对Substrate不熟悉也值得一读。   2. 《图解密码技术》 https://book.douban.com/subject/26822106/ @Harry:学习密码学最好的书。如果你对区块链是什么还一知半解,那暂时不推荐看这本书,因为你很可能会觉得比较枯燥,并且你不知道这些密码学在区块链中解决了啥问题。   3. 去中心化Youtube https://github.com/dtube/dtube @Harry:Dtube是去中心化版本的Youtube。网站使用meteor框架搭建,内容存储在ipfs上面,如果你想给自己搭建一个去中心化的视频站点,Dtube的代码会是一个不错的参考。不过,你可能需要学习meteor框架,如果你熟悉Javascript的话,会很快入门meteor。

Read More
2019-12-28

Substrate背后的密码学

Substrate中的密码学算法一览 首先我们快速的预览一下Substrate中提供的几种密码学算法: 哈希函数: sha2 keccak blake2 xxhash 椭圆曲线密码: ed25519 sr255519 secp256k1 地址格式: SS58 这些密码学原语的定义在代码中都有定义,可以参考链接: https://github.com/paritytech/substrate/tree/master/primitives/core/src 文档中也有所描述,链接:...

Read More
2019-12-23

Web3极客日报 #9

1. 在线DApp IDE https://buidl.secondstate.io/ @Harry:Buidl是一个在线的DApp IDE,不但支持以太坊DApp合约的创建,编译和部署。它还支持前端代码直接在浏览器中运行,支持单独编辑HTML,CSS和Javascript。 2. 浅谈零知识证明:背景与起源 https://mp.weixin.qq.com/s/SJZ2aTiwrdCh9uTXFBRTKg @Harry:文章从比特币交易链条中带来的问题,引出了增加隐秘性的方法,最后介绍了零知识证明​。是零知识证明的一篇比较好的入门文章​。 3. TokenScript让Token变得更加聪明 https://github.com/AlphaWallet/TokenScript @Harry:TokenScript这个概念是由alphawallet团队提出的,可以让token更好的在不同的应用中使用,不需要在不同的平台上重新实现用户界面和交互逻辑。一个TokenScript文件包含两部分,一个是Javascript代码来定义token的行为,另外是XML数据用来抽象出token的状态和值。

Read More
2019-12-22

Web3极客日报 #8

1. Substrate中使用的地址格式 https://github.com/paritytech/substrate/wiki/External-Address-Format-(SS58) @Harry:Substrate上使用的地址格式叫做SS58,是专门设计给基于Substrate开发的链的。SS58是基于比特币中使用的Base58Check地址格式开发的,设计目标是可以通过账户地址识别出不同的Substrate链。使用的base58encode编码函数和比特币中使用的编码函数是一样的,不同的地方,SS58的前缀是地址类型<address-type>,校验和<checksum>使用的是blake2-256哈希函数。 2.  如何用Solidity设计一个操作系统 https://github.com/aragon/aragonOS @Harry:如果你想了解如何使用Solidity设计一个操作系统,那Aragon的项目是一个不错的参考,DAO在最近也被越来越多的关注,了解Aragon的代码说不准会让你有更好的DAO的想法诞生。 3. Matataki.io的前端开源项目 https://github.com/Matataki-io/Matataki-FE @Harry:Matataki.io是一个永久存储和版权确权的内容平台,作者发布的文章会被存储到IPFS上面,另外还支持token的激励功能。这个项目是一个技术栈比较完整的DApp项目,如果想了解DApp开发的同学,可以参考一下​。前端代码用的是Vue。

Read More
2019-12-20

Web3极客日报 #6

1. 如何理解Rust中的可变与不可变? https://mp.weixin.qq.com/s/s9Ac0xfpG-KeVgPAFG-fog @洋芋:本文介绍了Rust标准库中的Cell, RefCell,其作为提供内部可变性的容器,弥补了Rust所有权机制在灵活性上和某些场景下的不足。   2. 学习Polkadot的好地方:Polkadot Wiki https://wiki.polkadot.network/docs/en/learn-introduction @Harry:Polkadot Wiki 是一个关于 Polkadot 方方面面的非常全面的网站,无论是想学习,或者搭建自己的项目,还是基于 Polkadot...

Read More
2019-12-19

Web3极客日报 #5

1. Rust 编程小练习 Rustlings https://github.com/rust-lang/rustlings @黑豆腐:在本地环境运行的rust练习题,主要形式是按要求使得程序通过编译。适合刚刷完一遍The Book想要巩固一下基础知识的同学 2. Matrix 去中心化聊天网络 https://matrix.org/ @K.F.: Matrix 是一个开源、实时、端对端加密的去中心化聊天网络,任何人都能将自己的服务器加入 Martix 网络,当你发送一条消息,它会遍历所有连接到网络中的服务器节点,找到参与这个聊天的用户,每个用户都有属于自己交流的权利,不会像中心化网络一样被删除或者因服务器而崩溃,这意味着用户们拥有自己的数据主权!...

Read More
2019-12-18

Web3极客日报 #4

1. 完整的中本聪 https://satoshi.nakamotoinstitute.org/ @Happypeter:从 2012 年开始,中本聪再没有跟我们说过话。不管他是男是女,还是一个团队,其实中本聪从未远离,因为中他本就是他的论文,帖子和 Email 的集合。那么完整的中本聪住在哪里呢?请打开上面的链接。   2. Torus 网关 https://tor.us/ @郑钦文 Enzo:实现用 Google...

Read More
2019-12-17

Web3极客日报 #3

1. 如何构建一个最小化的区块链 原文链接(英文) 中文翻译 @Caos: 文章作者描述了一款最小可用的区块链需要具备什么样的核心模块,其核心思想是通过分层或隔离的方式来提高最小区块链的可维护性,希望这篇文章能够给我们一些启发。   2. Cosmos SDK中支持启用WASM虚拟机 https://mp.weixin.qq.com/s/iVXDO010WD4zP_olunuXFQ @Caos: Rust 即将统治世界,如果你是Rust开发人员,则可以轻松编写智能合约,这些合约可以上传到任何包含CosmWasm模块的基于Cosmos SDK的链。 你只需要极少的Golang知识。 你可以开始在Cosmos...

Read More