рдЖрдЬрдХрд▓ рд╣рд░ рдХреЛрдИ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ тАФ рдмрд┐рдЯрдХреЙрдЗрди рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рдХрд╛рд░рдгред рдпрд╣ рдЬрд╛рдирдиреЗ рд╕реЗ рдХрд╣реАрдВ рдЬреНрдпрд╛рджрд╛ рд░реЛрдЪрдХ рдХрд┐ рдмрд┐рдЯрдХреЙрдЗрди рдореЗрдВ рдмреБрд▓рдмреБрд▓рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдкреНрд░рд╢реНрди рд╣реИ рдХрд┐ рдпрд╣ рддрдХрдиреАрдХ рдЕрд╕рд▓ рдореЗрдВ рдХрд╛рдо рдХреИрд╕реЗ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХреНрдпрд╛-рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рдЯрдХреЙрдЗрди рдХреА рдХрд╣рд╛рдиреА 2008 рдХреЗ рдПрдХ рд╢реНрд╡реЗрддрдкрддреНрд░ "Bitcoin: A Peer-to-Peer Electronic Cash System" рд╕реЗ рд╢реБрд░реВ рд╣реБрдИред рдЗрд╕ рдкреЗрдкрд░ рдореЗрдВ рд╕рддреЛрд╢реА рдирд╛рдХрд╛рдореЛрддреЛ (рдЕрдм рднреА рдЗрд╕ рдмрд╛рдд рдкрд░ рдмрд╣рд╕ рдЬрд╛рд░реА рд╣реИ рдХрд┐ рд╕рддреЛрд╢реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреМрди рд╣реИрдВ) рдирд╛рдордХ рд▓реЗрдЦрдХ рдиреЗ рдПрдХ рдирдИ, рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рддрдХрдиреАрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдкреЗрд╢ рдХрд┐рдпрд╛: рдПрдХ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореБрджреНрд░рд╛ рдЬреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдирд╛рдо рдХреА рдЪреАрдЬрд╝ рдкрд░ рдЪрд▓рддреА рд╣реИред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдпрд╣реАрдВ рд╕реЗ рдлреИрд▓рд╛ рдФрд░ рдЖрдЬ рдЗрд╕реЗ рдХрдИ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдмреНрд▓реЙрдХрдЪреЗрди рд╕реЗ рдкрд░рд┐рдЪрдп рдСрдХреНрд╕рдлрд╝реЛрд░реНрдб рдХреЗ BlockchainSociety рдХреА рдПрдХ рдмреИрдардХ рдореЗрдВ рд╣реБрдЖред рд╡рд╣рд╛рдВ рд╕рднреА рд▓реЛрдЧ рдЗрд╕ рдирдИ рддрдХрдиреАрдХ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд▓реЗрдХрд░ рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рджрд┐рдЦ рд░рд╣реЗ рдереЗред рдФрд░ рд╕рдЪ рдХрд╣реЗрдВ рддреЛ рдпрд╣ рдЖрдХрд░реНрд╖рдХ рд▓рдЧрддрд╛ рд╣реИ: рд▓реЗрдирджреЗрди, рдЕрдиреБрдмрдВрдзреЛрдВ рдпрд╛ рдЖрдкрдХреА рдкрд╕рдВрдж рдХреЗ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реИрдХ-рдкреНрд░реВрдл рд╡реЛрдЯрд┐рдВрдЧ рдорд╢реАрдиреЗрдВ) рдХрд╛ рдПрдХ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд, рдЫреЗрдбрд╝рдЫрд╛рдбрд╝-рд░реЛрдзреА рдбреЗрдЯрд╛рдмреЗрд╕ред рдХреНрд░рд┐рдкреНрдЯреЛ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рд╡рд╛рджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рднрд░реЛрд╕реЗ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдмрджрд▓ рдХрд░ рдкреВрд░реА рдЙрджреНрдпреЛрдЧреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд▓рд╛ рджреЗрдЧрд╛ тАФ рддрд╛рдХрд┐ рд╣рдореЗрдВ рдмреИрдВрдХреЛрдВ рдпрд╛ рд╡рдХреАрд▓реЛрдВ рдЬреИрд╕реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рдЬрд░реВрд░рдд рди рд░рд╣реЗ; рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рддреЛ рд╕рд┐рд░реНрдл рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреА рддрд╛рдХрддред
рдЬрдмрдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рдЪрд╛рд░ рд╕рд╣рдЬ рд╣реИ, рдмреНрд▓реЙрдХрдЪреЗрди рддрдХрдиреАрдХреА рд╕реНрддрд░ рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдордЭрдирд╛ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдореЗрд░реА рдирдЬрд░ R bloggers рдкрд░ рдПрдХ рд▓реЗрдЦ рдкрд░ рдкрдбрд╝реА, рдЬрд╣рд╛рдВ BigData Doc рдиреЗ рдкреВрд░реЗ рдХрд╛ рдкреВрд░рд╛ рдмреНрд▓реЙрдХрдЪреЗрди R рдореЗрдВ рдмрдирд╛рдпрд╛ рд╣реИред R рдореЗрдВ рдмрдирд╛ рдмреНрд▓реЙрдХрдЪреЗрди рд╢рд╛рдпрдж рджреБрдирд┐рдпрд╛ рдХреА рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЪреАрдЬрд╝ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдореМрдЬреВрдж рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдХреНрд░рд┐рдкреНрдЯреЛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХрд╛ рдпрд╣ рдмреЗрд╣рддрд░реАрди рддрд░реАрдХрд╛ рд╣реИред рдореИрдВ рднреА рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ R рдореЗрдВ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛: "рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдХреЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЬрд░реВрд░ рд╕рдордЭрддреЗ рд╣реИрдВ"ред
рдмреНрд▓реЙрдХрдЪреЗрди рдХреНрдпрд╛ рд╣реИ?
рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдкрдХрд╛ рд▓рдХреНрд╖реНрдп рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рд╣реЗрдЬрдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ тАФ рдЬрд┐рд╕реЗ рдЖрдк рдмреНрд▓реЙрдХ рдХрд╣рддреЗ рд╣реИрдВ тАФ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред рдмрд┐рдЯрдХреЙрдЗрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдХрдИ рд╡рд┐рддреНрддреАрдп рд▓реЗрдирджреЗрди рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рдирдП рд▓реЗрдирджреЗрди (рдпрд╛ рдирдпрд╛ рдбреЗрдЯрд╛) рдЖрддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ тАФ рдмреНрд▓реЙрдХрдЪреЗрди тАФ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдЧрднрдЧ рд╣реИрдХ-рдкреНрд░реВрдл рдХреИрд╕реЗ рдмрдирддреЗ рд╣реИрдВред
1. рдмреНрд▓реЙрдХреНрд╕
block_example < - list ( index = 1 ,
timestamp = "2018-01-05 17.00 MST" ,
data = "some data" ,
previous_hash = 0 ,
proof = 9 ,
new_hash = NULL )
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдирд╛ тАФ рдпрд╛рдиреА рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ тАФ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рджреЛ рдФрд░ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛ рд╣реЛрдЧрд╛: рд╣реИрд╢рд┐рдВрдЧ рдФрд░ рдкреНрд░реВрдл-рдСрдл-рд╡рд░реНрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдоред
2. рд╣реИрд╢
рдПрдХ рд╣реИрд╢, рдмреНрд▓реЙрдХ рдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдиреНрдп рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдЙрд╕рдХреА рдЕрдЦрдВрдбрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рд╣реИрд╢ рдлрдВрдХреНрд╢рди рдХрд┐рд╕реА рдЗрдирдкреБрдЯ рдХреЛ рд▓реЗрдХрд░ рдЖрдкрдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЖрдЙрдЯрдкреБрдЯ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЖрдк рдЕрдкрдиреА рдорд┐рддреНрд░ рдХреЛ рдпрд╣ рдкрд╣реЗрд▓реА рджреЗрддреЗ рд╣реИрдВ тАФ "рдмреЗрд╣рддрд░ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреМрди-рд╕рд╛ рд╣реИ: Stata рдпрд╛ R?" тАФ рдФрд░ рдЖрдк рдЙрд╕реЗ рд╕рд╣реА рдЙрддреНрддрд░ рдХрд╛ рд╣реИрд╢ рджреЗрддреЗ рд╣реИрдВ: "71ec0b920622cf4358bbc21d6a8b41f903584808db53ec07a8aa79119304ce86" ред рдЕрдм рд╡рд╣ рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдЙрддреНрддрд░ рдХреЛ рд╣реИрд╢-рдлрдВрдХреНрд╢рди (рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ SHA256 рдПрд▓реНрдЧреЛрд░рд┐рджрдо) рдореЗрдВ рдбрд╛рд▓рдХрд░ рдЦреБрдж рдЬрд╛рдВрдЪ рд╕рдХрддреА рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рдЙрддреНрддрд░ рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВ:
library ( "digest" )
digest ( "Stata" , "sha256" ) # first try
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
## [ 1 ] "3ac273f00d52dc9caf89cbd71e73e5915229a588117ca3441630089409ddb7bc"
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
digest ( "R" , "sha256" ) # second try
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
## [ 1 ] "71ec0b920622cf4358bbc21d6a8b41f903584808db53ec07a8aa79119304ce86"
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрд╣ рдЖрдкрдХреА рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ?
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рд╣реИрд╢ рдлрдВрдХреНрд╢рди рдореЗрдВ рдмреНрд▓реЙрдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА (index, timestamp, data) рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХ рдХрд╛ рд╣реИрд╢ рднреА рдЗрдирдкреБрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рд╡реИрдз рд╣реИрд╢ рддрднреА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХреЛ рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХ рдХрд╛ рд╣реИрд╢ рдкрддрд╛ рд╣реЛ, рдЬреЛ рдЕрдкрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдмреНрд▓реЙрдХ рдХреЗ рд╣реИрд╢ рд╕реЗ рдмрдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреНрд░рдо рдРрд╕реЗ рд╣реА рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдмреНрд▓реЙрдХреЛрдВ рдХреА рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп, рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдорд┐рд▓рддреА рд╣реИред рдпрджрд┐ рдЖрдк рдмрд╛рдж рдореЗрдВ рдХрд┐рд╕реА рдПрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВрдЧреЗ рддреЛ рдЖрдкрдХреЛ рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╣реИрд╢ рджреЛрдмрд╛рд░рд╛ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рд╣реЛрдВрдЧреЗред
#Function that creates a hashed "block"
hash_block < - function ( block ) {
block$new_hash < - digest ( c ( block$index,
block$timestamp,
block$data,
block$previous_hash) , "sha256" )
return ( block)
}
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
3. рдкреНрд░реВрдл-рдСрдл-рд╡рд░реНрдХ
рдпрджрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣реЗрдЬрдиреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕реЗ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗред рдХрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЖрдк рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рддрдиреЗ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдиреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рд╣рд░ рд╕реЗрдХрдВрдб рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рд┐рдХреНрдХреЗ рдмрдирд╛рдП рдЬрд╛ рд╕рдХреЗрдВ, рддреЛ рд╕рд┐рдХреНрдХреЛрдВ рдХреА рдХреАрдордд рдШрдЯ рдЬрд╛рдПрдЧреАред
рдЗрд╕реАрд▓рд┐рдП, рд╣рдо рдПрдХ рддрдерд╛рдХрдерд┐рдд "рдкреНрд░реВрдл-рдСрдл-рд╡рд░реНрдХ" (PoW) рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХреА рдХрдард┐рдирд╛рдИ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред "рдкреНрд░реВрдл" рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдиреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рдХреНрд╖реНрдп рдРрд╕рд╛ рдХрд╛рд░реНрдп рдмрдирд╛рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрдирд╛рдирд╛ рдХрдард┐рди рд╣реЛ рд▓реЗрдХрд┐рди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рдиред рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд "рдХрд╛рд░реНрдп" рдХреЛ PoW рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдВрдЧрд╛: рдЕрдЧрд▓рд╛ рдРрд╕рд╛ рд╕рдВрдЦреНрдпрд╛ рдвреВрдВрдвреЗрдВ рдЬреЛ 99 рд╕реЗ рднреА рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рдФрд░ рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХ рдХреА рдкреНрд░реВрдл-рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рднреА рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛред
### Simple Proof of Work Alogrithm
proof_of_work < - function ( last_proof ) {
proof < - last_proof + 1
# Increment the proof number until a number is found that is divisable by 99 and by the proof of the previous block
while ( ! ( proof % % 99 == 0 & proof % % last_proof == 0 ) ) {
proof < - proof + 1
}
return ( proof)
}
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
Bitcoin рдпрд╛ Ethereum рдЬреИрд╕реЗ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рдо рддрдерд╛рдХрдерд┐рдд рдорд╛рдЗрдирд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдПрдХ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирдирд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдПрдХ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╕рдорд╕реНрдпрд╛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред рдЬреЛ рдорд╛рдЗрдирд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ PoW рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдмрд┐рдЯрдХреЙрдЗрди рдореЗрдВ рдЗрдирд╛рдо рдкрд╛рддрд╛ рд╣реИ (рдпрд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирдП рдмрд┐рдЯрдХреЙрдЗрди рдмрдирддреЗ рд╣реИрдВ)ред рд╕рд╣реА рдкреНрд░реВрдл рдЦреЛрдЬрдиреЗ рдХреА рдпрд╣ "рд▓реЙрдЯрд░реА" рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреА рд╢рдХреНрддрд┐ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рд░рд╣реЗред рдЬрдм рдХреЛрдИ рдирдпрд╛ рдмреНрд▓реЙрдХ рдорд╛рдЗрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╕рднреА рддрдХ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╣рд░ рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдирд╡реАрдирддрдо рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рдкреНрд░рддрд┐ рд╣реЛред рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рдмрд╕реЗ рд▓рдВрдмреА рдмреНрд▓реЙрдХрдЪреЗрди (рдЬрд┐рд╕рдореЗрдВ "рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХрд╛рдо рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛") рдХреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рд╡реИрдз рд╕рдВрд╕реНрдХрд░рдг рдорд╛рдирдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ "рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рд░реНрд╡рд╕рдореНрдорддрд┐" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Bitcoin рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ PoW рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдРрд╕реА рд╕рдВрдЦреНрдпрд╛рдПрдВ рдвреВрдВрдврдиреА рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдЧреНрд░рдгреА рд╢реВрдиреНрдпреЛрдВ рд╡рд╛рд▓реЗ рд╣реИрд╢ рдмрдирд╛рдПрдВ (рдЗрд╕рдХреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдореБрдЭреЗ Savjee рдХреЗ рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдорд┐рд▓реА)ред рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЧрддрд┐ рдмрдврд╝рдиреЗ рдФрд░ рдорд╛рдЗрдирд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓рдиреЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП PoW рдХреА рдХрдард┐рдирд╛рдИ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рд▓рдЧрднрдЧ рджрд╕ рдорд┐рдирдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╕реНрдерд┐рд░ рд░рд╣реЗред
4. рдирдП рдмреНрд▓реЙрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛
рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдмреНрд▓реЙрдХ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдмреНрд▓реЙрдХреНрд╕ рд╣реИрд╢ рдХреЗ рдЬрд░рд┐рдП рдХреИрд╕реЗ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ PoW рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдирдиреЗ рдХреА рдЧрддрд┐ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддреА рд╣реИред рддреЛ рдЪрд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
#A function that takes the previous block and normally some data ( in our case the data is a string indicating which block in the chain it is)
gen_new_block < - function ( previous_block ) {
#Proof- of - Work
new_proof < - proof_of_work ( previous_block$proof)
#Create new Block
new_block < - list ( index = previous_block$index + 1 ,
timestamp = Sys. time ( ) ,
data = paste0 ( "this is block " , previous_block$index + 1 ) ,
previous_hash = previous_block$new_hash,
proof = new_proof)
#Hash the new Block
new_block_hashed < - hash_block ( new_block)
return ( new_block_hashed)
}
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╕реЗ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢реБрд░реВ рдХрд░рдиреА рд╣реЛрддреА рд╣реИред рдпрд╣ рддрдерд╛рдХрдерд┐рдд рдЬреЗрдиреЗрд╕рд┐рд╕ рдмреНрд▓реЙрдХ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рдФрд░ рдкреНрд░реВрдл рддрдерд╛ рдкреНрд░реАрд╡рд┐рдпрд╕ рд╣реИрд╢ рдХреЗ рд▓рд┐рдП рдордирдорд╛рдиреЗ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдкрд┐рдЫрд▓рд╛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реИ)ред
# Define Genesis Block ( index 1 and arbitrary previous hash)
block_genesis < - list ( index = 1 ,
timestamp = Sys. time ( ) ,
data = "Genesis Block" ,
previous_hash = "0" ,
proof = 1 )
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
5. рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдирд╛
рдЕрдм рдЖрдк рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЬреЗрдиреЗрд╕рд┐рд╕ рдмреНрд▓реЙрдХ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХреБрдЫ рдмреНрд▓реЙрдХреНрд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
blockchain < - list ( block_genesis)
previous_block < - blockchain[ [ 1 ] ]
# How many blocks should we add to the chain after the genesis block
num_of_blocks_to_add < - 5
# Add blocks to the chain
for ( i in 1 : num_of_blocks_to_add) {
block_to_add < - gen_new_block ( previous_block)
blockchain[ i+ 1 ] < - list ( block_to_add)
previous_block < - block_to_add
print ( cat ( paste0 ( "Block " , block_to_add$index, " has been added" , "\n" ,
"\t" , "Proof: " , block_to_add$proof, "\n" ,
"\t" , "Hash: " , block_to_add$new_hash) ) )
}
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
## Block 2 has been added
## Proof: 99
## Hash: 7d3dfbb58b410838769f6080dbc62a44a4c5d411a41048c4e597d26dccd1cd38NULL
## Block 3 has been added
## Proof: 198
## Hash: 4f8bdd79d751f9e9829c14c52a737f257285b61e54b29531dd59bf1a530f1097NULL
## Block 4 has been added
## Proof: 396
## Hash: 512b877c4ff92605d9fe10ac73ced20f748742964f306c211c4691f15425a26eNULL
## Block 5 has been added
## Proof: 792
## Hash: a3baaa025186c5bcb2238a888bc65e705ffe73c17dc5c8f26ee337fd62867993NULL
## Block 6 has been added
## Proof: 1584
## Hash: d12c3f54c14f3287a9f31ab542271197ba6a658cee561a9289819dd563fe4991NULL
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрджрд┐ рдЖрдк рдФрд░ рдЕрдзрд┐рдХ рдмреНрд▓реЙрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕рдореЗрдВ рд╕рдордп рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реВрдл рд╕рдВрдЦреНрдпрд╛ рдШрд╛рддреАрдп рд░реВрдк рд╕реЗ рдмрдврд╝рддреА рд╣реИред
Bitcoin рдЬреИрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдирдП рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рдХрдореЛрдмреЗрд╢ рд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (Bitcoin рдореЗрдВ рд▓рдЧрднрдЧ 10 рдорд┐рдирдЯ)ред рдЗрд╕рд▓рд┐рдП, рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЧрддрд┐ рдмрдврд╝рдиреЗ рдФрд░ рдорд╛рдЗрдирд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓рдиреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ PoW рдХреА рдХрдард┐рдирд╛рдИ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рдЕрдВрддрддрдГ, рдЖрдкрдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдХ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
blockchain[ [ 5 ] ]
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
## $index
## [ 1 ] 5
##
## $timestamp
## [ 1 ] "2018-02-08 12:02:56 GMT"
##
## $data
## [ 1 ] "this is block 5"
##
## $previous_hash
## [ 1 ] "26cdc16a4560df5fa2fd521dbca22670e2475c35d3dd90781872bee98a164eef"
##
## $proof
## [ 1 ] 792
##
## $new_hash
## [ 1 ] "2eef25bf0bc4ee81e8c7cd1dfda65855b4ba32aba218d8c525a03a72b3454d74"
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рд╕рдорд╛рдкрди
рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдЖрдкрдиреЗ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдпрд╛ред рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдерд╛ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреЗ рдХреБрдЫ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдирд╛ред рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рдмреЗрдЬреЛрдбрд╝ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рдордЭрдиреЗ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд▓реЗрдХрд░ рд▓реЛрдЧ рдЗрддрдиреЗ рдЙрддреНрд╕рд╛рд╣рд┐рдд рдХреНрдпреЛрдВ рд╣реИрдВред
рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдмрд╣реБрдд рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛: API рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛, рд╡реЙрд▓реЗрдЯ рдмрдирд╛рдирд╛, рдкрдмреНрд▓рд┐рдХ-рдкреНрд░рд╛рдЗрд╡реЗрдЯ-рдХреА-рдкреЗрдпрд░ рдХреЗ рдЬрд░рд┐рдП рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЖрджрд┐ред рдореИрдВрдиреЗ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рднреА рдмрд╕ рд╕рддрд╣реА рддреМрд░ рдкрд░ рдЫреБрдЖ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣реА рдмреНрд▓реЙрдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╣реГрджрдп рд╣реИред
рдпрд╣ рдЫреЛрдЯрд╛ рдкрд░рд┐рдЪрдп Gerald Nash рдХреЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ Python рдореЗрдВ "рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдмреНрд▓реЙрдХрдЪреЗрди" рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ R рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ Daniel van Flymen рдХреЗ PoW рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬреЛрдбрд╝рд╛ред
рдмреНрд▓реЙрдХрдЪреЗрди рд╡рд┐рд╖рдп рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рд╕рддреЛрд╢реА рдирд╛рдХрд╛рдореЛрддреЛ рдХрд╛ рдЙрддреНрдХреГрд╖реНрдЯ, рдореМрд▓рд┐рдХ рдмрд┐рдЯрдХреЙрдЗрди рдкрд░ рд╢реНрд╡реЗрддрдкрддреНрд░ рдФрд░ BigData Doc рдХрд╛ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рд╕реБрдЭрд╛рддрд╛/рд╕реБрдЭрд╛рддреА рд╣реВрдВред
рдпрджрд┐ рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдкрдХреЗ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрдВ, рддреЛ рдореБрдЭрд╕реЗ Twitter рдкрд░ рдмреЗрдЭрд┐рдЭрдХ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ: рдЖрдк рдореБрдЭреЗ @jj_mllr рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ @CorrelAid рджреЗрдЦреЗрдВ тАФ рдпреБрд╡рд╛ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЬреЛ рдЕрдзрд┐рдХ рд╕рдорд╛рд╡реЗрд╢реА, рдПрдХреАрдХреГрдд рдФрд░ рдирд╡рд╛рдЪрд╛рд░реА рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЬрд░рд┐рдпреЗ рджреБрдирд┐рдпрд╛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рдЖрдЬрдХрд▓ рд╣рд░ рдХреЛрдИ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ тАФ рдмрд┐рдЯрдХреЙрдЗрди рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рдХрд╛рд░рдгред рдпрд╣ рдЬрд╛рдирдиреЗ рд╕реЗ рдХрд╣реАрдВ рдЬреНрдпрд╛рджрд╛ рд░реЛрдЪрдХ рдХрд┐ рдмрд┐рдЯрдХреЙрдЗрди рдореЗрдВ рдмреБрд▓рдмреБрд▓рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдкреНрд░рд╢реНрди рд╣реИ рдХрд┐ рдпрд╣ рддрдХрдиреАрдХ рдЕрд╕рд▓ рдореЗрдВ рдХрд╛рдо рдХреИрд╕реЗ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХреНрдпрд╛-рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рдЯрдХреЙрдЗрди рдХреА рдХрд╣рд╛рдиреА 2008 рдХреЗ рдПрдХ рд╢реНрд╡реЗрддрдкрддреНрд░ "Bitcoin: A Peer-to-Peer Electronic Cash System" рд╕реЗ рд╢реБрд░реВ рд╣реБрдИред рдЗрд╕ рдкреЗрдкрд░ рдореЗрдВ рд╕рддреЛрд╢реА рдирд╛рдХрд╛рдореЛрддреЛ (рдЕрдм рднреА рдЗрд╕ рдмрд╛рдд рдкрд░ рдмрд╣рд╕ рдЬрд╛рд░реА рд╣реИ рдХрд┐ рд╕рддреЛрд╢реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреМрди рд╣реИрдВ) рдирд╛рдордХ рд▓реЗрдЦрдХ рдиреЗ рдПрдХ рдирдИ, рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рддрдХрдиреАрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдкреЗрд╢ рдХрд┐рдпрд╛: рдПрдХ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореБрджреНрд░рд╛ рдЬреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдирд╛рдо рдХреА рдЪреАрдЬрд╝ рдкрд░ рдЪрд▓рддреА рд╣реИред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдпрд╣реАрдВ рд╕реЗ рдлреИрд▓рд╛ рдФрд░ рдЖрдЬ рдЗрд╕реЗ рдХрдИ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдмреНрд▓реЙрдХрдЪреЗрди рд╕реЗ рдкрд░рд┐рдЪрдп рдСрдХреНрд╕рдлрд╝реЛрд░реНрдб рдХреЗ BlockchainSociety рдХреА рдПрдХ рдмреИрдардХ рдореЗрдВ рд╣реБрдЖред рд╡рд╣рд╛рдВ рд╕рднреА рд▓реЛрдЧ рдЗрд╕ рдирдИ рддрдХрдиреАрдХ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд▓реЗрдХрд░ рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рджрд┐рдЦ рд░рд╣реЗ рдереЗред рдФрд░ рд╕рдЪ рдХрд╣реЗрдВ рддреЛ рдпрд╣ рдЖрдХрд░реНрд╖рдХ рд▓рдЧрддрд╛ рд╣реИ: рд▓реЗрдирджреЗрди, рдЕрдиреБрдмрдВрдзреЛрдВ рдпрд╛ рдЖрдкрдХреА рдкрд╕рдВрдж рдХреЗ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реИрдХ-рдкреНрд░реВрдл рд╡реЛрдЯрд┐рдВрдЧ рдорд╢реАрдиреЗрдВ) рдХрд╛ рдПрдХ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд, рдЫреЗрдбрд╝рдЫрд╛рдбрд╝-рд░реЛрдзреА рдбреЗрдЯрд╛рдмреЗрд╕ред рдХреНрд░рд┐рдкреНрдЯреЛ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рд╡рд╛рджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рднрд░реЛрд╕реЗ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдмрджрд▓ рдХрд░ рдкреВрд░реА рдЙрджреНрдпреЛрдЧреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд▓рд╛ рджреЗрдЧрд╛ тАФ рддрд╛рдХрд┐ рд╣рдореЗрдВ рдмреИрдВрдХреЛрдВ рдпрд╛ рд╡рдХреАрд▓реЛрдВ рдЬреИрд╕реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рдЬрд░реВрд░рдд рди рд░рд╣реЗ; рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рддреЛ рд╕рд┐рд░реНрдл рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреА рддрд╛рдХрддред
рдЬрдмрдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рдЪрд╛рд░ рд╕рд╣рдЬ рд╣реИ, рдмреНрд▓реЙрдХрдЪреЗрди рддрдХрдиреАрдХреА рд╕реНрддрд░ рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдордЭрдирд╛ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдореЗрд░реА рдирдЬрд░ R bloggers рдкрд░ рдПрдХ рд▓реЗрдЦ рдкрд░ рдкрдбрд╝реА, рдЬрд╣рд╛рдВ BigData Doc рдиреЗ рдкреВрд░реЗ рдХрд╛ рдкреВрд░рд╛ рдмреНрд▓реЙрдХрдЪреЗрди R рдореЗрдВ рдмрдирд╛рдпрд╛ рд╣реИред R рдореЗрдВ рдмрдирд╛ рдмреНрд▓реЙрдХрдЪреЗрди рд╢рд╛рдпрдж рджреБрдирд┐рдпрд╛ рдХреА рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЪреАрдЬрд╝ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдореМрдЬреВрдж рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдХреНрд░рд┐рдкреНрдЯреЛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХрд╛ рдпрд╣ рдмреЗрд╣рддрд░реАрди рддрд░реАрдХрд╛ рд╣реИред рдореИрдВ рднреА рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ R рдореЗрдВ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛: "рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдХреЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЬрд░реВрд░ рд╕рдордЭрддреЗ рд╣реИрдВ"ред
рдмреНрд▓реЙрдХрдЪреЗрди рдХреНрдпрд╛ рд╣реИ?
рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдкрдХрд╛ рд▓рдХреНрд╖реНрдп рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рд╣реЗрдЬрдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ тАФ рдЬрд┐рд╕реЗ рдЖрдк рдмреНрд▓реЙрдХ рдХрд╣рддреЗ рд╣реИрдВ тАФ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред рдмрд┐рдЯрдХреЙрдЗрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдХрдИ рд╡рд┐рддреНрддреАрдп рд▓реЗрдирджреЗрди рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рдирдП рд▓реЗрдирджреЗрди (рдпрд╛ рдирдпрд╛ рдбреЗрдЯрд╛) рдЖрддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ тАФ рдмреНрд▓реЙрдХрдЪреЗрди тАФ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдЧрднрдЧ рд╣реИрдХ-рдкреНрд░реВрдл рдХреИрд╕реЗ рдмрдирддреЗ рд╣реИрдВред
1. рдмреНрд▓реЙрдХреНрд╕
рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдирд╛ тАФ рдпрд╛рдиреА рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ тАФ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рджреЛ рдФрд░ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛ рд╣реЛрдЧрд╛: рд╣реИрд╢рд┐рдВрдЧ рдФрд░ рдкреНрд░реВрдл-рдСрдл-рд╡рд░реНрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдоред
2. рд╣реИрд╢
рдПрдХ рд╣реИрд╢, рдмреНрд▓реЙрдХ рдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдиреНрдп рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдЙрд╕рдХреА рдЕрдЦрдВрдбрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рд╣реИрд╢ рдлрдВрдХреНрд╢рди рдХрд┐рд╕реА рдЗрдирдкреБрдЯ рдХреЛ рд▓реЗрдХрд░ рдЖрдкрдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЖрдЙрдЯрдкреБрдЯ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЖрдк рдЕрдкрдиреА рдорд┐рддреНрд░ рдХреЛ рдпрд╣ рдкрд╣реЗрд▓реА рджреЗрддреЗ рд╣реИрдВ тАФ "рдмреЗрд╣рддрд░ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреМрди-рд╕рд╛ рд╣реИ: Stata рдпрд╛ R?" тАФ рдФрд░ рдЖрдк рдЙрд╕реЗ рд╕рд╣реА рдЙрддреНрддрд░ рдХрд╛ рд╣реИрд╢ рджреЗрддреЗ рд╣реИрдВ: "71ec0b920622cf4358bbc21d6a8b41f903584808db53ec07a8aa79119304ce86"ред рдЕрдм рд╡рд╣ рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдЙрддреНрддрд░ рдХреЛ рд╣реИрд╢-рдлрдВрдХреНрд╢рди (рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ SHA256 рдПрд▓реНрдЧреЛрд░рд┐рджрдо) рдореЗрдВ рдбрд╛рд▓рдХрд░ рдЦреБрдж рдЬрд╛рдВрдЪ рд╕рдХрддреА рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рдЙрддреНрддрд░ рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВ:
рдпрд╣ рдЖрдкрдХреА рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ?
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рд╣реИрд╢ рдлрдВрдХреНрд╢рди рдореЗрдВ рдмреНрд▓реЙрдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА (index, timestamp, data) рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХ рдХрд╛ рд╣реИрд╢ рднреА рдЗрдирдкреБрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рд╡реИрдз рд╣реИрд╢ рддрднреА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХреЛ рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХ рдХрд╛ рд╣реИрд╢ рдкрддрд╛ рд╣реЛ, рдЬреЛ рдЕрдкрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдмреНрд▓реЙрдХ рдХреЗ рд╣реИрд╢ рд╕реЗ рдмрдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреНрд░рдо рдРрд╕реЗ рд╣реА рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдмреНрд▓реЙрдХреЛрдВ рдХреА рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп, рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдорд┐рд▓рддреА рд╣реИред рдпрджрд┐ рдЖрдк рдмрд╛рдж рдореЗрдВ рдХрд┐рд╕реА рдПрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВрдЧреЗ рддреЛ рдЖрдкрдХреЛ рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╣реИрд╢ рджреЛрдмрд╛рд░рд╛ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рд╣реЛрдВрдЧреЗред
3. рдкреНрд░реВрдл-рдСрдл-рд╡рд░реНрдХ
рдпрджрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣реЗрдЬрдиреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕реЗ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗред рдХрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЖрдк рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рддрдиреЗ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдиреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рд╣рд░ рд╕реЗрдХрдВрдб рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рд┐рдХреНрдХреЗ рдмрдирд╛рдП рдЬрд╛ рд╕рдХреЗрдВ, рддреЛ рд╕рд┐рдХреНрдХреЛрдВ рдХреА рдХреАрдордд рдШрдЯ рдЬрд╛рдПрдЧреАред
рдЗрд╕реАрд▓рд┐рдП, рд╣рдо рдПрдХ рддрдерд╛рдХрдерд┐рдд "рдкреНрд░реВрдл-рдСрдл-рд╡рд░реНрдХ" (PoW) рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХреА рдХрдард┐рдирд╛рдИ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред "рдкреНрд░реВрдл" рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдиреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рдХреНрд╖реНрдп рдРрд╕рд╛ рдХрд╛рд░реНрдп рдмрдирд╛рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрдирд╛рдирд╛ рдХрдард┐рди рд╣реЛ рд▓реЗрдХрд┐рди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рдиред рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд "рдХрд╛рд░реНрдп" рдХреЛ PoW рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдВрдЧрд╛: рдЕрдЧрд▓рд╛ рдРрд╕рд╛ рд╕рдВрдЦреНрдпрд╛ рдвреВрдВрдвреЗрдВ рдЬреЛ 99 рд╕реЗ рднреА рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рдФрд░ рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХ рдХреА рдкреНрд░реВрдл-рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рднреА рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛред
Bitcoin рдпрд╛ Ethereum рдЬреИрд╕реЗ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рдо рддрдерд╛рдХрдерд┐рдд рдорд╛рдЗрдирд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдПрдХ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирдирд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдПрдХ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╕рдорд╕реНрдпрд╛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред рдЬреЛ рдорд╛рдЗрдирд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ PoW рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдмрд┐рдЯрдХреЙрдЗрди рдореЗрдВ рдЗрдирд╛рдо рдкрд╛рддрд╛ рд╣реИ (рдпрд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирдП рдмрд┐рдЯрдХреЙрдЗрди рдмрдирддреЗ рд╣реИрдВ)ред рд╕рд╣реА рдкреНрд░реВрдл рдЦреЛрдЬрдиреЗ рдХреА рдпрд╣ "рд▓реЙрдЯрд░реА" рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреА рд╢рдХреНрддрд┐ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рд░рд╣реЗред рдЬрдм рдХреЛрдИ рдирдпрд╛ рдмреНрд▓реЙрдХ рдорд╛рдЗрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╕рднреА рддрдХ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╣рд░ рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдирд╡реАрдирддрдо рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рдкреНрд░рддрд┐ рд╣реЛред рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рдмрд╕реЗ рд▓рдВрдмреА рдмреНрд▓реЙрдХрдЪреЗрди (рдЬрд┐рд╕рдореЗрдВ "рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХрд╛рдо рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛") рдХреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рд╡реИрдз рд╕рдВрд╕реНрдХрд░рдг рдорд╛рдирдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ "рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рд░реНрд╡рд╕рдореНрдорддрд┐" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Bitcoin рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ PoW рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдРрд╕реА рд╕рдВрдЦреНрдпрд╛рдПрдВ рдвреВрдВрдврдиреА рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдЧреНрд░рдгреА рд╢реВрдиреНрдпреЛрдВ рд╡рд╛рд▓реЗ рд╣реИрд╢ рдмрдирд╛рдПрдВ (рдЗрд╕рдХреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдореБрдЭреЗ Savjee рдХреЗ рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдорд┐рд▓реА)ред рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЧрддрд┐ рдмрдврд╝рдиреЗ рдФрд░ рдорд╛рдЗрдирд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓рдиреЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП PoW рдХреА рдХрдард┐рдирд╛рдИ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рд▓рдЧрднрдЧ рджрд╕ рдорд┐рдирдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╕реНрдерд┐рд░ рд░рд╣реЗред
4. рдирдП рдмреНрд▓реЙрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛
рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдмреНрд▓реЙрдХ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдмреНрд▓реЙрдХреНрд╕ рд╣реИрд╢ рдХреЗ рдЬрд░рд┐рдП рдХреИрд╕реЗ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ PoW рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдП рдмреНрд▓реЙрдХреНрд╕ рдмрдирдиреЗ рдХреА рдЧрддрд┐ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддреА рд╣реИред рддреЛ рдЪрд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╕реЗ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢реБрд░реВ рдХрд░рдиреА рд╣реЛрддреА рд╣реИред рдпрд╣ рддрдерд╛рдХрдерд┐рдд рдЬреЗрдиреЗрд╕рд┐рд╕ рдмреНрд▓реЙрдХ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рдФрд░ рдкреНрд░реВрдл рддрдерд╛ рдкреНрд░реАрд╡рд┐рдпрд╕ рд╣реИрд╢ рдХреЗ рд▓рд┐рдП рдордирдорд╛рдиреЗ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдкрд┐рдЫрд▓рд╛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реИ)ред
5. рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдирд╛
рдЕрдм рдЖрдк рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЬреЗрдиреЗрд╕рд┐рд╕ рдмреНрд▓реЙрдХ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХреБрдЫ рдмреНрд▓реЙрдХреНрд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдФрд░ рдЕрдзрд┐рдХ рдмреНрд▓реЙрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕рдореЗрдВ рд╕рдордп рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реВрдл рд╕рдВрдЦреНрдпрд╛ рдШрд╛рддреАрдп рд░реВрдк рд╕реЗ рдмрдврд╝рддреА рд╣реИред
Bitcoin рдЬреИрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдирдП рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рдХрдореЛрдмреЗрд╢ рд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (Bitcoin рдореЗрдВ рд▓рдЧрднрдЧ 10 рдорд┐рдирдЯ)ред рдЗрд╕рд▓рд┐рдП, рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЧрддрд┐ рдмрдврд╝рдиреЗ рдФрд░ рдорд╛рдЗрдирд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓рдиреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ PoW рдХреА рдХрдард┐рдирд╛рдИ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рдЕрдВрддрддрдГ, рдЖрдкрдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдХ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рд╕рдорд╛рдкрди
рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдЖрдкрдиреЗ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛рдпрд╛ред рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдерд╛ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреЗ рдХреБрдЫ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдирд╛ред рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рдмреЗрдЬреЛрдбрд╝ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рдордЭрдиреЗ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд▓реЗрдХрд░ рд▓реЛрдЧ рдЗрддрдиреЗ рдЙрддреНрд╕рд╛рд╣рд┐рдд рдХреНрдпреЛрдВ рд╣реИрдВред
рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдмрд╣реБрдд рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛: API рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛, рд╡реЙрд▓реЗрдЯ рдмрдирд╛рдирд╛, рдкрдмреНрд▓рд┐рдХ-рдкреНрд░рд╛рдЗрд╡реЗрдЯ-рдХреА-рдкреЗрдпрд░ рдХреЗ рдЬрд░рд┐рдП рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЖрджрд┐ред рдореИрдВрдиреЗ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рднреА рдмрд╕ рд╕рддрд╣реА рддреМрд░ рдкрд░ рдЫреБрдЖ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣реА рдмреНрд▓реЙрдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╣реГрджрдп рд╣реИред
рдпрд╣ рдЫреЛрдЯрд╛ рдкрд░рд┐рдЪрдп Gerald Nash рдХреЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ Python рдореЗрдВ "рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдмреНрд▓реЙрдХрдЪреЗрди" рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ R рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ Daniel van Flymen рдХреЗ PoW рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬреЛрдбрд╝рд╛ред
рдмреНрд▓реЙрдХрдЪреЗрди рд╡рд┐рд╖рдп рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рд╕рддреЛрд╢реА рдирд╛рдХрд╛рдореЛрддреЛ рдХрд╛ рдЙрддреНрдХреГрд╖реНрдЯ, рдореМрд▓рд┐рдХ рдмрд┐рдЯрдХреЙрдЗрди рдкрд░ рд╢реНрд╡реЗрддрдкрддреНрд░ рдФрд░ BigData Doc рдХрд╛ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рд╕реБрдЭрд╛рддрд╛/рд╕реБрдЭрд╛рддреА рд╣реВрдВред
рдпрджрд┐ рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдкрдХреЗ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрдВ, рддреЛ рдореБрдЭрд╕реЗ Twitter рдкрд░ рдмреЗрдЭрд┐рдЭрдХ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ: рдЖрдк рдореБрдЭреЗ @jj_mllr рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ @CorrelAid рджреЗрдЦреЗрдВ тАФ рдпреБрд╡рд╛ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЬреЛ рдЕрдзрд┐рдХ рд╕рдорд╛рд╡реЗрд╢реА, рдПрдХреАрдХреГрдд рдФрд░ рдирд╡рд╛рдЪрд╛рд░реА рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЬрд░рд┐рдпреЗ рджреБрдирд┐рдпрд╛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред