自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 泰岳链共识理解

共识算法区块链系统通过共识算法保障系统一致性。 理论上,共识是对某个提案(proposal)达成一致意见的过程,分布式系统中提案的含义十分宽泛,包括事件发生顺序、谁是leader等。区块链系统中,共识是各个共识节点对交易执行结果达成一致的过程。共识算法分类根据是否容忍 拜占庭错误 ,共识算法可分为容错(Crash Fault Tolerance, CFT)类算法和拜占庭容错(Byzantine Fault Tolerance, BFT)类算法:CFT类算法 :普通容错类算法,当系统出现网络、磁盘故

2020-07-17 16:12:56 556

原创 泰岳链节点搭建

泰岳链节点搭建今天尝试搭建一个泰岳链联盟链(4节点),本地搭建,先在家目录下建立一个目录nodes,在该目录下建立4个子目录node1~node4,并分别在节点目录里建立相应的数据目录(data).开始申请4个根证书,(证书申请可以使用openssl工具,泰岳链文档中有申请方法),申请完证书后,还需要为4个节点分别指定一个nodekey,由于是一个全新的联盟链,所以需要重新构建创世区块及bootnode节点,以方便节点启动后能够快速的发现对方。最后的目录结构如图:nodekey是一个节点连接的身份

2020-06-29 18:22:42 531

原创 助记词

助记词助记词顾名思义就是用来辅助记忆私钥的,私钥是32个字节数字,如:0xa8d264b13e6c7949fc31c0c7555fe10849d0f3f05af0a1ffeb8239f68b2fe7e1 ,不利于记忆,如果是以单词的形式记忆起来就好很多了。助记词一般由12/24个单词构成,2个单词之间由1个空格隔开,这些单词都来源于一个固定词库,是由私钥根据一定算法得来,所以助记词是私钥的另一种表现形式。根据BIP39规范提出了一种计算私钥的方式,首先选择2048(0x800)个常用单词组成一个数组,

2020-06-19 15:55:11 10826 2

原创 私钥与公钥/签名与验签

私钥/公钥通过上节,我们知道了公钥(Q)和私钥(N)的生成的原理,我们在看看椭圆曲线数字签名算法(ECDSA)的过程,椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。ECDSA于1999年成为ANSI标准,并于2000年成为IEEE和NIST标准。私钥主要用于签名,解密;公钥主要用于验签,加密,可以通过私钥可以计算出公钥,反之则不行。公钥加密:公钥加密的内容可以用私钥来解密——只有私钥持有者才能解密。私钥签名:私钥签名的内容可以用公钥验证。公钥能验证的签

2020-06-16 19:03:55 6604

原创 follow the Satoshi算法

follow the Satoshifollow-the-satoshi算法是李启威在2012年发明的,算法的原理非常简单:将所有的权益组成一棵Merkletree,其形式是非叶子节点的权重为左右子树的权重之和,叶子节点的权重即为某个权益所有者的权益值。然后根据随机数在左右子树中进行选择。例如上图选择:随机数是65,左边权益是50,那么65>50所以选择右边执行伪随机得到20,左边权益37,20<37,选择左边执行伪随机得到15,左边权益27,15<27,选择左边,所以最终选

2020-06-12 17:41:33 976

原创 椭圆曲线加密算法

椭圆曲线加密算法椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密。一般椭圆曲线方程式表示为:(其中a,b,c,d为系数)> y2=ax3+ bx2+cx+d典型的椭圆曲线如:y2=x3−4x2+16先摆一个栗子:小米

2020-06-11 22:35:00 6184

原创 PBFT节点总数为何是3F+1

PBFT拜占庭容错算法PBFT是一种基于消息传递的一致性算法,算法经过三个阶段达成一致性,这些阶段可能因为失败而重复进行。假设节点总数为N,f为拜赞庭错误节点,N满足:N=3f+1。当节点发现leader作恶时,通过算法选举其他的replica为leader。leader通过pre-prepare 消息把它选择的 value广播给其他replica节点,其他的replica节点如果接受则发送 prepare,如果失败则不发送。一旦2f个节点接受prepare消息,则节点发送commit消息。当

2020-06-09 22:28:47 3523 4

原创 gencodec工具

gencodec百度了一下,居然找不到gencodec工具的中文使用介绍,对我这种拿来主义的人真有点不适应,简单总结一下介绍使用。gencodec是一个非常便捷的通过类型自动生成marshaling代码的工具,工具的安装就不细说了,基本没有使用其他库除了golang.org/x里某些库,地址:https://github.com/fjl/gencodec。使用方式:gencodec -type MyType -field-override MyTypeMarshaling -formats jso

2020-06-06 16:05:46 445

原创 “双花”

“双花”“双花”交易一般指数字货币系统中,由于数据的可复制性,一笔钱被花了两次或者两次以上,也叫“双重支付”。双花及POW共识的51%攻击将对系统产生毁灭性的打击。以比特币为例,在比特币系统中的交易最终性确认是一个概率上的最终确认(即该该笔交易在概率上很难被推翻),想象这么一种情况,某人发送一笔交易将一定量的BTC到某交易所(交易为TX1),然后矿工将交易打包上链(此时的链称为A链,高度为H),然后立即变现拿到现金,在这个期间他只要能够一直控制着比特币网络上51%以上的算力,就可以将之前那币交易使用相同

2020-06-05 11:32:01 544

原创 一种POS算法理解

一种POS算法Ouroboros的pos共识算法整个共识过程被分成每个epoch过程无线循环,这里分析一下每个epoch里干的事情,epoch里将按时间线分成n个slot,每个slot将独立工作,每个slot只能产生一个块,若这个块有问题,或者应该产出这个块的矿工不在线,或者产出的块没有广播给大多数人,那么这个slot是当作废弃的,也就是会跳过这个slot的块。每个slot对应的矿工将通过一种随机算法(VRF可验证随机函数,这里不在过多解释VRF)从stakeholder(一组候选人)选出,该随机结果需

2020-06-04 13:29:00 836

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除