区块链技术研究
文章平均质量分 78
从技术人的角度研究区块链
liuchengxu_
这个作者很懒,什么都没留下…
展开
-
DPOS 共识算法 - 缺失的白皮书
原文:https://steemit.com/dpos/@dantheman/dpos-consensus-algorithm-this-missing-white-paper 网络上已经有了好几个版本的译文,可能是原文写的没那么“平易近人”,这些译文我都看得不太懂 :)这篇“缺失的白皮书”是对委托权益证明(Delegated Proof of Stake, DPOS)的...翻译 2018-03-21 22:53:08 · 960 阅读 · 0 评论 -
PoW 本质上是个去中心化的时钟
原文:Blockchain Proof-of-Work Is a Decentralized Clock 原文从区块链如何保持交易有序的基本问题出发,对该问题进行了详细阐述,并提出 PoW 本质上是实现了一个“时钟”的观点,这个时钟的一个滴答对应的就是 PoW 算出一次的解。本文解释了比特币 PoW(Proof-of-Work, 工作量证明) 的关键要素,尤其对 PoW 来说...翻译 2018-04-22 15:40:18 · 790 阅读 · 1 评论 -
区块链系列教程
区块链教程blockchain-tutorial 是我写的一个区块链教程,最初译自 Jeiwan/blockchain_go 的系列文章,这个系列主要针对 Bitcoin。随着对区块链的认识不断深入,我后续计划加入很多其他内容,比如 Ethereum,Monero,Polkadot,Iota,Cardano,Orchid 等等我感兴趣的项目。当然了,比不上 Mastering Bitcoin,...原创 2018-03-01 10:35:15 · 9934 阅读 · 1 评论 -
用 Parity 发送 ERC20 Token
Parity 是以太坊的 Rust 实现,它也内置了一个钱包。用过 Parity 的人都知道,用它发送 ETH 非常简单,点几下就行。但是可能不少人还不知道如何发送 ETH 以外的 ERC20 Token,或者说不知道怎么发送钱包里面没有显示出来的 token。一个以太坊地址上实际上可能有很多 token,因为币圈链圈天上掉馅饼的事情时有发生,不知道什么时候就会有 token 空投到你的地址。...原创 2018-02-12 10:21:25 · 1017 阅读 · 0 评论 -
卡尔达诺入门必备
本文为卡尔达诺(Cardano)的入门读物,主要内容为卡尔达诺的整个项目概览:卡尔达诺是什么,为什么,有何独特之处,以及团队组织。ADA 是什么,乌洛波罗斯(Ouroboros)共识。卡尔达诺是什么,为什么卡尔达诺是一个去中心化的公有区块链和加密货币项目,它目前正在开发一个智能合约平台,该平台旨在提供更多超越以往任何协议的高级功能。它是第一个衍生自科学哲学的区块链平台,主要以研究驱动,开发团队原创 2017-12-17 20:02:34 · 4792 阅读 · 0 评论 -
STARKs, Part II: Thank Goodness It's FRI-day
在本系列的上一篇文章中,我们谈到了,如何能够做出一些非常有意思且简洁的计算证明,比如通过利用多项式复合和除法技术,证明你算出了第一百万个斐波那契数。但是,它依托于一个非常重要的元素:给定一个集合,里面有很多的点,你必须能够证明集合里的大部分点都在同一个低次多项式上(译者注:本文所译的多项式度数或次数,皆对应 degree 一词)。这个叫做“低次测试”的问题,可能是协议中最为复杂的部分。首先,再次回顾翻译 2017-12-23 09:45:10 · 667 阅读 · 0 评论 -
以太坊分片:overview and finality
在 Ethereum Casper 101[1] 中,Jon Choi 对 Casper 做了一个很棒很清晰的综述,并解释了为什么显式最终确定性(explicit finality)对于可扩展性(scalability)大有裨益。本文旨在给出一个以太坊分片的设计概览,并阐释显式最终确定性如何有助于区块链分片。为了完全理解以太坊分片机制提案的技术规范,我强烈推荐深入研究 Vitalik 写的 sha翻译 2017-12-28 21:31:35 · 1761 阅读 · 0 评论 -
为什么去中心化兑换协议很重要
原文:https://medium.com/@FEhrsam/why-decentralized-exchange-protocols-matter-58fb5e08b320今天,去中心化兑换(decentralized exchange)仍处于早期,但是几年后,它很可能会是区块链生态中不可或缺的一环。首先,去中心化兑换与中心化兑换协议的区别:去中心化兑换(decentralii翻译 2018-01-15 13:35:23 · 2021 阅读 · 0 评论 -
用 Go 构建一个区块链 -- Part 7: 网络
翻译的系列文章我已经放到了 GitHub 上:blockchain-tutorial,后续如有更新都会在 GitHub 上,可能就不在这里同步了。如果想直接运行代码,也可以 clone GitHub 上的教程仓库,进入 src 目录执行 make 即可。引言到目前为止,我们所构建的原型已经具备了区块链所有的关键特性:匿名,安全,随机生成的地址;区块链数据存储;工作量证明系统;可靠地存储交易。尽管这些翻译 2017-11-14 20:31:01 · 1798 阅读 · 0 评论 -
STARKs, Part I: 多项式证明
相信很多人都听过 ZK-SNARKS,一个通用而简洁的零知识证明技术,从可验证计算到需要隐私保护的加密货币,它可以被应用于各类场景。不过,可能你还不知道现在 ZK-SNARKs 有了一个新兄弟:ZK-STARKs. 这里的 T 表示 “transparent”,“透明的”,ZK-STARKs 解决了 ZK-SNARKs 的一个主要的缺点,即 ZK-SNARKs 依赖于“可信启动(trusted se翻译 2017-11-12 13:07:19 · 2149 阅读 · 0 评论 -
用 Go 构建一个区块链 -- Part 6: 交易(2)
翻译的系列文章我已经放到了 GitHub 上:blockchain-tutorial,后续如有更新都会在 GitHub 上,可能就不在这里同步了。如果想直接运行代码,也可以 clone GitHub 上的教程仓库,进入 src 目录执行 make 即可。引言在这个系列文章的一开始,我们就提到了,区块链是一个分布式数据库。不过在之前的文章中,我们选择性地跳过了“分布式”这个部分,而是将注意力都放到了“翻译 2017-11-06 21:22:55 · 6275 阅读 · 6 评论 -
用 Go 构建一个区块链 -- Part 5: 地址
翻译的系列文章我已经放到了 GitHub 上:blockchain-tutorial,后续如有更新都会在 GitHub 上,可能就不在这里同步了。如果想直接运行代码,也可以 clone GitHub 上的教程仓库,进入 src 目录执行 make 即可。引言在上一篇文章中,我们已经初步实现了交易。相信你应该了解了交易中的一些天然属性,这些属性没有丝毫“个人”色彩的存在:在比特币中,没有用户账户,不需翻译 2017-10-24 09:11:57 · 1949 阅读 · 0 评论 -
用 Go 构建一个区块链 -- Part 4: 交易(1)
翻译的系列文章我已经放到了 GitHub 上:blockchain-tutorial,后续如有更新都会在 GitHub 上,可能就不在这里同步了。如果想直接运行代码,也可以 clone GitHub 上的教程仓库,进入 src 目录执行 make 即可。引言交易(transaction)是比特币的核心所在,而区块链的唯一目的,也正是为了能够安全可靠地存储交易。在区块链中,交易一旦被创建,就没有任何人翻译 2017-10-14 19:32:52 · 3977 阅读 · 2 评论 -
用 Go 构建一个区块链 -- Part 3: 持久化和命令行接口
引言到目前为止,我们已经构建了一个有工作量证明机制的区块链。有了工作量证明,挖矿也就有了着落。虽然目前的实现离一个有着完整功能的区块链越来越近了,但是它仍然缺少了一些重要的特性。在今天的内容中,我们会将区块链持久化到一个数据库中,然后会提供一个简单的命令行接口,用来完成一些与区块链的交互操作。本质上,区块链是一个分布式数据库,不过,我们暂时先忽略 “分布式” 这个部分,仅专注于 “存储” 这一点。选翻译 2017-10-04 09:33:00 · 2489 阅读 · 0 评论 -
用 Go 构建一个区块链 -- Part 2: 工作量证明
在 前面一文 中,我们构造了一个非常简单的数据结构,这个数据结构也是整个区块链数据库的核心。目前所完成的区块链原型,已经可以通过链式关系把区块相互关联起来:每个块都被连接到前一个块。但是,我们实现的区块链有一个巨大的缺点:向链中加入区块太容易和廉价了。而区块链和比特币的其中一个核心就是,要想加入新的区块,必须先完成一些非常困难的工作。在本文,我们将会解决这个缺点。工作量证明区块链的一个关键点就是,一翻译 2017-09-26 17:16:03 · 3186 阅读 · 0 评论 -
50 行 Python 代码构建一个区块链
尽管有人认为区块链 (blockchain) 是一个方案先于问题的技术,但毫无疑问, 这项新的技术已然是一个计算的奇迹。不过,到底区块链是什么呢区块链 一个随时间增长,记录比特币或其他加密货币的交易的公开数字账本。简单来说,区块链是一个公开的数据库,新的数据会被存储到一个叫做区块 (block) 的数据结构中,而区块会被添加到一个不可更改的链 (chain) 上 (也就是区块链),该链上存储着翻译 2017-07-19 20:15:02 · 8958 阅读 · 2 评论 -
什么是 Tendermint?
Tenermint 是一个软件,用于在多台机器安全一致地复制一个应用。所谓安全,指的是即使有多达 1/3 的机器出现任意故障的情况下, Tendermint 仍然能够正常工作。所谓一致,指的是每一个正常工作的机器都会有着同样的交易日志,计算相同的状态。安全一致的复制是分布式系统中一个至关重要的问题:从货币到选举,到基础设施规划,它在广泛应用的容错中承担了一个极其重要的角色。能够容忍机器以任何一种,甚翻译 2017-08-06 18:13:05 · 3014 阅读 · 0 评论 -
区块链跨链社区: chainx.org 文章归档
chainx.orgchainx 文章归档:PolkadotPolkadot(波卡链):畅想一种异构的多链架构(第1,2,3章)Polkadot(波卡链):畅想一种异构的多链架构(第4,5章)Polkadot(波卡链):畅想一种异构的多链架构(第6.1~6.5章)Polkadot(波卡链):畅想一种异构的多链架构(第6.6~6.8章)Polkadot(波卡链):畅想一种异构的多链架构(第7原创 2017-07-16 11:38:24 · 1632 阅读 · 0 评论 -
Tendermint 与其他技术的比较
Tendermint 大体上与两类软件很类似。第一类包含了分布式的键值存储,比如 Zookeeper,etcd 和 consul,它们都使用了非拜占庭容错共识。第二类就是 “区块链技术”,它既包括了像比特币和以太坊这样的加密货币,也包括了像 Hyperledger Burrow 这样的分布式账本设计。Zookeeper, etcd, consulZookeeper,etcd 和 consul 都是在翻译 2017-08-07 09:52:05 · 1139 阅读 · 0 评论 -
Tendermint: 什么是 ABCI (应用区块链接口)
区块链应用接口(Application BlockChain Interface,ABCI)允许应用的拜占庭容错复制可以由任意一种编程语言编写。Motivation至今为止,所有的区块链“栈”(比如,比特币)都有着大一统的设计。这就是说,每个区块链栈都是一个单一的程序,这个程序处理了去中心化账本的所有事务。它还包括了 P2P 连接,交易的“内存池”广播,在最新块上的共识,账户余额,图灵完备的合约,用翻译 2017-08-13 15:01:48 · 8508 阅读 · 0 评论 -
Tendermint: 共识概览
Tendermint 是一个易于理解,大部分操作为异步的 BFT 共识协议。下图是一个简单的状态机,它展示了协议遵循的规则:协议中的参与者叫着 “验证人”(validator)。他们轮流对交易区块进行提议,并对这些区块进行投票。区块会被提交到链上,每一个块占据一个“高度”(height)。提交块可能会失败,如果失败,协议就会开始下一轮的提交,并且一个新的验证人会继续提交那个高度的区块。要想成功提交一翻译 2017-08-15 19:20:27 · 8892 阅读 · 0 评论 -
用 Go 构建一个区块链 ---- Part 1: 基本原型
引言区块链是 21 世纪最具革命性的技术之一,它仍然处于不断成长的阶段,而且还有很多潜力尚未显现出来。 本质上,区块链只是一个分布式数据库而已。 不过,使它独一无二的是它是一个公开的数据库,而不是一个私人数据库,也就是说,每个使用它的人都有一个完整或部分的副本。 只有经过其他数据库管理员的同意,才能向数据库中添加新的记录。 此外,正是区块链,才使得加密货币和智能合约成为现实。 在本系列文章中,我们将翻译 2017-09-23 22:03:01 · 5482 阅读 · 0 评论