/ 廪ѧϵʿ
رҵķб¹һƪڱر㷨ġĽƪģܱرҵѧ
رǽڴעĿ֮һرҲҪ֧ţֱӰP2PûѧЭ֮ϡھѧϣʵ˹Ү룺ͨӦгãʤ̭ѧϣֻظ֧⡣ѧϣѾʼγȫ̬Ȧδѧϣṩ¿ԺͷչͨP2PγȫóġȨϵһЩͨ쳣صĹҳֻͨҾеܴȽȫóóɱ
б(Satoshi Nakamoto)ڴرʱҪ⣺
һȷϣûP2PЭ飬ֹҵظ֧(ֹٱ)
ڶرҵķС
رϵͳܶͨобϹڱرҵסرңP2Pֽϵ(Bitcoin: A Peer-to-Peer Electronic Cash System)ǿԷ֣бƵıرңͨڿˡӶһʯؽ⡣
廪ѧѧרСƽڽܣرҵķ(׳ơڿ)ǽSHA-256ϵͳ֮ϵġSHASecure Hash Algorithmд˼ǻڹϣ(Hash)㷨ļϵͳͨSHA-256ѧϵͳչʾбϽķ˼·
ϣһּ㷨һдΪh=hash(m)hϣֵmӦϣֵĽ(message)ϣص㣺һ֪mͨh=hash(m)֤ӦĹϣֵhѣ֪ϣֵҪӦĽmѡڹϣIJԳԣ˵ԣرʺΪѧáϣֵʺϵܵġԿȫǼʹõ˹ԿҲһġ˽ԿҲǹϣĽmǷ֪˽Կmȴ֤ӦĹԿǹϣֵhνԳƼ㷨
ϣĵڶǣ⡱(˽Կ)вͬôӦĹϣֵͻкܴͬѩЧӦ(avalanche effect)ϣеԣ֤˲ͬ˽Կ(ֻһ)ͶӦĹԿ죡
һǿ˽⣺SHA-256ǻʮλƵļϵͳҲÿһλʮرҵIJͬϢһʮֺǰӢĸʾ0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,fԣҪǿһʮλĹϣֵHash:00000000000000004cf3aa249551432fa84da4de05e9cfc3e6d95a5ce8bed5f7DZر2014-02-08T 03:06:30ʱ䣬ڳһر(block)ӦĹϣֵҪ֣
֮ԽSHA-256Ϊϣֵ64λÿһλʮҲǶĴηѡܵĹϣֵͿ2256ηء
֣бϰSHA-256㷨ѡΪرҵڿ㷨Ϊϣֵǰÿһ㣬ѰmѶȾͻӶĴηΪSHA-256ûСƽڵSHA-1ƽ⣬κһʮλĹϣֵҪҵmûй̶㷨ֻܿhashײһڿÿٴhashײ䡰Ĵλдhash/s,ν֤POW(Proof Of Work)
ǻSHA-256ʮλƵļ㷨бԭʼıرд֤̰ɨSHA-256Ĺϣɶٸ0ͷÿһ0ƽָӣǶĴη˶ٸǶٸĴηһĹӣЩڽһϣ(Ҳһر)еõ֤
رϵͳǿڿĹϣֵǰڱҵȫӣͨڹϣֵǰ֤ƽÿʮÿĿǰֻڳ25(ǰÿʮ50)Ȼ˵ڶ⣬رҷе⡣
ôرѧڿϵͳֹظ֧أǿЩڿļͬʱˡʱ(time stamp)ÿʮڳһ飬¼ʮȫıرҽÿһʱÿһʽױͨȫĽڵ(node)ȷϣϷףһӴļ˺ʱϵͳ֤ظ֧IJ(ΪÿʱҪٴν֮ǰЩرû֧ŻϡҲ֤ԭرҳ֧˴ν֮ĵˡ)ԣرϵͳġڿȱ֤˱رҵУҲ֤ļˣӶظ֧ĿܡνͬʱҲӦýмԱرǵȵ2040رҴѾڳǵĹҪȡѡʱǾӦñΪԱˡ
⣬رϵͳܶ⣬бôƵأʵڱر绹һҪĹܾǡбıرϵͳЭ飬ȫ51%ˣпܹرϵͳظ֧(Ҳٱ)ݱرڿʿ¶ǰɱÿά1G hash/sԼҪ240Ԫңڱرȫɱ9.6ԪDZرϵͳĻҲмֵ֧š(/ 廪ѧϵʿ)