- 博客(125)
- 资源 (142)
- 收藏
- 关注
原创 区块链分片技术的设计(思考)
分片方案的思考三难困境区块链的三难困境:去中心化、扩展性、安全性牺牲扩展性方案现在的BTC、以太坊都是通过牺牲扩展性来换取安全性的。因为以太坊网络上的每笔交易,需要每个节点都计算、存储和广播一次。这意味着以太坊网络的计算资源,不可能大于单个节点的计算资源。将节点的计算、存储、宽带等资源记作, O(c) 。将以太坊网络的计算、存储、宽带等资源记作,O(n)。不可扩展指的是,网...
2019-03-18 14:56:59 11600 5
原创 什么是加密经济学? 初学者终极指南
什么是加密经济学(cryptoeconomics)?以太坊社区开发者Vlad Zamfir解释道:“这是一门独立的学科,旨在研究去中心化数字经济学中的协议,这些协议被用于管理商品及服务的生产、分配和消费。它也是一门实用科学,重点研究对这些协议的设计和界定方法。”区块链技术是运行在加密经济学理论基础之上的。我们不妨将此概念分解一下。加密经济学(Cryptoeconomics)来源...
2019-03-29 09:46:56 10863
原创 UTXO 和 Account 模型对比
在当前区块链世界中,主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。Bitcoin 采用的是 UTXO 模型,Ethereum 采用的 Account 模型,同样 CITA 也采用了 Account 模型。Bitcoin 的设计初衷是点对点的电子现金系统,在比特币中,每个交易消耗之前交易生成的 UTXO 然后生成新的 U...
2019-03-29 09:45:31 10858 1
原创 Emoji 表情带你秒懂哈希函数
区块链的发展史本质上是技术人员和哈希函数之间长达十年的缠绵情史。事实上,如果你了解哈希函数,那么理解区块链的挖矿模式和不可篡改性还不是小菜一碟!(文末还有更多内容)Git是一种版本控制代码库系统,几乎覆盖到了所有开发者。连这种革命性的开源工具都离不开哈希函数。电子签名软件Docusign同样基于哈希函数。你每次在网站输入密码之时,背后都有哈希函数在作用。哈希函数...
2019-03-29 09:43:44 12100
原创 【算法】字符串是否包含问题
在网上看到这篇文章:一次谷歌面试趣事。觉得其中的算法题以及作者的解决思路很有趣,就拿来分享一下吧。问题假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法是讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有?比如,如果是下面两个字符串:String 1: ABCDEFGHLMNOPQRSString 2: DCGSRQP...
2019-03-29 09:40:57 11271
翻译 BM与V神再次交锋 EOS针对DPOS BFT共识机制做出改进
本文翻译自BM在Medium的文章,比较了当前的几种主流共识算法,论述了在DPOS在拜占庭容错机制下...本文翻译自BM在Medium的文章,比较了当前的几种主流共识算法,论述了在DPOS在拜占庭容错机制下的优势和可用性,原文见https://medium.com/@bytemaster/dpos-bft-pipelined-byzantine-fault-tolerance-8a0634a27...
2019-03-29 09:40:50 11285
转载 零知识证明(Zero-Knowledge Proof)原理详解:非交互式证明实现自动验证防止作假
转载自知乎网友“Xiaoyao Qian”文章《一个数独引发的惨案:零知识证明(Zero-Knowledge Proof)》。这篇文章大部分译自:https://medium.com/qed-it/the-incredible-machine-4d1270d7363a原文的作者是著名的Ghost和Spectre 这两个协议的创始团队的领队Aviv Zohar。原文作者说他的这篇原文又是引...
2019-03-29 09:40:04 15884
原创 ZCash零知识证明
交易过程完全匿名是数字货币ZCash最大的亮点,正是这一点使得ZCash自提出以来便备受关注。ZCash匿名交易的实现依赖于一种叫做“零知识证明”的密码学手段。本文将通过打比方的手法,用通俗的语言,解释清楚ZCash的交易原理,以及零知识证明是如何运用到ZCash交易过程中的。本文的嘉宾是数字货币界最著名CP:Alice和Bob。一、从比特币说起直接讲解ZCash的交易过程可能会比较抽...
2019-03-29 09:39:52 11742
原创 理解 Serenity,Part-1:深度抽象
Origin postby Vitalik Buterin, on December 24th, 2015我们已经公开继续改进以太坊协议的计划和长期开发路线图相当长一段时间了,这个做法也是来自于从1.0版本发布之前或者事后没有能及时处理的错误中学到的经验。不管怎样,以太坊核心协议的周期性开发已经重新启动,Homestead阶段很快就要到来,我们也已经悄悄开始开发一个概念原型(PoC),目标是...
2019-03-29 09:39:38 11679
原创 零知识证明 SNARKs C++库:libsnark教程
gadgetlib2库的使用以及如何整合ppzkSNARK的教程和范例。这分文档专为小零件(gadget)写的,推荐从上至下作为教程来阅读。1. 面包板(protoboard)的使用和范例这个测试给出构造系统限制(constraint)的第一个范例。我们将时不时交替使用 ‘系统限制’(Constraint) 和 ‘电路’(Circuit) 两个术语. 用输入和输出形象化一个电路非常容易。每...
2019-03-28 00:51:12 12595 1
原创 分片的理念与挑战,Part-2:区块链分片悬而未决的问题
干货 | 区块链分片的理念与挑战,Part-1在连载中的第一部分,我们讨论了为什么要做区块链分片及其他的重要概念。在本文中,我们从更前沿的角度来看分片,包含分片尚未解决的两大挑战:数据有效性和数据可用性。简介区块链分片的核心是,大部分操作或使用网络的参与者,无法验证每一个分片中的区块;同样的,无论什么时候,参与者与特定分片进行交互,他们一般无法下载和验证该分片的整个历史记录。然...
2019-03-28 00:51:01 11806
原创 零知识证明 SNARKs 第7部分:椭圆曲线配对
In Part VI, we saw an outline of the Pinocchio zk-SNARK. We were missing two things – an HH that supports both addition and multiplication that is needed for the verifier’s checks, and a transition f...
2019-03-28 00:50:30 11667
原创 零知识证明 SNARKs 第6部分 皮诺曹协议
In part V we saw how a statement Alice would like to prove to Bob can be converted into an equivalent form in the “language of polynomials” called a Quadratic Arithmetic Program (QAP).在第五部分,我们看到了A...
2019-03-28 00:50:22 11672
原创 零知识证明 SNARKs 第5部分:从计算到多项式
In the three previous parts, we developed a certain machinery for dealing with polynomials. In this part, we show how to translate statements we would like to prove and verify to the language of poly...
2019-03-28 00:50:10 12840
原创 零知识证明 SNARKs 第4部分:如何进行可验证多项式盲估
In this part, we build on Part II and III to develop a protocol for verifiable blind evaluation of polynomials, which we will define shortly. In Part V we’ll start to see how such a protocol can be u...
2019-03-28 00:50:02 10671
原创 零知识证明 SNARKs 第3部分:知识系数测试和假设
In Part II, we saw how Alice can blindly evaluate the hiding E(P(s)) of her polynomial P of degree d, at a point s belonging to Bob. We called this “blind” evaluation, because Alice did not learn s i...
2019-03-28 00:49:54 10809 2
原创 零知识证明 SNARKs 第2部分:多项式盲估
In this post, we recall the notion of a polynomial, and explain the notion of “blind evaluation” of a polynomial, and how it is implemented using Homomorphic Hiding (HH). (See Part I for an explanati...
2019-03-28 00:49:45 11826
原创 零知识证明 SNARKs 第1部分:同态隐藏
Constructions of zk-SNARKs involve a careful combination of several ingredients; fully understanding how these ingredients all work together can take a while.zk-SNARKs 的结构包含许多元素的精妙组合;完全了解这些元素需要花费一...
2019-03-28 00:49:31 11133 2
原创 什么是以太坊大都会:终极指南
译者介绍: 郭辉, imToken 的一员,区块链世界的坚定拥趸者。作为以太坊的里程碑事件,大都会终于要来到我们身边了。以太坊开发团队计划于9月18日在测试网络上测试"大都会"(Metropolis),测试至少3周时间。如果测试正常,"大都会"将被部署在主网络。所以,升级到"大都会"阶段的最早时间是10月9日(译者注:实际部署时间已经推迟)。所以,问题来了:什么是"大都会"? "大都会"...
2019-03-27 09:37:41 10899
原创 通往 Ethereum 2.0 之路
(编者注:本文为来自 PEGASYS 的 Ben Edgington 将自己对 Ethereum 2.0 的理解整理而成的 PPT。因页数较少,编者不再切分章节。正文中除图片外,所有的解释性中文皆为编者所加。)上图为作者自己的背景介绍,包括参与了台北的分片研讨会、客户端开发者和扩展研讨会、以太坊核心开发者例会等等。但他也指出,文中很多部分都还没有最终确定下来,而且都是自己的理解,...
2019-03-27 09:36:43 10543 1
原创 Vitalik: 25 分钟认识以太坊(下)
编者按:以下为 Vitalik Buterin 在 Ethereum Devcon3 上的演讲《Ethereum in 25 minutes, vision 2017》的下半部分。以下中文皆直接从视频中听写并译出,如有错失,请不吝赐教。附:干货 | Vitalik: 25 分钟认识以太坊(上)交易以太坊上的交易有 7 个部分:交易 nonce,基本上就是一种反交易重播措施,如果你正在...
2019-03-27 09:31:59 11010
原创 Merkle Patricia Tree 详解
1. 前言1.1 概述Merkle Patricia Tree(又称为Merkle Patricia Trie)是一种经过改良的、融合了默克尔树和前缀树两种树结构优点的数据结构,是以太坊中用来组织管理账户数据、生成交易集合哈希的重要数据结构。MPT树有以下几个作用:存储任意长度的key-value键值对数据; 提供了一种快速计算所维护数据集哈希标识的机制; 提供了快速状态回滚的...
2019-03-27 09:28:28 11222
原创 Verifiable random function
From Wikipedia, the free encyclopediaJump to navigationJump to search This articleneeds additional citations forverification.Please helpimprove this articlebyadding citations ...
2019-03-27 09:26:53 11475
原创 VRF在区块链中的应用
最近区块链领域流行了一种“怪病”,许多区块链项目或者设计方案都加入了一个叫做VRFs的算法。那么,(1) 什么是VRFs?(2) VRFs在区块链中解决了什么问题?本文旨在介绍VRFs的原理以及在区块链中的用途,不涉及复杂的VRFs的详细设计实现以及安全性证明。VRFs介绍VRFs全称Verifiable Random Functions,也就是可验证随机函数。从名字上可以看出VRF...
2019-03-26 09:58:43 11824
原创 对可验证随机函数VRF的简明解释
因为可验证随机函VRF对设计区块链共识算法有很大帮助,最近就研究了一下VRF,本文随时更新,以分享我对VRF和共识算法的最新理解。要理解VRF的工作原理,首先要理解哈希函数,这是基础知识,比如SHA256,SHA3等等,不必详细讨论。先理解一下这里说的“随机”是什么意思:一个理想的哈希函数,其值域应该是离散的、均匀分布的,给定不同的输入值,其输出值应该没有规律,随机的洒落、分布在值域区间内。...
2019-03-26 09:57:00 12496 2
原创 【转】区块链中VRF的应用及原理解析
《区块链中VRF的应用及原理解析》,起因是来自我们团队在做的一条叫 Tarax Network 的公链。因为场景定位的缘故,我们想找到一种低功耗的方式来进行共识。那么 POW 肯定是没办法考虑的,很容就会想到 POS。继而考虑到,无论是 POW 或是 POS,都是想不被预测的随机找到一个节点进行区块打包,并让这个区块能被全网承认。 那么在随机选点这件事上,VRF基于可验证随机选...
2019-03-26 09:54:44 14923
原创 Proof of Stake FAQ
ContentsWhat is Proof of Stake What are the benefits of proof of stake as opposed to proof of work? How does proof of stake fit into traditional Byzantine fault tolerance research? What is the "n...
2019-03-26 09:52:08 16740
原创 【转】Ouroboros:一个可证明安全的PoS区块链协议 (共识介绍)
原文作者:Aggelos Kiayias∗ Alexander Russell† Bernardo David‡ Roman Oliynykov§摘要我们向大家展示Ouroboros——第一个基于权益证明(PoS)并拥有强大安全保证的区块链协议。我们为该协议建立了可以与比特币协议相媲美的安全属性。因为该协议提供了一个"权益证明"的区块链规则,所以相比较基于物理资源证明的区块链(例如工作量证...
2019-03-26 09:49:57 12945
原创 可验证随机函数VRF
VRF 这个东东,在不少区块链项目中都会听到,比较火的 Algorand 和 Dfinity 的共识机制都用到了它。它的全称叫 Verifiable Random Function(随机可验证函数),那它跟一般的随机函数有什么不同?有什么用,为什么区块链需要用到 VRF?这次被我骚扰的是资深全栈工程师黄祺,他曾在 BFTF 区块链知享会中介绍区块链中 VRF 的应用。在区块链中,大部分的...
2019-03-26 09:47:33 15653 1
原创 Randao 可证公平随机数(VRF)白皮书
Randao 可证公平随机数白皮书randao.orgSeptember 11, 2017AbstractRandao 基于区块链技术,提供开源的、去中心化的、社交化的、可证公平的随机数生成服务。Randao 继承了常用随机数发生器的不可控制性及不可预测性,同时具备其所不具有的可参与性及可证公平性。Randao 通过为每个利益相关的个体提供参与的通道,使个体可以观察到自己对随机数生成的...
2019-03-26 09:38:19 19073
原创 『分片技术分析』从分片开始了解区块链扩容方式
. 01 .分片是什么1.1 分片解决区块链的扩容问题目前区块链的扩容方案主要分为三个不同的Layer.分片和DAG (有向无环图)同属对区块链本身架构进行改变的Layer 1。分片目前被关注的热度很高,主打分片技术的公链被投资机构热捧, 分片也和Layer 2的侧链、子链、状态通道等方向一起被列入以太坊官方的扩容方案。1.2分片的原理分片其实是一种传统数据...
2019-03-26 09:35:23 10982
原创 随机数概论——VRF,Commit Reveal,BLS的原理及应用
本文主要介绍了随机数在区块链中的需求及重要性,主要介绍了VRF,Commit Reveal,BLS的原理及应用,之后会继续完善。一、场景需求1. 随机数的需求依靠随机数来分配社会资源,已经应用到日常生活的方方面面。从幼儿园入学资格、到初高中分配学校、再到买车买房、政府招标,都依赖随机摇号抽签。人的一生,很多重大的选择,其实都是随机数帮助决定的。从经济角度上来讲,随机数广...
2019-03-26 09:35:01 13815
原创 VRF介绍
1. Why VRF?场景 在区块链场景中,有的框架会用算法随机产生出块节点与验证节点(如Algorand),甚至解决分叉。按传统的随机算法,按一定的哈希规则随机轮询,选出一个节点来记账/验证。如果这个随机轮询的规则是谁都可以复现的,那么可以推测出将来的某个记账/验证节点,集中攻击它。 为了解决这个问题,就引入了VRF,只有自己能够完成这个哈希过程,而别人只能在他声明之后验证这个过程...
2019-03-26 09:34:40 22137 1
原创 区块链侧链的产生
很早以前有发过一篇讲侧链的文章,但不是很深入,一直也在寻找这方面的资料,直到春节期间偶然翻到这篇文章,由于文字较多,决定按照专题发出来,共同学习,重新编排便于阅读1983年,David Chaum将数字现金作为一个研究课题首次提出,通过设置一个可信的中央服务器,来防止双花(双重花费)。为降低这个中央可信方带给个人的隐私风险,并确保资产的可置换性,Chaum引入了盲签名——提供一种加密方法,来防...
2019-03-25 09:27:34 11251
原创 楔入式侧链原理
“楔入式侧链”的一个主要目标是在比特币系统模型之上最小化附加的信任。难点是币在侧链间的安全转移:接收链必须能得知发送链的币已被正确锁定。设计原理“无需信任”指的不依赖外部的可信方也可完成正确的操作的特性,一般是能够让所有参与方自己验证信息是否正确。例如,密码学签名系统中,“无需信任”是一个隐式的必要条件(如果攻击者能伪造签名,那么这个签名系统将被视为被完全破解)。虽然分布式系统中一般不需如...
2019-03-25 09:26:52 10729
原创 侧链带来的问题
侧链给加密货币领域中的很多问题提供了解决方案,为比特币系统的革新带来数不清的机会,但同时,侧链本身也并非没有缺陷。本文我们将审查一些潜在问题,并探讨可能的解决方案或变通方案。额外复杂度侧链在以下几个层面引入了额外的复杂度。在网络层面,我们有了许多独立的、非同步的区块链,支持相互间转移。它们必须支持可被后期重组证明宣布失效的交易脚本。我们还需要软件自动检测不正当行为,以及生成并发布相关的...
2019-03-25 09:26:08 11278
原创 侧链的应用方向
本文我们探讨侧链可能面向用户的应用,这些应用可以有效地扩展比特币系统,做更多有趣的事情。一直读本专题的同学应该注意到,前面的文章已经提及多次了,最有代表性的一个应用就是简单地创建一条竞争链,该链上币的稀缺性由比特币系统来提供。通过利用一条不用全新货币,而是承载比特币的侧链,避免了初始分配、市场脆弱性、以及新用户接纳障碍等棘手问题,新用户不需要再去找寻值得依赖的市场,或投资于挖矿硬件以获取竞争币...
2019-03-25 09:25:25 12236
原创 node.js 读取yaml文件
node.js 读取yaml文件1、安装yamljs包,具体的安转命令为:sudo npm inastall -g yamljs2、编写名为'manifest.yml'的yaml配置文件Config:Srvc: 8008IPAddress: 12.0.0.13、读取配置文件代码:具体做法是将配置文件中的代码转换为jsonYAML = require('yamljs'...
2019-03-25 09:24:29 16889
原创 Express中server和路由分离
http://www.cnblogs.com/pigtail/archive/2013/01/14/2859297.htmlExpress中server和路由分离当我新建一个express配置的应用时,会自动创建一套应用构架:其中:public放置静态的东西,css、image、jsroutes放置路由views放置模板看一下appjsvar expr...
2019-03-25 09:23:28 10709
原创 用Visual Studio Code写Node.js
用Visual Studio Code写Node.jsvisual studio code(以下简称vsc)最近更新到了0.8.0版本,新加的一些特性都很nice。多了几个配色方案(流行的monokai配色也有了,虽然效果并不好),也支持自定义安装目录了。最让我感动的是对jsx文件做了语法高亮,写react的时候再也不是一片黑色了。今天来了兴致,推荐一下,希望有更多的同学来使用这个编辑器。...
2019-03-25 09:22:36 12330
VC界面开发资源包
2014-01-04
MFC_雪花漫天飞舞的唯美场景
2014-01-04
可换肤的无损wav格式音乐播放器源码v1.0.3.5
2014-01-04
MFC写的一款游戏——空中大战(SpaceWar)
2014-01-04
Cocos2D-X游戏开发技术精解
2014-01-04
高仿QQ电脑管家8界面(源代码)
2014-01-04
程序员编程艺术第一~三十七章集锦by_July
2014-01-04
IOS环境搭建与开发入门(图文)
2014-01-04
Android多点触控技术实战,对图片进行缩放和移动Demo
2014-01-03
Android滑动菜单框架Demo修正版
2014-01-03
开源项目SlidingMenu示例
2014-01-03
GitHub开源项目SlidingMenu类库
2014-01-03
Android应用开发入门教程(经典版)
2014-01-03
Android照片墙应用实现Demo
2014-01-03
Android瀑布流照片墙实现,体验不规则排列的美感Demo
2014-01-03
Android教你如何一分钟实现下拉刷新功能demo
2014-01-03
26个经典的Android例子代码
2014-01-03
Android实现ListView的A-Z字母排序和过滤搜索功能
2014-01-03
Android专用驱动
2014-01-03
Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效demo
2014-01-03
Android开发精要(完整扫描版)
2014-01-03
用区块链技术保障物联网安全
2020-12-05
区块链学习资料.zip
2019-09-16
Google Android SDK开发范例大全(第3版)
2014-01-24
读懂C++递归程序
2014-01-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人