赞
踩
简单来看,区块是由父区块的hash和数据构成,
父区块hash(区块3)=hash(父区块hash(区块2)+数据(区块2))
父区块hash(区块2)=hash(父区块hash(区块1)+数据(区块1))
因为hash导致每次改变一小点hash就会差距很大,所以基本上不可能出现2个区块内容不同,总哈希相同.
所以区块链只需要对照最后一个账本,如果总hash相同,就可以证明自己所有的账单相同
接下来我们用代码简单实现一下
首先我是用数据库来建立的区块(个人感觉使用Map也可以
这是我的数据库表类型和存储内容
头就是上一个区块的hash,身子就是要说的内容,hash就是当前的总hash,other就是他区块链等级,
由于是基本数据结构,所以没有广播,所以我就分等级来展示了
接下来就是代码主体
try {
String myHashSrc=head+body;
String myHash=SelectTest.jdkMD5(myHashSrc);
if(myHash.equals(hash)){
String newBody=SelectTest.say[other%SelectTest.say.length];
String newHead=
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。