blockchain
文章平均质量分 70
jason_cuijiahui
这个作者很懒,什么都没留下…
展开
-
Schnorr签名方案
https://www.8btc.com/article/359451https://www.8btc.com/article/359642https://panzhibiao.com/2019/02/28/schnorr-sigature/原创 2019-09-08 10:59:55 · 1082 阅读 · 0 评论 -
共识算法-Paxos
场景有一个变量v,分布在N个进程中,每个进程都尝试修改自身v的值,它们的企图可能各不相同,例如进程A尝试另v=a,进程B尝试另v=b,但最终所有的进程会对v就某个值达成一致,即上述例子中如果v=a是v达成一致时的值,那么B上,最终v也会为a。需要注意的是某个时刻达成一致并不等价于该时刻所有进程的本地的v值都相同,有一个原因是进程可能挂掉,你不能要求挂掉的进程任何事;更像是最终所有存活的进程...原创 2018-07-19 08:57:54 · 578 阅读 · 0 评论 -
window下配置IPFS
https://blog.csdn.net/running_guy/article/details/79215476原创 2018-05-16 09:28:30 · 647 阅读 · 0 评论 -
区块的Weight
Weight是区块计费的新指标Weight的出现来源于隔离见证,以前区块链的计费源于Size,即区块大小。公式weight=(tx size with witness data stripped)∗3+(tx size)<=4000Kilobyteweight=(tx size with ...原创 2018-04-22 21:19:51 · 1166 阅读 · 0 评论 -
隔离见证的软分叉
为了说明清楚: - 不升级版本的矿工节点称为“旧矿工” - 升级版本的矿工节点称为“新矿工” - 不升级版本的交易称为“旧交易” - 升级版本的交易称为“新交易”软分叉的好处软分叉本质上就是让旧矿工什么都不做,不发生任何改变的情况下,仍然认可同新矿工挖出来的区块。上述意味着什么?下面有四种情况: 新矿工 旧矿工 新区块 认可,接着挖...原创 2018-04-22 20:33:59 · 514 阅读 · 1 评论 -
Scrypt vs X11 vs SHA-256
参考自 With several thousand cryptocurrencies in existence right now, it is not surprising to learn a lot of coins use different mining algorithms. Whereas bitcoin uses SHA-256, other coins may use the ...原创 2018-04-17 14:24:08 · 445 阅读 · 0 评论 -
Hyperledger1.0学习之路
看到一个不错的材料,有空我慢慢啃。 https://www.cnblogs.com/aberic/p/7527831.html原创 2018-03-28 15:59:44 · 391 阅读 · 0 评论 -
Hyperledger的Bucket Tree
简介Bucket Tree是worldstate的组织方式的实现。为了下面描述的目的,worldstate的键被表示成两个组件(chaincodeID and ckey) 的通过nil字节的级联,如:key = chaincodeID+nil+cKey。这个方法的模型是一个merkle-tree在hash table桶的顶部来计算worldstate的加密-哈希这个方法的核心是wo...原创 2018-03-27 21:48:27 · 1247 阅读 · 0 评论 -
Bytom: An Interoperation Protocol for Diversified Byte Assets
Bytom: An Interoperation Protocol for Diversified Byte AssetsAbstract:Bytom Blockchain Protocol (hereinafter referred as Bytom) is an interactive protocol of multiple byteassets. Heterogeneous b...转载 2018-04-10 08:03:47 · 1830 阅读 · 0 评论 -
以太坊的叔块(uncle block)
参考自叔块的设计理念孤块(orphan block)在比特币协议中,最长的链被认为是绝对的正确。如果一个块不是最长链的一部分,那么它被称为是“孤块”。一个孤立的块是一个块,它也是合法的,但是发现的稍晚,或者是网络传输稍慢,而没有能成为最长的链的一部分。在比特币中,孤块没有意义,随后将被抛弃,发现这个孤块的矿工也拿不到采矿相关的奖励。最重的链(heaviest)Ethereum的GHOST...原创 2018-10-15 11:46:42 · 2477 阅读 · 0 评论 -
以太坊源码分析
目录感谢尹成老师的劳动成果,博客地址以太坊源码分析(1): go-ethereum的设计思路及模块组织形式以太坊源码分析(2): go ethereum 目录大概介绍以太坊源码分析(3): 以太坊交易手续费明细以太坊源码分析(4): accounts包简介以太坊源码分析(5): accounts代码分析以太坊源码分析(6): accounts账户管理分析以太坊源码分析(7): E...原创 2018-10-09 18:59:36 · 3136 阅读 · 1 评论 -
如何把字符串哈希成椭圆曲线上的点
朴素方法注:t就是字符串哈希(sha256)后的值,同时作为椭圆曲线点的x值,但是y值即s\sqrt{s}s不一定是整数,因此构造x的过程中需要引入i,令x=t+ix=t+ix=t+i,不断地尝试。更先进的哈希方法和分析...原创 2019-02-07 10:19:59 · 1693 阅读 · 0 评论 -
BCH中的UTXO Commitment与其用到的ECMH哈希算法
UTXO Commitment有什么用?全节点的同步问题,可以让新的全节点快速启动目前,比特币的模式下要启动一个全结点,需要下载从创世区块到最新区块所有的区块。目前,所有区块的大小约为几百G。我们来思考一下,这样的方式是否是必要的,其实用全结点去验证新交易,我们其实直接操作的是UTXO集合,看一下新的交易是否引用UTXO集合的某个UTXO。UTXO集合其实就是比特币系统目前的状态,所以要启...原创 2019-02-07 10:03:03 · 779 阅读 · 0 评论 -
从博弈论的美元拍卖实验看FOMO3D的规则
FOMO3D的规则FOMO3D本质上其实就是一个美元拍卖实验美元拍卖实验1美元拍卖案例,由著名博弈论专家,耶鲁大学教授马丁. 舒比克所设计:一名拍卖人拿出1张1美元钞票,请大家给这张钞票开价,每次叫价的增幅以5美分为单位,出价最高者得到这张1美元,但出价最高和次高者都要向拍卖人支付出价数目的费用。美元拍卖的纳什均衡首先考虑纯策略情况1:无人跟进(让跟进者无利可图)第一个人竞拍直接竞拍...原创 2019-01-04 23:38:18 · 1312 阅读 · 0 评论 -
环签名(Ring signature)
参考自环签名指的是在n个公钥中隐藏自己拥有私钥的那个公钥,具体应用就在于区块链上隐藏交易发送人(地址/公钥)。准备首先定义以下函数,其中EkE_{k}Ek为对称加密算法,k为EkE_{k}Ek对应的对称密钥Ck,v(y1,y2,…,yn)=Ek(yn⊕Ek(yn−1⊕Ek(⋯⊕Ek(y1⊕v)…&ThinSpace;)))=v{\displaystyle C_{k,v}(y_...原创 2018-12-09 23:16:51 · 15843 阅读 · 0 评论 -
区块链中的隐地址(stealth addresses)
Alice生成一个Bob才能有私钥的隐地址(公钥T),两者不需要交互。R需要在交易中被附上。推导:T=B+Hash(rV)G=B+Hash(rvG)G=B+Hash(vR)G=bG+Hash(vR)G=(b+Hash(vR))GT = B + Hash(rV)G = B + Hash(rvG)G \\ = B + Hash(vR)G = bG + Hash(vR)G \\ = (b+Hash...原创 2018-12-09 17:57:56 · 1626 阅读 · 2 评论 -
水果链(FruitChain)简述
水果链主要解决的问题几个区块链的关键性质:一致性 & 活性 & 公平性。一致性:所有的诚实结点能够看到一致的全局账本活性:一笔被诚实结点提交的交易能够足够快地被添加进全局账本公平性:占有p%算力的组织,只能够获得p%的收益目前,比特币模型的区块链只能保证一致性以及活性,而并不能保证公平性。目前有三个原因:自私挖矿交易费的存在使得收益不单纯由算力的比例决定。因此,...原创 2018-11-08 11:38:13 · 2374 阅读 · 0 评论 -
Scrypt算法
看了一圈觉得还是WikiPedia的比较通俗靠谱:OverviewThe large memory requirements of scrypt come from a large vector of pseudorandom bit strings that are generated as part of the algorithm. Once the vector is genera...原创 2018-04-14 14:47:31 · 5416 阅读 · 0 评论 -
同态加密算法简述
同态加密如果我们有一个加密函数 f , 把明文A变成密文A’, 把明文B变成密文B’,也就是说 f(A) = A’ , f(B) = B’ 。另外我们还有一个解密函数 f−1f^{-1} 能够将 f 加密后的密文解密成加密前的明文。对于一般的加密函数,如果我们将A’和B’相加,得到C’。我们用f−1 f^{-1} 对C’进行解密得到的结果一般是毫无意义的乱码。但是,如果 f 是个可以进行同态加密的加原创 2018-01-21 18:04:00 · 45570 阅读 · 5 评论 -
Ethereum Virtual Machine (EVM)
https://medium.com/@jeff.ethereum/go-ethereums-jit-evm-27ef88277520 https://themerkle.com/what-is-the-ethereum-virtual-machine/原创 2017-10-05 21:03:33 · 1635 阅读 · 0 评论 -
Build Hyperledger Fabric 1.0
1.jason@ubuntu:~/docker$ sudo apt install docker.ioE: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/原创 2017-07-14 22:07:27 · 1696 阅读 · 0 评论 -
基于Account和UTXO的区块链如何抵抗重放攻击?
重放攻击,指攻击者重放一个在网络上窃听到的或在区块链中看到的消息。这里,重放攻击是一个很严重的问题。基于UTXO的区块链比特币,尽管没有直接地去处理重放攻击,它们却能抵抗重放攻击。在这些管理数字资产的系统中,采取了 UTXO 模型,交易的串联构成了系统中用户的状态。这样的系统对重放攻原创 2017-08-02 00:12:32 · 3362 阅读 · 0 评论 -
基于truffle框架开发、部署第一个去中心化应用(Dapp) - 宠物商店
truffle框架Truffle is a world class development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier.项目目录结构contracts/ 智能合约的文件夹,所有的智能合约文件都放原创 2018-03-06 22:50:59 · 802 阅读 · 0 评论 -
Base58编码解码Go实现
base58和base64一样是一种二进制转可视字符串的算法,主要用来转换大整数值。区别是,转换出来的字符串,去除了几个看起来会产生歧义的字符,如 0 (零), O (大写字母O), I (大写的字母i) and l (小写的字母L) ,和几个影响双击选择的字符,如/, +。结果字符集正好58个字符(包括9个数字,24个大写字母,25个小写字母)。编码流程 (本质为大数与字符串的转化)...原创 2018-02-07 15:08:31 · 3944 阅读 · 3 评论 -
以太坊的remix下运行环境的三种选项
参考自 Remix has 3 different environment options that can be used to deploy/test Solidity contracts: JavaScript VM, Injected Web3, and Web3 Provider. This option can be changed under the Environment dro...原创 2018-03-31 06:00:48 · 4484 阅读 · 0 评论 -
区块链的区块大小和区块间隔的trade-off
系统能够处理的最大交易数目已经被所选择的两个参数限制了:区块大小和区块间隔。增加区块大小能够改善吞吐量,但是会导致大区块需要更长的时间在网络上传输。减少区块间隔可以减少延迟,但是当系统处于不一致时会导致不稳定,而且区块链也会有改编的风险。为了改善效率,就需要妥协吞吐量和延迟。...原创 2018-03-21 14:18:22 · 2313 阅读 · 3 评论 -
EOS.IO
权威资料共识算法 (DPOS)帐户应用程序的确定性并行执行Token 模型与资源使用治理 (治理是人们在主观问题上达成共识的过程,而这无法完全用软件算法来捕获。)脚本 & 虚拟机 EOS.IO 首先会是一个平台用于协同用户间认证消息的传递。 脚本语言和虚拟机的具体实现与 EOS.IO 技术的设计是分离的。 任何语言或者虚拟主机,只要确定并适合沙盒,带有足够的运行效率均可以...原创 2018-03-24 18:00:50 · 945 阅读 · 0 评论 -
闪电网络讲解和思考
最好的讲解: https://lightning.network/的vedio配套ppt: https://lightning.network/lightning-network.pdf简介单向channel全向channel闪电网络RSMC的设计闪电网络的缺陷1. 容易遭受DDoS攻击2018/3/22新闻:闪电网络节点遭受DDoS攻击,20%节点被...原创 2018-03-20 00:16:18 · 2315 阅读 · 0 评论 -
最好的Hyperledger1.0原理架构的讲解
最好的Hyperledger1.0原理架构的讲解,没有之一Network SetupChannels and Ordering ServiceNetwork ConsensusEndorsement Policies原创 2018-03-21 10:43:21 · 819 阅读 · 1 评论 -
共识算法-PBFT
步骤:Request: 客户端C往共识网络发交易。从全网节点选举出一个主节点(Leader)Pre-Prepare (主节点广播交易执行的顺序): 每个节点把客户端发来的交易向全网广播,主节点0将从网络收集到多个交易排序后存入列表,确认交易的执行顺序,并将该列表向全网广播,扩散至123 Prepare (共识交易执行的顺序): 每个节点接收到交易列表后,广播给所有非主节点。节点把接收到原创 2018-03-19 16:36:14 · 8130 阅读 · 2 评论 -
拜占庭将军问题的深入思考
拜占庭将军问题的经典解决方案最好的描述资料http://www.8btc.com/baizhantingjiangjun 注:论文中的拜占庭将军问题的两个方法只是解决拜占庭问题的手段之一,等价于PBFT也是解决拜占庭问题的手段之一。PBFT是Practical Byzantine Fault Tolerance的缩写,意为实用拜占庭容错算法。该算法是Miguel Castro (...原创 2018-03-19 12:58:10 · 1561 阅读 · 0 评论 -
区块链共识算法大汇聚
PoWPoSCasperDPOS简介:Under normal operation block producers take turns producing a block every 3 seconds. Assuming no one misses their turn then this will produce the longest possible ...原创 2018-03-17 17:01:12 · 411 阅读 · 0 评论