算法及数据库
文章平均质量分 79
老杨_QQ122209017
本博主要用于个人笔记,有共同兴趣者,可加我 QQ:122209017
展开
-
去中心化网络DTH介绍
DHT可以译作分布式哈希表,是P2P网络进化中最为重要的环节,它解决了以往需要中心化服务器才能实现的资源发现问题,通过DHT网络模型P2P可以自行组网实现去中心化网络。以前有人问区块链节点是怎么互联的,这篇文章可以解答了DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式网络模型。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而...原创 2018-03-06 19:35:27 · 1827 阅读 · 1 评论 -
智能合约的理想环境思考
编者按:本文来自“小蚁区块链”,作者 张铮文、达鸿飞;1、智能合约与区块链自从比特币、以太坊的相继诞生,以及区块链技术的逐步升温,智能合约一词便开始频繁的出现在金融和科技媒体之中。智能合约是1994年由密码学家尼克萨博(Nick Szabo)最先提出的理念,几乎与互联网同龄。根据Nick Szabo的定义:智能合约是指能够自动执行合约条款的计算机程序。传统意义上的合约的生命周期一般包含:各方协商、...转载 2018-04-25 10:53:27 · 2509 阅读 · 0 评论 -
新的 V8 即将到来,Node.js 的性能正在改变
本文由 David Mark Clements 和 Matteo Collina 共同撰写,负责校对的是来自 V8 团队的 Franziska Hinkelmann 和 Benedikt Meurer。起初,这个故事被发表在 nearForm 的 blog 板块。在 7 月 27 日文章发布以来就做了一些修改,文章中对这些修改有所提及。更新:Node.js 8.3.0 将会和 Turbofan 一...原创 2018-04-25 15:25:37 · 547 阅读 · 0 评论 -
开源C++库
原文链接:http://en.cppreference.com/w/cpp/links/libs此页面的目的是构建开源 C++ 库的比较列表,使得人们在需要特定功能的实现时,不必浪费时间在网上( DuckDuckGo 、谷歌、必应等)搜索。若你知道可能对其他人有用的库,请在此添加到它的链接。能包含者无限制,除了必须能便捷地下载库源码。以“原态”提供此页面——希望这有用,但不提供任何担保。过时、误导...转载 2018-05-05 09:12:20 · 1614 阅读 · 0 评论 -
聊聊DAG的共识和牛逼的hashgraph
转自:http://www.bitcoin86.com/block/19171.html可能因为IOTA和byteball的原因,一提到DAG,很多人就会担心DAG可能有中心化的问题。包括iota依赖validator节点,byteball依赖witness节点。这篇文章尝试为iota和byteball正名,更重要的,介绍一个让我很兴奋的东西,hashgraph。什么是区块链的共识谈到区块链,共识...转载 2018-05-07 20:24:54 · 1277 阅读 · 0 评论 -
共识梳理 及 Hashgraph简评
所有今天正好借撸Hashgraph的机会先简单地梳理下共识的知识点。在一个分布式系统中,为了使得整个系统正常工作,一个久远而又核心的问题就是如何保证集群中所有节点中的数据完全相同并且能够对发起的提案达成一致。共识算法就是用来解决上述问题,从而保证分布式系统一致性的方法。虽然说到共识算法,如今区块链届的人张口闭口就来POW, POS, DOPS, 但是共识的定义却又是另外一番面目:共识定义:终止性(...转载 2018-06-03 10:36:06 · 2494 阅读 · 0 评论 -
掩码认证消息(MAM)详细介绍
掩码认证消息(Masked Authenticated Message),简称MAM,是IOTA最显著的特点之一。让我们来设想一下在这个布满小型物联网设备的世界上,它们的微工作、微观数据流和纳米支付遍布全球的情景。IOTA的目标是成为未来社会最基本的层面,是当前最有远见的项目,它挑战了即将到来的范式转变。 MAM则是其核心驱动力,它通过使数据流和交易更便宜,更安全和无处不在,而将IOTA与其他分布...转载 2018-05-23 16:38:05 · 1677 阅读 · 0 评论 -
badger 一个高性能的LSM K/V store
大家好,给大家介绍一下, 新晋的高性能的 K/V数据库: badger。这是 dgraph.io开发的一款基于 log structured merge (LSM) tree 的 key-value 本地数据库, 使用 Go 开发。事实上,市面上已经有一些知名的基于LSM tree的k/v数据库, 比如 leveldb、goleveldb、rocksdb、boltdb, 可是为什么还要创造新的轮子...转载 2018-05-28 14:55:36 · 4984 阅读 · 0 评论 -
Casper共识协议
Security-deposit based security and authenticationCasper是一种基于保证金的经济激励共识协议(security-deposit based economic consensus protocol)。协议中的节点,作为“锁定保证金的验证人(bonded validators)”,必须先缴纳保证金(这一步叫做锁定保证金,"bonding")才可以参...翻译 2018-06-05 08:06:58 · 1694 阅读 · 0 评论 -
HASHGRAPH 共识算法详解
英文版地址:http://www.swirlds.com/downloads/SWIRLDS-TR-2016-02.pdf摘要:本文通过hashgraph上的一系列例子来说明Swirld hashgraph共识算法。通过结合图形来解释算法详细的步骤,包括算法的核心思想,创建交易以及达成共识和时间戳等。上图就是一个哈希图,随着时间的增长而增加,每个参与者在内存中都保存了一份哈希图的拷贝。上图中,我们...转载 2018-06-01 12:42:08 · 2063 阅读 · 0 评论 -
Merkle树与SPV验证
Merkle Tree,也叫哈希树,是由Ralph Merkle于1979年提出申请的专利。它是一种用做快速归纳和校验大规模数据完整性的树形数据结构。它具有以下特点:它是一种树,大多数是二叉树,也可以是多叉树,具有树结构的所有特点。Merkle Tree的叶子节点是数据块的哈希。Merkle Tree的非叶子节点的哈希值是根据它下面所有叶子节点的值哈希计算得到,如下图所示。备注:如果最开始叶子节点...原创 2018-06-19 16:22:55 · 3599 阅读 · 1 评论 -
掩码认证消息的简要介绍
Masked Authenticated Messaging(MAM)是一个实验性的模块,正在接受同业评审。它是一个附加的数据传输协议,在Tangle之上增加了发送和接收加密数据流的功能,类似RSS,且对设备的大小和成本不作限制。IOTA的共识协议赋予了消息流的完整性。鉴于这些特性,MAM满足了行业重要的需求,即完整性和私密性。MAM使用基于Merkle tree的签名机制来对一条加密消息的密文进...原创 2018-07-10 08:58:28 · 456 阅读 · 0 评论 -
Tendermint vs Casper
权益证明的漫漫长路权益证明的定义可以查看理解权益证明。1982年,拜占庭将军问题首次被Lamport,Shostak和Pease提出。Cosmos的Ethan Buchman这样描述它:”这是一个在可妥协的通信网络中实现分布式协议的问题,也就是在不可靠的环境中建立一个可靠的系统的问题“。从1982年到1999年,都没有人能够创造一个可以解决拜占庭将军问题系统。长久以来,拜占庭将军问题与计算...转载 2018-07-19 09:41:44 · 413 阅读 · 0 评论 -
Tendermint(PBFT) VS Hashgraph 简要比较
Tendermint(PBFT) 简单地说就是能够让你在任何分布式计算机平台上都能用拜占庭容错协议的软件,意味着它能容忍高达1/3的失败(可能包括任意行为 - 包括黑客攻击和恶意攻击),其主要是由应用区块链接口和区块链共识引擎组成的。前者的主要作用是让开发人员能够使用他们的算法语言来处理转账,可以看作是和共识引擎的桥梁。而共识引擎的作用则是确保整个网络上的所有转账在每个节点上都是以同样的方式记录。...原创 2018-08-13 14:58:11 · 1088 阅读 · 0 评论 -
什么是平台,为何能成为平台?我们缘何进入了一个被平台控制的世界?
理解一个时代,往往可以通过认识这个时代的流行词汇。如果你穿越到十三世纪的欧洲,会发现流行词汇基本上是上帝、地狱、天堂、神的恩典。十八世纪,会发现大家讨论的是理性、启蒙、情感、自然法。十九世纪经过工业革命,人们谈论进化、进步。二十世纪则讨论风险、不确定性、复杂性等。在管理学领域,今天的管理词汇和以往有一个很大的不同。过去工业时代分析经济核心的单元叫工厂,而现在分析的基本词汇叫平台。换言之,平台主...转载 2018-11-03 15:49:09 · 1629 阅读 · 0 评论 -
Ripple达成一致共识图解
一致性共识的目的是让所有服务器都同意一组交易并生效到最后关闭总账(Last Closed Ledger)上。他们不关心交易是否有效或者交易发生的顺序。他们只关心所有服务器都赞同这组数据是什么。一致共识是个持续迭代的过程。服务器发出一组交易的提案,然后其他从对端接收到(提案)的服务器也发出自己的提案。这里我们有某一台在Ripple网络中的服务器的抽象化图解。在中间显示了关闭包(Closing Bun...转载 2018-05-01 12:51:59 · 2892 阅读 · 0 评论 -
瑞波(Rippled)的PeerFinder详解
介绍:瑞波的PeerFinder的大部分工作都受到Gnutella早期工作的启发:Revised Gnutella Ping Pong SchemeBy Christopher Rohrs and Vincent FalcoGnutella 0.6 Protocol:2.2.2 Ping (0x00)2.2.3 Pong (0x01)2.2.4 Use of Ping and Pong messa...原创 2018-04-30 16:09:35 · 611 阅读 · 0 评论 -
Ed25519算法
Curve25519/Ed25519/X25519 是著名密码学家 Daniel J. Bernstein 在 2006 年独立设计的椭圆曲线加密 /签名 /密钥交换算法,和现有的任何椭圆曲线算法都完全独立,其中Ed25519用于签名,可在区块链中进行签名,Stellar就是使用了Ed25519作为签名算法的1. Curve25519http://cr.yp.to/ecdh.htmlCurve25...原创 2018-03-06 19:28:02 · 16340 阅读 · 1 评论 -
浅谈区块链共识机制与分布式一致性算法
本文通过介绍传统分布式一致性算法和区块链共识模型,以及提出了一些有关两者关系的观点,让大家有个比较系统的了解。一、前言本文打算先提出观点。欢迎大家参与讨论。1. 传统分布式一致性算法和区块链共识过程的异同点相同点:Append only强调序列化少数服从多数原则分离覆盖的问题:即长链覆盖短链区块,多节点覆盖少数节点日志不同点:传统分布式一致性算法大多不考虑拜占庭容错(Byzanetine Paxo...转载 2018-03-06 16:33:30 · 486 阅读 · 0 评论 -
NuDB介绍
NuDB是专门针对现代SSD或同等高IOPS设备的随机读取性能进行了优化的追加专用密钥/值存储。NuDB最常见的应用程序是内容可寻址存储,其中数据的加密摘要被用作密钥。读取性能和内存使用情况与数据库的大小无关。这些是其他一些功能:低内存占用数据库大小高达281TB所有的密钥都是相同的大小仅附加,不更新或删除值大小从1到2 ^ 32个字节(4GB)性能与增长无关针对并发抓取进行了优化密钥文件可以根据...原创 2018-03-06 16:11:05 · 888 阅读 · 1 评论 -
Ripple数据本地存储概览
1.数据文件及介绍1.1 Sqlite数据文件包含表内容Ledger.dbLedgers区块信息Ledger.dbValidations本地历史区块共识信息Transaction.dbAccountTransactions账户交易表Transaction.dbTransactions交易相关信息Wallet.dbNodeIdentity存储当前节点的NodePublic与NodePrivateWa...原创 2018-03-06 15:28:27 · 1132 阅读 · 0 评论 -
区块链开发实战:如何从零打造一个去中心化应用
区块链会是一场革命吗?今天,很多成功的互联网企业都是在以中介者的形式存在。比如Google——你和互联网之间的中介,比如亚马逊——买家和卖家之间的中介。但区块链——以“去中心化”为最基本特征的技术的发展却很有可能破坏这些互联网巨头赖以成功的结构。互联网巨头的事咱们暂且不操心,那么从一个开发者的角度呢?我们需要关心什么呢?作为一个开发者,我们该如何使用区块链构建应用程序? 我们可以在这么复杂的基础概...转载 2018-03-06 15:10:53 · 309 阅读 · 0 评论 -
各区块链底层数据存储分析
互联网的中心化发展模式是传统网络安全的的软肋,区块链作为一种去中心化、集体维护、不可篡改的新兴技术,是对互联网底层架构的革新,是对当今生产力和生产关系的变革。区块链也被誉为是继蒸汽机、电力、信息和互联网科技之后,目前最有潜力触发第五轮颠覆性革命浪潮的核心技术。目前市场上主流的区块链系统有比特币,Ripple,以太坊和 Hyperledger Fabric 。本文的主要目的就是分析当前主要流行的区块...原创 2018-03-16 20:25:35 · 7162 阅读 · 1 评论 -
密钥交换方法 在线可信任第三方、Merkle Puzzles及Diffie-Hellman原理简介
密钥交换方法关于我密码学分类中的文章,之前讲到的加密方法,甚至是保护完整性的MAC都需要双方各持有相应的Key才能达到相应的效果。之前的前提都是假设双方都持有这个Key,而Key如何交换并没有做太多的讨论。在线可信任第三方 OnlineTrusted Third Party原理:假设Alice与Bob需要相互通信,需要相互交换密钥(Kab),Alice持有自己的Ka,Bob持有自己的Kb。(1)A...转载 2018-03-16 19:58:40 · 1320 阅读 · 0 评论 -
扫盲 HTTPS 和 SSL/TLS 协议[3]:密钥交换(密钥协商)算法及其原理
文章目录★密钥交换/协商机制要达到啥目的?★密钥交换/协商机制的几种类型★基于 RSA 的密钥协商★基于 DH 的密钥协商★DH 的变种★基于 PSK 的密钥协商★基于 SRP 的密钥协商★各种组合的一览表 先插播一个好消息: 本月初俺发了一篇《老流氓CNNIC 的接班人——聊聊“沃通/WoSign”的那些破事儿》。前2天看到新闻说,Mozilla 组织(Firefox)已经把沃通的根证书加入...转载 2018-03-16 19:56:46 · 3077 阅读 · 1 评论 -
区块链共识算法 PBFT(拜占庭容错)、PAXOS、RAFT简述
共识算法区块链中最重要的便是共识算法,比特币使用的是POS(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算理便的不怎么重要了,而今POS的变体DPOS(Delegated Proof of Stake,股份授权证明)进一步削减算力的浪费,同时也加强了区块链的安全性。不过,对于不需要货币体系的许可链或者私有链而言,绝对信任的节点,以及高...转载 2018-03-16 19:48:45 · 537 阅读 · 0 评论 -
PBFT算法
Hyperledger最为核心的部分就是共识算法(consensus plugin),fabric推荐并实现的就是PBFT这一经典算法。BFT算法Client会发送一系列请求给各个replicas节点来执行相应的操作,BFT算法保证所有正常的replicas节点执行相同序列的操作。因为所有的replicas节点都是deterministic,而且初始状态都相同,根据状态机原理(state mach...转载 2018-03-16 19:47:31 · 2650 阅读 · 0 评论 -
Ripple一些组件介绍(待续)
LZ4 最快的压缩和解压速度,尽管压缩比一般,单核压缩速度能达到400m/s,单核解压速度能达到1G/s 项目:http://code.google.com/p/lz4/secp256k1 引用比特币的椭圆曲线加密法详细见:https://en.bitcoin.it/wiki/Secp256k1,实现及测试程序可参考:https://github.com/bitcoin-core/secp256k...原创 2018-03-06 19:57:40 · 1008 阅读 · 0 评论 -
Hadoop/Hbase在windows下的安装笔记
1.Hadoop 安装,见:https://blog.csdn.net/sinat_34070003/article/details/796769932.ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务...转载 2018-03-24 15:25:39 · 1609 阅读 · 0 评论 -
教你Windows平台安装配置Hadoop2.5.2
转载来自:https://blog.csdn.net/antgan/article/details/52067441 博文,本人试过,真管用。刚入门hadoop,开发环境的搭建估计能把一部分人逼走。我也差点疯了。 估计能看到这篇文章的小伙伴们都饱受cygwin和各种配置文件的折磨了吧?如果你不想在linux上搭建,又不想安装cygwin。那就继续往下看啦~步骤: 1. JDK安装(不会的戳这) 2...转载 2018-03-24 13:11:35 · 639 阅读 · 1 评论 -
权益证明问题 —— Proof of Stake FAQ
ethereum wiki 中的汉语繁体翻译实在是读不通顺,还不如看英文,顺便翻译下。原文:Proof of Stake FAQ什么是权益证明权益证明(Proof of Stake,PoS)是一种公有(区块)链的共识算法,它基于网络中验证者的经济利益。在基于工作证明(PoW)的公有链(例如比特币和以太坊的之前的实现)中,该算法通过奖励谜题计算的参与者来验证交易并创建新的区块(即挖矿)。在基于 Po...转载 2018-04-11 11:00:43 · 3018 阅读 · 0 评论 -
隔离见证
隔离见证(segwit)是一次比特币共识规则和网络协议的升级,其提议和实施将基于BIP-9 软分叉方案,目前尚待激活(译者注:2017年8月24日,区块高度481,824,隔离见证正式激活)。在密码学中,术语“见证”(witness)被用于形容一个加密难题的解决方案。在比特币中,“见证”满足了一种被放置在一个未使用的交易输出(unspent transaction output, UTXO)上的加...原创 2018-04-11 10:53:13 · 2900 阅读 · 2 评论 -
多重数字签名算法
什么是数字签名?数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这里的数字签名,不是简单的把纸质的签名改为电子签名,我们需要知道的是,数字签名包含两点:一是保证信息传输的完整性,防止其在途中被篡改;二是保证发送者的身份认证,防止其抵赖。在学习数字签名之前,我们先介绍几个概念:Hash(哈希)函数Hash函数,音译为哈希函数,又叫散列函数或杂凑函数。它可以将任意...原创 2018-11-21 17:39:01 · 3237 阅读 · 1 评论