- 
            
            链式结构小结  更改区块1的数据,只有修改所有链条上的数据才能保证一致。  在区块1上可以分叉新的链条,这种方式也需要全网区块达成共识。 查看全部
- 
            
            认识hash函数   确定性:对同一个输入数据,无论用哈希函数重复计算多少次,每次都能得到相同的结果。 单向性:可以很轻松的对已知数据进行哈希计算,得到哈希值,通过哈希值反推相应的已知数据非常难。 隐秘性:在已知哈希值的情况下,没有可行的办法算出哈希函数的输入值。  抗篡改:对一个数据块,哪怕只改动一个bit位,哈希值改动非常大。 抗碰撞:两个不同的数据块,hash值相同的可能性非常小。  MD系列常用MD5,但其抗碰撞性被公认较差,不推荐使用。 SHA0,SHA1已被证实不安全,推荐使用SHA256,SHA3。 查看全部
- 
            
            区块链链式结构   查看全部 查看全部
- 
            
            区块链的架构模型  查看全部 查看全部
- 
            
            认识一下什么是区块链   价值传递从转让方到了受让方  价值传递双方借助第三方中介进行传递,由于担心第三方系统会发生故障导致数据丢失,因此引入区块链。   通过区块链协议进行自管理。  查看全部 查看全部
- 
            
            go语言构建区块链        查看全部 查看全部
- 
            
            要看一下,钱包是啥玩意查看全部
- 
            
            done查看全部
- 
            
            学习区块链查看全部
- 
            
            package BlockChain import ( "crypto/sha256" "encoding/hex" "time" ) //构建区块链结构体——区块 type Block struct { Index int64 //区块编号 Timestamp int64 //区块时间戳秒为单位,区块创建的时间 PrevBlockHash string //上一个区块哈希值 Hash string //当前区块的哈希值 Data string //区块所包含的数据 } //计算区块的哈希值 func calculateHash(b Block) string{ //用区块的这几个部分作为hash内容 //string(b.Index) 将int64转化为string blockData := string(b.Index) + string(b.Timestamp) + b.PrevBlockHash + b.Data //计算hash值并存入字节数组 hashInBytes := sha256.Sum256([] byte(blockData)) return hex.EncodeToString(hashInBytes[:]) } //生成区块 func GenerateNewBlock(preBlock Block, data string) Block{ //定义一个新的区块 newBlock := Block{} //新区块的编号等于父区块的编号+1 newBlock.Index = preBlock.Index + 1 //新区块的哈希值等于上一个区块本身的hash值 newBlock.PrevBlockHash = preBlock.Hash //新区块的时间戳等于当前时间 newBlock.Timestamp = time.Now().Unix() //新区块的Hash是更新新内容计算得来 newBlock.Hash = calculateHash(newBlock) return newBlock } //生成创世区块:是第一个区块,区块编号为0,区块的哈希值是一个空值, //区块的时间戳和当前Hash值可以为它传递一个虚拟的父区块生成 // 在系统启动之前就已经生成好了 func GenerateGenesisBlock() Block{ preBlock := Block{} preBlock.Index = -1 preBlock.Hash = "" return GenerateNewBlock(preBlock,"First Block") }查看全部
- 
            
            修改其中一个区块,这个区块后面的所有区块都有跟着修改 查看全部
- 
            
            链式结构哈希的计算 查看全部
- 
            
            哈希函数:是一种算法,把任意长度的二进制数据映射为固定长度的二进制数据。 哈希函数的特点:具有确定性,单向性,隐秘性,抗篡改,抗碰撞 哈希函数的实现:MD系列,SHA系列,推荐SHA256,SHA3 查看全部
- 
            
            区块链链式结构: 一个区块由区块头和区块体组成; 区块体中存储了相关的交易数据; 区块头中最重要的元素是父区块hash,每一个区块含有一个父区块的hash,相当于有了一个指向父区块的指针,通过hash指针把一个一个的区块连接起来,就构成了区块链特殊的链式结构。 在区块链中的第一个节点称为创世区块,创世区块只有数据值,没有父区块和hash值。 查看全部
- 
            
            区块链的架构模型 - 数据层:封装了底层数据区块的链子结构,以及相关的非对称的公钥私钥加密技术和时间戳技术;是整个区块链最底层的数据结构。 
- 网络层:包括P2P组网机制,数据传播机制和数据验证机制。 
- 共识层:封装了网络节点的各类共识机制算法,是区块链的核心技术,它决定是到底是谁来进行记账,而记账方式将会影响整个系统的安全性和可靠性。 
- 激励层:将帧元素集中到区块链的技术体系中来,包括发行机制和分配机制,主要应用在公有链中,并不是所有的区块链都有激励层。 
- 合约层:用于封装各类脚本、算法和智能合约,是区块链可编程特性的基础,可以简单理解为一份自定义的电子合同。 
- 应用层:封装了区块链的各种应用场景和案例。 - 合约层、激励层、共识层、网络层、数据层构成了区块链的核心系统 - 共识层、网络层、数据层是构建区块链系统的必要元素 - 激励层通常位于公有链,激励遵守规则的节点,惩罚不遵守规则的节点 - 合约层用于封装各类脚本、算法、合约。 
 查看全部
举报
 
             
         
                 
                 
                 
                