Press "Enter" to skip to content

Posts tagged as “日志”

MYSQL高可用集群架构-MHA架构–code

大虾 0

1  MHA简介:MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

Java开发笔记(三十六)字符串的常用方法–code

大虾 0

不管是给字符串赋值,还是对字符串格式化,都属于往字符串填充内容,一旦内容填充完毕,则需开展进一步的处理。譬如一段Word文本,常见的加工操作就有查找、替换、追加、截取等等,按照字符串的处理结果异同,可将这些操作方法归为三大类,分别说明如下。
一、判断字符串是否具备某种特征
该类方法主要用来判断字符串是否满足某种条件,返回true代表条件满足,返回false代表条件不满足。判断方法的调用代码示例如下:

面试题1–code

大虾 0

---恢复内容开始---1.++i 先计算后输出
2.arraycopy(a,2,b,2,2) 从a数组第二位复制两位替换掉b数组第二位后两位
3.java独特特点,平台无关性。
4..java文件编译成.class文件
5.读取图片文件可使用
6.linkedhashset会保留顺序,treeset会自动排序。
7.java变量名不能是数字,不能是关键字。
8.private表示私有,只能在本类中使用。
9.对象需要跨网络传输,需要实现Serializable接口
10.生命抽象方法不可写大括号。
11.count+=i 表示count=i+count
12.spring boot框架,其实他不算是一个框架,他算是整合了多个框架。他拥有自己的pom.xml和配置文件,通过配置文件或YML实现了对SSM或者其他框架的整合,通过一个application的main方法和注解启动spring boot。他的使用场景非常广泛,因为他整合多个框架,所以广泛应用在各种项目开发和分布式项目的搭建。一般是使用IDEA创建spring boot项目,然后勾选需要的maven依赖。遇到的坑:在创建完成后,无法启动spring boot项目。
13.select sum(列名) from 表名 where //求综合
select avg(列名) from 表名 where //求平均数
select count(1) from 表名 where //次数
select 列名 from 表名 where 列名> < //对比
优化数据库方法:
1.避免在子句中使用!=或<>判断,所以拆分语句
2.添加索引。
3.避免全表查询

【阿里面试系列】Java线程的应用及挑战–code

大虾 0

上一篇文章【「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景】我们了解了进程和线程的发展历史、线程的生命周期、线程的优势和使用场景,这一篇,我们从Java层面更进一步了解线程的使用。关注我的技术公众号【架构师修炼宝典】一周出产1-2篇技术文章。Q群725219329分享并发编程,分布式,微服务架构,性能优化,源码,设计模式,高并发,高可用,Spring,Netty,tomcat,JVM等技术视频。

区块链隐私保护研究(二)–code

大虾 0

1、基于混币协议的技术
基于混币节点的中心方法
①Mixcoin
是一种在不改变比特币任何协议的情况下,为交易用户提供混合服务保证用户隐私的方案。为提高匿名性,Mixcoin要求多用户同时使用相同金额进行混币。
Mixcoin 设计的原理如下图所示

