日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

区块链 matlab,matlab可以实现区块链吗?

發(fā)布時間:2024/7/19 循环神经网络 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 区块链 matlab,matlab可以实现区块链吗? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

用MATLAB實現(xiàn)區(qū)塊鏈:把區(qū)塊對象連成鏈

現(xiàn)在可以把區(qū)塊連成區(qū)塊鏈了,我們用一個新的類叫做BlockChain來模擬它。 首先規(guī)定該鏈中的第一個block可以直接產(chǎn)生,就是genesis

block,這就是上面Block的construtor中,輸入?yún)?shù)個數(shù)等于2是返回的對象.

classdef BlockChain < handle

properties

totalCount % 用來記錄區(qū)塊的個數(shù)

blockArray % 對象數(shù)組 用來盛放區(qū)塊鏈

end

methods

function obj = BlockChain()

obj.blockArray =[ Block(0,'Genesis Block')]; % 構(gòu)造blockchain對象時產(chǎn)生第一個 genesis

block

obj.totalCount = 1 ;

obj.calculateGensisBlockHash(); % 計算genesis block的hash

end

function bc = getLatest(obj)

bc = obj.blockArray(end);

end

function calculateGensisBlockHash(obj)

gb = obj.blockArray(1);

Opt.Method = 'SHA-256';

Opt.Input = 'ascii';

str = strcat(num2str(gb.index),gb.data) % 計算方法是把所有的內(nèi)容做strcat

gb.selfHash = DataHash( str , Opt); % 然后hash

end

function addBlock(obj,newBlock) % 當(dāng)miner成功的'挖出'一個符合要求的block之后

if obj.validateNewBlock(newBlock) % 調(diào)用該函數(shù)

obj.blockArray(end+1) = newBlock; % 把這個block加到blockchain上去

end

end

function tf = validateNewBlock(obj,newBlock) % 驗證新添加的block是否符合要求

newHash = DataHash( strcat( newBlock.getCombined(), num2str(newBlock.nonce)

));

if(strcmp(newHash(1:2),'00') &&

strcmp(newBlock.selfHash,newHash))

tf= true;

else

tf = false;

end

end

end

end

在live editor中演示實例化這個BlockChain類,在它的constructor中,產(chǎn)生第一個genesis

block并且計算它的hash值

所謂的”鏈”,就是前一個block的selfHash的數(shù)據(jù),保存在下一個block的previousHash屬性中.

這就是說,區(qū)塊2中包含著區(qū)塊0的信息,區(qū)塊3中包含著區(qū)塊2的信息,從而區(qū)塊3也包含著區(qū)塊0的信息

+----------------------------+ +-------------------------+

+----------------------+

| genesis block | | block 1 | | block 2 |

+----------------------------+ +-------------------------+

+----------------------+

| index = 0 | | index = 1 | | index = 2 |

| previousHash ='' | +-----+ previousHash='075c277..'| +--+

previousHash='00abcd'| +-- ....

| selfHash = '075c27741a35068+---+ | selfHash ='00abcd...' +---+ | selfHash

= '00efgh..'+--+

| 46368fa6e5b3477f85b31cee..'| | | | |

+----------------------------+ +-------------------------+

+-----------------

總結(jié)

以上是生活随笔為你收集整理的区块链 matlab,matlab可以实现区块链吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。