通过混合服务器对资金的处理,可以隐藏交易的输入地址与
输出地址之间的联系,提高了攻击者分析交易内容的难度,保证了用户交易隐私。
Mixcoin 作为提供混币服务的第三方,掌握用户输入地址与输出地址之间的连接,存在泄露用户隐私问题。
②Blindcoin
采用盲签名技术改善Mixcoin 缺陷的中心化混币方案。在
Blindcoin 方案中,用户对输出地址采用盲签名,使第三方能提供混币服务的同时,不会将用户的输入地址与输出地址相连接,从而保护用户交易信息。但是,Blindcoin 的混合金额仍然是固定的,并且用户必须将输出地址匿名发送到公共日志中,还是无法避免第三方作弊行为。
③Dash(达世币)
是一种以保护用户隐私为目的的“数字货币”,采用链式混合及盲化技术实现混币过程。Dash 中用户用固定的几种Dash 值进行混币交易,负责混币的主节点保证乱序输出用户所需的输出地址。为了提高交易匿名性,用户会随机选择多个混币主节点依次进行混币,降低地址间的关联性。但是Dash 是一种中心化的混币方法,容易受到恶意主节点攻击。
⑤Shen Tu和Yu提出一种基于椭圆曲线的盲签名混币方案,
能够在保证匿名性的基础上提升计算效率。
去中心化的混币方法
CoinShuffle
①用户使用混币服务中其他用户的密钥加密输出地址,所有参与者按顺序对输出地址进行洗牌,最后将输出地址列表进行广播。CoinShuffle 能保证混币参与者无法获取交易地址间的联系,但是在混币过程中需要参与者同时在线,因此,容易遭受拒绝服务攻击。
②TumbleBit
一种链下通道混币技术,采用RSA 和ECDSA 密码学技术,用户通过去信任的第三方平台Tumbler 实现无连接的匿名交易,Tumbler 也无法获取交易信息,因此,会增加用户交易匿名性。
③CoinParty
基于阈值的ECDSA 签名和混合网络相结合的分布式混币技术。CoinParty 能提供单笔混币交易,并允许网络存在恶意节点的情况下,保证混币服务的有效性,增加了用户的匿名性和安全性。
④CoinJoin
允许多笔交易输入合并构成一笔交易,当用户所要求的输出地址出现在输出地址列表时,用户才会对交易进行签名。CoinJoin 可以隐藏交易输入地址与输出地址间的关系,但是CoinJoin技术需要第三方混币服务平台,第三方平台掌握用户输入地址与输出地址,因此CoinJoin 技术并不是完全匿名的。
⑤Xim
Xim采用一种多轮两方混币协议,具有可调控的成功率。与CoinJoin机制相比,Xim方案中恶意节点发动攻击的代价将随着参与混币用户的数量线性增加,能够有效对抗女巫攻击和其他拒绝服务攻击。
⑥Monero(门罗币)
一种以隐私保护为主要特征的新型数字货币,采用环签名机
制实现混币过程。相对于其他方案,门罗币中用户实施混币过程时不需要和其他用户交流。任何一个用户可以自行实现混币,能够有效杜绝去中心化混币方案面临的拒绝服务攻击、混币参与用户泄露混币过程等问题。
2、基于加密协议的技术
①Monero(门罗币)
门罗币(Monero)是基于CryptoNote、环保密交易(RingCT)等密码学技术来保证用户的匿名性和隐私性。Monero 的特点是交易不可关联性和隐藏交易金额,其中,环签名(ring signature)和隐蔽地址(stealth address)解决了交易中输入地址与输出地址间的关联性问题。RingCT 保证了交易的隐私。
Monero 虽然能实现匿名交易及隐藏交易金额,但是仍然存在一些问题:环签名中需要加入其他用户公钥,相当于将真实交易隐藏在匿名集合中,可能存在恶意用户暴露隐私,使用户交易地址被关联,且用户在选取匿名集合时,匿名集合一般较小,攻击者可以通过分析交易信息,将交易信息与用户身份连接。
②Zerocoin(零币)
一种基于零知识证明的零币协议,解决了用户交易地址泄露问题。Zerocoin 是比特币的一种扩展协议,通过Zerocoin 用户可以将比特币铸造成Zerocoin 进行交易,隐藏交易输入地址与输出
地址, 也可将Zerocoin 赎回成比特币。使用Zerocoin 交易时,其他用户无法获取Zerocoin 的交易信息,只知道该Zerocoin 是否已被花费,从而实现交易不可链接。
Zerocoin虽然能有效地保护用户匿名性和隐私性,但是Zerocoin 只能铸造和兑换固定面值的货币,且Zerocoin 的零知识证明的数据相对较大,需要消耗额外的区块链存储空间及计算资源。
③Zerocash(零钞)
Zerocash将简洁非交互性零知识证明技术(zk-SNARK)应用于“数字货币”,实现当前“数字货币”交易最高程度的隐私性与匿名性。此外,与Zerocoin 比较,Zerocash对交易金额保密,支持任意面值的金额交易。
3、基于安全通道协议的技术
①双向微支付通道、闪电网络、Sprites等链下支付技术,通过使用安全通道,用户只需要将第一次交易金额和最后一次交易金额广播到区块链上,用户之间的交易细节在链下执行,因此,保证交易信息的隐私性。但是,这几种链下交易方案在交易双方没有直接支付通道时,允许中继节点作为服务提供者完成交易。中继节点能获取交易双方的交易信息,使用户的隐私受到威胁。
②Blot
Blot是针对链下安全通道交易技术的隐私保护问题,而提出的一种匿名支付通道技术。Blot 提供3 种链下支付方案:单向支付通道、双向支付通道、第三方支付通道。用户之间的交易可通
过链下安全通道直接进行或者依靠不可信第三方。第三方支付通道运用盲签名技术及零知识证明技术,使第三方不能获取用户的交易信息,从而防止第三方从中作恶,保证用户的隐私性。
③TumbleBit
TumbleBit是一种兼容比特币系统的链下交易通道方案。它允许交易各方通过不受信任的中介Tumbler 实现快速匿名的链下支付。通过RSA 和ECDSA 密码学技术,Tumbler能够验证用户交易的真实性,无法获取用户的交易信息,实现用户交易的不可链接性,从而保证用户隐私性。