Біткойн: Розніца паміж версіямі

З Вікіпедыі, свабоднай энцыклапедыі
[дагледжаная версія][недагледжаная версія]
Змесціва выдалена Змесціва дададзена
дрНяма тлумачэння праўкі
Тэгі: першае рэдагаванне Візуальны рэдактар
Радок 25: Радок 25:
| website = {{URL|http://www.bitcoin.org}}
| website = {{URL|http://www.bitcoin.org}}
}}
}}
'''Біткойн''' ({{lang-en|Bitcoin}}, ад {{lang-en2|bit}} — адзінка інфармацыі «біт» і {{lang-en2|coin}} — «манета») — электронная [[аднарангавая сетка|пірынгавая]] валютная сістэма, створаная ў 2009 годзе [[Сатоcі Накамото]]<ref>[https://en.bitcoin.it/wiki/Satoshi_Nakamoto Satoshi Nakamoto в Bitcoin Wiki]</ref>, сапраўдная асоба якога (ці групы асоб) застаецца невядомай.
'''[https://yobit.io/?bonus=cjboI Біткойн]''' ({{lang-en|Bitcoin}}, ад {{lang-en2|bit}} — адзінка інфармацыі «біт» і {{lang-en2|coin}} — «манета») — электронная [[аднарангавая сетка|пірынгавая]] валютная сістэма, створаная ў 2009 годзе [[Сатоcі Накамото]]<ref>[https://en.bitcoin.it/wiki/Satoshi_Nakamoto Satoshi Nakamoto в Bitcoin Wiki]</ref>, сапраўдная асоба якога (ці групы асоб) застаецца невядомай.


Гэта назва таксама належыць [[open source|праграмнаму забеспячэнню з адкрытым крынічным кодам]], створанаму ім, і [[аднарангавая сетка|аднарангавай сетцы]], утворанай гэтай праграмай. Сховішчам сродкаў з'яўляецца ''файл-гаманец'', які захоўваецца на камп'ютары. Біткойн можа быць адасланы любому карыстальніку ў сетцы, ужываючы ''адрас Bitcoin''.
Гэта назва таксама належыць [[open source|праграмнаму забеспячэнню з адкрытым крынічным кодам]], створанаму ім, і [[аднарангавая сетка|аднарангавай сетцы]], утворанай гэтай праграмай. Сховішчам сродкаў з'яўляецца ''файл-гаманец'', які захоўваецца на камп'ютары. Біткойн можа быць адасланы любому карыстальніку ў сетцы, ужываючы ''адрас [https://yobit.io/?bonus=cjboI Bitcoin]''.


У адрозненні ат іншых валют, біткойн не залежыць ад нейкага цэнтра, што займаецца вытворчасцю валюты. Даныя аб перасоўванні грашовых сродкаў захоўваюцца ў [[размеркаваныя базы даных|размеркаванай БД]]. Немагчыма распараджацца чужымі грашовымі сродкамі і выдаткаваць адны і тыя ж сродкі двойчы: для забеспячэння бяспекі ўжываюцца [[Крыптаграфія|крыптаграфічныя]] метады.
У адрозненні ат іншых валют, біткойн не залежыць ад нейкага цэнтра, што займаецца вытворчасцю валюты. Даныя аб перасоўванні грашовых сродкаў захоўваюцца ў [[размеркаваныя базы даных|размеркаванай БД]]. Немагчыма распараджацца чужымі грашовымі сродкамі і выдаткаваць адны і тыя ж сродкі двойчы: для забеспячэння бяспекі ўжываюцца [[Крыптаграфія|крыптаграфічныя]] метады.


Прынцып аднарангавай сеткі і адсутнасць адміністрацыйнага цэнтра робіць немагчымым дзяржаўнае рэгуляванне і маніпуляцыі курса шляхам змянення грашовай масы. [[Эмісія грошай|Эмісія]] біткойна алгарытмічна абмежавана. Біткойн прадугледжвае ананімнае валоданне і перавод грашовых сродкаў.
Прынцып аднарангавай сеткі і адсутнасць адміністрацыйнага цэнтра робіць немагчымым дзяржаўнае рэгуляванне і маніпуляцыі курса шляхам змянення грашовай масы. [[Эмісія грошай|Эмісія]] біткойна алгарытмічна абмежавана. [https://yobit.io/?bonus=cjboI Біткойн] прадугледжвае ананімнае валоданне і перавод грашовых сродкаў.


Біткойн — адна з першых рэалізацый ''[[Крыптавалюта|крыптавалюты]]'', апісанай у 1998 годзе [[Вэй Дай]] (Wei Dai) у рассыланні [[шыфрапанк]]аў.
Біткойн — адна з першых рэалізацый ''[[Крыптавалюта|крыптавалюты]]'', апісанай у 1998 годзе [[Вэй Дай]] (Wei Dai) у рассыланні [[шыфрапанк]]аў.


== Агляд ==
== Агляд ==
Біткойн заснаваны на запісе перасоўвання грашовых сродкаў з ужываннем [[Крыптасістэма з адкрытым ключом|асіметрычнага шыфравання]]. Усе [[Транзакцыя, інфарматыка|транзакцыі]] публічныя і захоўваюцца ў размеркаванай БД. Для прадухілення шматразовай траты адной і той жа сумы сетка рэалізуе нешта накшталт ''размеркаванага серверу часу'', ужываючы ідэю ланцуга [[Хэш-сума|хэшаў]], кожны з якіх вылічаецца на базе папярэдняга. Для змяншэння памеру БД ужываецца [[TTH|дрэвападобнае хэшаванне]].
[https://yobit.io/?bonus=cjboI Біткойн] заснаваны на запісе перасоўвання грашовых сродкаў з ужываннем [[Крыптасістэма з адкрытым ключом|асіметрычнага шыфравання]]. Усе [[Транзакцыя, інфарматыка|транзакцыі]] публічныя і захоўваюцца ў размеркаванай БД. Для прадухілення шматразовай траты адной і той жа сумы сетка рэалізуе нешта накшталт ''размеркаванага серверу часу'', ужываючы ідэю ланцуга [[Хэш-сума|хэшаў]], кожны з якіх вылічаецца на базе папярэдняга. Для змяншэння памеру БД ужываецца [[TTH|дрэвападобнае хэшаванне]].


== Тэхнічныя падрабязнасці ==
== Тэхнічныя падрабязнасці ==
Біткойн — рэалізацыя прапанаванай Вэй Дай пад назвай ''b-money'' і [[Нік Сабо|Ніка Сабо]] (Nick Szabo) пад назвай Bitgold. Прынцыпы работы сістэмы пададзены ў працы<ref name="whitepaper">{{cite news |author=Satoshi Nakamoto |date=2011-08-01 |title=Bitcoin: A Peer-to-Peer Electronic Cash System |url=http://www.bitcoin.org/bitcoin.pdf}}</ref> Сатосі Накамото ў 2008 годзе.
[https://yobit.io/?bonus=cjboI Біткойн] — рэалізацыя прапанаванай Вэй Дай пад назвай ''b-money'' і [[Нік Сабо|Ніка Сабо]] (Nick Szabo) пад назвай Bitgold. Прынцыпы работы сістэмы пададзены ў працы<ref name="whitepaper">{{cite news |author=Satoshi Nakamoto |date=2011-08-01 |title=Bitcoin: A Peer-to-Peer Electronic Cash System |url=http://www.bitcoin.org/bitcoin.pdf}}</ref> Сатосі Накамото ў 2008 годзе.


=== Адрасы ===
=== Адрасы ===
Bitcoin адрас з'яўляецца вынікам пераўтварэння адкрытага ключа карыстальніка. Публічныя ключы, ці адрасы біткойн, выконваюць функцыю канчатковых пунктаў пры адпраўцы і прыёме грашовых сродкаў. Адпаведныя ім прыватныя ключы аўтарызуюць адпраўніка. Адрасы не змяшчаюць ніякай інфармацыі аб іх уладальніку і ў агульным выпадку з'яўляюцца ананімнымі<ref name="lwn">{{cite news |author=Nathan Willis |date=2010-11-10 |title=Bitcoin: Virtual money created by CPU cycles |publisher=[[LWN.net]] |url=http://lwn.net/Articles/414452/}}</ref>. Кожны ўдзельнік сеткі біткойн мае так званы гаманец, які ўтрымлівае адвольную колькасць пар ключоў. Біткойн ужывае алгарытм ECDSA з параметрамі secp256k1 для стварэння новых пар ключоў. Памер закрытага ключа — 256 біт, а адпаведнага яму адкрытага ключа — 512 біт. Карыстальнік біткойн можа мець мноства адрасоў, ствараючы іх па ўласнай ініцыятыве. Стварэнне новага адрасу ўяўляе сабой стварэнне новай пары ключоў і не патрабуе нават злучэння з сеткай. Стварэнне адрасу толькі для адной транзакцыі ці аднаго карэспандэнта дазваляе захаваць ананімнасць.
[https://yobit.io/?bonus=cjboI Bitcoin] адрас з'яўляецца вынікам пераўтварэння адкрытага ключа карыстальніка. Публічныя ключы, ці адрасы біткойн, выконваюць функцыю канчатковых пунктаў пры адпраўцы і прыёме грашовых сродкаў. Адпаведныя ім прыватныя ключы аўтарызуюць адпраўніка. Адрасы не змяшчаюць ніякай інфармацыі аб іх уладальніку і ў агульным выпадку з'яўляюцца ананімнымі<ref name="lwn">{{cite news |author=Nathan Willis |date=2010-11-10 |title=Bitcoin: Virtual money created by CPU cycles |publisher=[[LWN.net]] |url=http://lwn.net/Articles/414452/}}</ref>. Кожны ўдзельнік сеткі біткойн мае так званы гаманец, які ўтрымлівае адвольную колькасць пар ключоў. Біткойн ужывае алгарытм ECDSA з параметрамі secp256k1 для стварэння новых пар ключоў. Памер закрытага ключа — 256 біт, а адпаведнага яму адкрытага ключа — 512 біт. Карыстальнік біткойн можа мець мноства адрасоў, ствараючы іх па ўласнай ініцыятыве. Стварэнне новага адрасу ўяўляе сабой стварэнне новай пары ключоў і не патрабуе нават злучэння з сеткай. Стварэнне адрасу толькі для адной транзакцыі ці аднаго карэспандэнта дазваляе захаваць ананімнасць.


Алгарытм стварэння Bitcoin адраса.
Алгарытм стварэння [https://yobit.io/?bonus=cjboI Bitcoin] адраса.
# Адкрыты ключ паслядоўна хэшуецца з дапамогай [[SHA-2|SHA-256]] і RIPEMD-160.
# Адкрыты ключ паслядоўна хэшуецца з дапамогай [[SHA-2|SHA-256]] і RIPEMD-160.
# Перад вынікам пункта 1 дадаецца байт ID сеткі (0x00 — асноўная сетка).
# Перад вынікам пункта 1 дадаецца байт ID сеткі (0x00 — асноўная сетка).
Радок 55: Радок 55:
=== Транзакцыі ===
=== Транзакцыі ===
[[Выява:Транзакцыі bitcoin.png|thumb|left|350px|Транзакцыі]]
[[Выява:Транзакцыі bitcoin.png|thumb|left|350px|Транзакцыі]]
Біткойн вызначае кожную манету ланцугом лічбавых подпісаў. Калі адзін карыстальнік перадае нейкую суму другому карыстальніку, ён стварае новую транзакцыю, якая змяшчае хэш папярэдняй транзакцыі, падпісанай ім, і публічны ключ наступнага ўладальніка<ref>[https://en.bitcoin.it/wiki/Transactions Transactions — Bitcoin<!-- Загаловак даданы ботам -->]</ref>. Потым гэтая інфармацыя шырокавяшчальным запытам адпраўляецца ў сетку біткойн. Астатнія ўдзельнікі сеткі правяраюць подпісы, перш чым прыняць транзакцыю да апрацоўкі.
[https://yobit.io/?bonus=cjboI Біткойн] вызначае кожную манету ланцугом лічбавых подпісаў. Калі адзін карыстальнік перадае нейкую суму другому карыстальніку, ён стварае новую транзакцыю, якая змяшчае хэш папярэдняй транзакцыі, падпісанай ім, і публічны ключ наступнага ўладальніка<ref>[https://en.bitcoin.it/wiki/Transactions Transactions — Bitcoin<!-- Загаловак даданы ботам -->]</ref>. Потым гэтая інфармацыя шырокавяшчальным запытам адпраўляецца ў сетку біткойн. Астатнія ўдзельнікі сеткі правяраюць подпісы, перш чым прыняць транзакцыю да апрацоўкі.


Магчымы выпадкі, калі неабходна перадаць сродкі, атрыманыя з розных транзакцый некалькім розным карыстальнікам. Для гэтых мэтаў транзакцыі падтрымліваюць шматлікія ўваходы і выхады. Значэнні з усіх уваходаў сумуюцца, і сума распаўсюджваецца па выхадам.
Магчымы выпадкі, калі неабходна перадаць сродкі, атрыманыя з розных транзакцый некалькім розным карыстальнікам. Для гэтых мэтаў транзакцыі падтрымліваюць шматлікія ўваходы і выхады. Значэнні з усіх уваходаў сумуюцца, і сума распаўсюджваецца па выхадам.
Радок 97: Радок 97:


=== Захоўванне даных ===
=== Захоўванне даных ===
У Bitcoin была дададзена сістэма, арганізуючая запісы транзакцый такім чынам, што карыстальнік можа лакальна выдаляць даныя з сваёй базы, якія яму дакладна не спатрэбяцца.
У [https://yobit.io/?bonus=cjboI Bitcoin] была дададзена сістэма, арганізуючая запісы транзакцый такім чынам, што карыстальнік можа лакальна выдаляць даныя з сваёй базы, якія яму дакладна не спатрэбяцца.
Пасля таго, як усе транзакцыі з нейкімі сродкамі былі спакаваны ў блокі, папярэднія транзакцыі з гэтымі сродкамі можна адкінуць для эканоміі месца на дыску. Для таго, каб гэта можна было ажыццявіць без змянення хэша блока, транзакцыі хэшуюцца з дапамогай [[TTH]] і ў загаловак блока змяшчаецца толькі вынік дадзенага хэшавання.
Пасля таго, як усе транзакцыі з нейкімі сродкамі былі спакаваны ў блокі, папярэднія транзакцыі з гэтымі сродкамі можна адкінуць для эканоміі месца на дыску. Для таго, каб гэта можна было ажыццявіць без змянення хэша блока, транзакцыі хэшуюцца з дапамогай [[TTH]] і ў загаловак блока змяшчаецца толькі вынік дадзенага хэшавання.



Версія ад 07:48, 13 жніўня 2017

Bitcoin
Выява лагатыпа
Тып Электронныя грошы
Распрацоўшчык Сатосі Накамото (Satoshi Nakamoto), Гэвін Андрэсэн (Gavin Andresen)
Напісана на C++
Аперацыйная сістэма Windows, Linux, Mac OS X
Першы выпуск люты 4, 2009 (2009-02-04)
Апошняя версія 0.9.3 (27 верасня 2014)
Стан Beta
Ліцэнзія MIT License
Сайт bitcoin.org
Лагатып Вікісховішча Медыяфайлы на Вікісховішчы

Біткойн (англ.: Bitcoin, ад bit — адзінка інфармацыі «біт» і coin — «манета») — электронная пірынгавая валютная сістэма, створаная ў 2009 годзе Сатоcі Накамото[1], сапраўдная асоба якога (ці групы асоб) застаецца невядомай.

Гэта назва таксама належыць праграмнаму забеспячэнню з адкрытым крынічным кодам, створанаму ім, і аднарангавай сетцы, утворанай гэтай праграмай. Сховішчам сродкаў з'яўляецца файл-гаманец, які захоўваецца на камп'ютары. Біткойн можа быць адасланы любому карыстальніку ў сетцы, ужываючы адрас Bitcoin.

У адрозненні ат іншых валют, біткойн не залежыць ад нейкага цэнтра, што займаецца вытворчасцю валюты. Даныя аб перасоўванні грашовых сродкаў захоўваюцца ў размеркаванай БД. Немагчыма распараджацца чужымі грашовымі сродкамі і выдаткаваць адны і тыя ж сродкі двойчы: для забеспячэння бяспекі ўжываюцца крыптаграфічныя метады.

Прынцып аднарангавай сеткі і адсутнасць адміністрацыйнага цэнтра робіць немагчымым дзяржаўнае рэгуляванне і маніпуляцыі курса шляхам змянення грашовай масы. Эмісія біткойна алгарытмічна абмежавана. Біткойн прадугледжвае ананімнае валоданне і перавод грашовых сродкаў.

Біткойн — адна з першых рэалізацый крыптавалюты, апісанай у 1998 годзе Вэй Дай (Wei Dai) у рассыланні шыфрапанкаў.

Агляд

Біткойн заснаваны на запісе перасоўвання грашовых сродкаў з ужываннем асіметрычнага шыфравання. Усе транзакцыі публічныя і захоўваюцца ў размеркаванай БД. Для прадухілення шматразовай траты адной і той жа сумы сетка рэалізуе нешта накшталт размеркаванага серверу часу, ужываючы ідэю ланцуга хэшаў, кожны з якіх вылічаецца на базе папярэдняга. Для змяншэння памеру БД ужываецца дрэвападобнае хэшаванне.

Тэхнічныя падрабязнасці

Біткойн — рэалізацыя прапанаванай Вэй Дай пад назвай b-money і Ніка Сабо (Nick Szabo) пад назвай Bitgold. Прынцыпы работы сістэмы пададзены ў працы[2] Сатосі Накамото ў 2008 годзе.

Адрасы

Bitcoin адрас з'яўляецца вынікам пераўтварэння адкрытага ключа карыстальніка. Публічныя ключы, ці адрасы біткойн, выконваюць функцыю канчатковых пунктаў пры адпраўцы і прыёме грашовых сродкаў. Адпаведныя ім прыватныя ключы аўтарызуюць адпраўніка. Адрасы не змяшчаюць ніякай інфармацыі аб іх уладальніку і ў агульным выпадку з'яўляюцца ананімнымі[3]. Кожны ўдзельнік сеткі біткойн мае так званы гаманец, які ўтрымлівае адвольную колькасць пар ключоў. Біткойн ужывае алгарытм ECDSA з параметрамі secp256k1 для стварэння новых пар ключоў. Памер закрытага ключа — 256 біт, а адпаведнага яму адкрытага ключа — 512 біт. Карыстальнік біткойн можа мець мноства адрасоў, ствараючы іх па ўласнай ініцыятыве. Стварэнне новага адрасу ўяўляе сабой стварэнне новай пары ключоў і не патрабуе нават злучэння з сеткай. Стварэнне адрасу толькі для адной транзакцыі ці аднаго карэспандэнта дазваляе захаваць ананімнасць.

Алгарытм стварэння Bitcoin адраса.

  1. Адкрыты ключ паслядоўна хэшуецца з дапамогай SHA-256 і RIPEMD-160.
  2. Перад вынікам пункта 1 дадаецца байт ID сеткі (0x00 — асноўная сетка).
  3. Выкарыстоўваецца SHA-256 да выніка пункта 2.
  4. Абіраюцца першыя 32 біта ад выніка папярэдняга кроку і дадаюцца ў канец выніка пункта 2.
  5. Вынік пункта 4 пераўтвараецца ў base58 радок з дапамогай Base58Check кадзіравання.

Адрасы ў тэкставай форме ўяўляюць сабой радкі даўжынёй да 34 сімвалаў, якія складаюцца з літар лацінскага алфавіта і лічбаў, напрыклад 13MBZ21g7KqpJWA9egnYwJuXef65ot5cT7. Існуюць варыянты прадстаўлення адрасоў біткойн у выглядзе QR-кодаў і іншых двухмерных штрыхкодаў, прыдатных для счытвання мабільнымі прыладамі.

Транзакцыі

Транзакцыі

Біткойн вызначае кожную манету ланцугом лічбавых подпісаў. Калі адзін карыстальнік перадае нейкую суму другому карыстальніку, ён стварае новую транзакцыю, якая змяшчае хэш папярэдняй транзакцыі, падпісанай ім, і публічны ключ наступнага ўладальніка[4]. Потым гэтая інфармацыя шырокавяшчальным запытам адпраўляецца ў сетку біткойн. Астатнія ўдзельнікі сеткі правяраюць подпісы, перш чым прыняць транзакцыю да апрацоўкі.

Магчымы выпадкі, калі неабходна перадаць сродкі, атрыманыя з розных транзакцый некалькім розным карыстальнікам. Для гэтых мэтаў транзакцыі падтрымліваюць шматлікія ўваходы і выхады. Значэнні з усіх уваходаў сумуюцца, і сума распаўсюджваецца па выхадам.

Для таго, каб праверыць транзакцыю, ужываецца сцэнарый на Forth-подобнай мове. У цяперашні час у Біткойн існуе тры розных сцэнарыі транзакцыяў: перавод на IP-адрас, перавод на Bitcoin-адрас і генерацыя. Апошні тып транзакцый ужываецца пры генерацыі блокаў для эмісіі новых манет.

Ланцуг блокаў

Асноўная паслядоўнасць блокаў (чорныя) з'яўляецца самай доўгай ад пачатковага (зялёны) да бягучага. Пабочныя галіны (шэрыя) адсякаюцца.

Транзакцыі не пацвярджаюцца, пакуль не будуць калектыўнымі намаганнямі сеткі спакаваны ў паслядоўнасць блокаў. Пацверджанне засноўваецца на тым, што праведзеная работа па спакоўцы можа быць хутка праверана, што выключае шматразовае выдаткоўванне адных і тых жа сродкаў ці падробку.

Блок уяўляе сабой запіс усіх ці некалькіх з самых апошніх транзакцый, якія пакуль не былі запісаны ў папярэднія блокі. Ён дзеліцца на загаловак і спіс транзакцый. Загаловак блока ўключае ў сябе свой SHA-256 хэш, версію блока(зараз ужываецца толькі дадзеная версія блока — 1), SHA-256 хэш папярэдняга блока з ланцуга, спіс хэшаў транзакцый, час стварэння блока, параметры bits і nounce, колькасць транзакцый у блоке і памер блока ў байтах. У пачатак спіса транзакцый дадаецца транзакцыя генерацыі, якая ў выпадку паспяховай генерацыі блока перадае карыстальніку ўзнагароды за створаны блок.

Створаны блок будзе прыняты астатнімі карыстальнікамі толькі ў тым выпадку, калі SHA-256 хэш загалоўка роўны ці ніжэй пэўнай мэты, якая вылічаецца з параметра bits. Напрыклад, калі значэнне bits 0x1a0115cb, то мэтай з'яўляецца 0x0115cb * 2**(8*(0x1a - 3)) = 0x0000000000000115cb0000000000000000000000000000000000000000000000. Максімальна магчымая мэта (г.зн. мінімальная складанасць) вызначаецца значэннем bits 0x1d00ffff.

Калі блок не задавальняе мэты, то параметр nounce змяняецца і хэш пералічваецца. Гэты працэс патрабуе мноства цыклаў спроб і памылак, таму што вынік функцыі хэшавання (SHA-256) практычна непрадказальны. Калі задача вырашана, вузел рассылае атрыманы блок усім далучаным вузлам. Іншыя вузлы правяраюць блок, і, калі ён верны, прымаюць яго ў якасці наступнага сапраўднага, гэта значыць дадаюць у ланцуг.

Мэта карэктуецца кожныя 2016 блокаў, у залежнасці ад таго, колькі часу спатрэбілася на іх стварэнне. У ідэале ўся сетка будзе генераваць адзін блок кожныя 10 хвілін, г.зн. на генерацыю 2016 блокаў павінна сысці два тыдні. Калі 2016 блокаў было згенеравана даўжэй чым за два тыдні, то мэта павялічваецца, у адваротным выпадку змяншаецца. Такім чынам, сістэма будзе генераваць блокі з пастаяннай хуткасцю, не залежнай ад магутнасці сеткі.

Любыя транзакцыі не лічацца легітымнымі (не лічацца «пацверджанымі»), пакуль інфармацыя аб іх не будзе згрупавана ў спецыяльныя структуры — блокі. Структура і інфармацыя ў блоках падпарадкоўваюцца зададзеным правілам і яе можна хутка спраўдзіць. Кожны блок заўсёды змяшчае інфармацыю (хэш) ад адным папярэднім блоку. Гэта дазваляе ўсе існуючыя блокі ўявіць у выглядзе ланцуга, які з'яўляецца размеркаванай базай даных і змяшчае інфармацыю аб усіх здзейсненых калі-небудзь аперацыях з біткойнамі.

Блокі адначасова ствараюць мноства майнераў. Рэгулярна ўзнікаюць сітуацыі, калі адзін і той жа блок з'яўляецца папярэднім для двух новых блокаў. У кожным з новых блокаў могуць сустракацца як аднолькавыя транзакцыі, так і розныя. Праз некаторы час з'яўляюцца чарговыя блокі, ланцуг можа раздваіцца. Кожная з галін раўнавартасная да той пары, пакуль адна з іх не атрымае больш доўгі працяг. Звычайна пры роўнай даўжыні перавага аддаецца таму ланцугу, канцавы блок якой з'явіўся раней. Сістэма аўтаматычна лічыць легітымным даўжэйшы ланцуг, не звяртаючы ўвагу на час стварэння апошняга блока. Транзакцыі, якія ўвайшлі выключна ў меньш працяглую галіну (у тым ліку па выплаце ўзнагароды), страчваюць статус пацверджаных. Калі гэта транзакцыя перадачы біткойнаў, то яна можа быць уключана ў наступны блок. Транзакцыі атрыманя ўзнагароды за стварэнне адсечаных блокаў не дублююцца ў другой галіне, гэта значыць «лішнія» біткойны за адсечаныя блокі не атрымліваюць далейшых пацверджанняў і «страчваюцца».

Такім чынам ланцуг блокаў змяшчае крыптаграфічную гісторыю валодання пэўнай порцыяй біткойн[5]. Калі карыстальнік паспрабуе выкарыстаць калісьці атрыманыя біткойны ізноў, сетка не прыме яго транзакцыю як дзейсную.

Эмісія

Першай транзакцыяй кожнага блока-кандыдата з'яўляецца налічэнне генеруючаму вузлу ўзнагароджвання ў 50 біткойнаў. Пасля стварэння кожных 210 000 блокаў[6] узнагароджванне будзе змяншацца ў 2 разы[7]. Такім чынам, агульная колькасць біткойнаў не перавысіць 21 000 000. У выпадку знікнення часткі гэтых сродкаў з абароту, дадзенае абмежаванне не будзе праблемай, таму што мінімальны аб'ём транзакцыі складае 10−8 біткойн.

Верагоднасць атрымання ўзнагароджання залежыць ад стаўлення вылічальнай магутнасці вузла да сумарнай вылічальнай магутнасці ўсіх вузлоў сеткі[8]. Жадаючыя атрымаць як мага большае ўзнагароджанне імкнуцца задзейнічаць як мага большыя вылічальныя магутнасці для генерацыі: ужыванне вектарных графічных працэсараў (GPU)[9] (у сотні разоў эфектыўней CPU[10]). Гэты від дзейнасці атрымаў назву «майнінг» (англ.: mining — здабыча карысных выкапняў, шахтная распрацоўка), верагодна, з-за падабенства з золатаздабычай. Па меры падзення аб'ёму ўзнагароджання матывацыя карыстальнікаў, верагодна, перамесціцца на збор камісій.

Так як вылічальныя магутнасці сеткі нясталыя, праграмнае забеспячэнне вузлоў праз кожныя 2016 блокаў, а гэта прыкладна кожныя два тыдні, пералічвае[11] патрабаванні да хэшаў блокаў такім чынам, каб падтрымліваць сярэднюю частату генерацыі на ўзроўні 6 блокаў у гадзіну. Такім чынам, хуткасць эмісіі жорстка зададзена самім алгарытмам і не можа быць зменена пабочнымі фактарамі.

Захоўванне даных

У Bitcoin была дададзена сістэма, арганізуючая запісы транзакцый такім чынам, што карыстальнік можа лакальна выдаляць даныя з сваёй базы, якія яму дакладна не спатрэбяцца. Пасля таго, як усе транзакцыі з нейкімі сродкамі былі спакаваны ў блокі, папярэднія транзакцыі з гэтымі сродкамі можна адкінуць для эканоміі месца на дыску. Для таго, каб гэта можна было ажыццявіць без змянення хэша блока, транзакцыі хэшуюцца з дапамогай TTH і ў загаловак блока змяшчаецца толькі вынік дадзенага хэшавання.

Зараз усе карыстальнікі Bitcoin атрымліваюць поўную базу даных (блокі без індэксацыі і аптымізацыі) пасля запуску праграмы ў першы раз. Па стану на жнівень 2012 яе памер складае крыху больш 2 ГБ. Загаловак блока без транзакцый мае памер каля 80 байт. Так як блокі генеруюцца прыкладна кожныя 10 хвілін, то за год будзе збірацца 4.2 МБ блокаў.

Пулы

Для памяншэння ўплыву фактара ўдачы і больш раўнамернага і прадказальнага заробку, карыстальнікі могуць аб'ядноўвацца ў вылічальныя пулы[12]. Уклад карыстальніка ў пул ацэньваецца ў шарах (shares). Шара — гэта кандыдат у подпіс блока, у сярэднім трэба 232 аперацый хэшавання для знаходжання адной шары[13]. Для знаходжання блока ў сярэднім патрабуецца колькасць шар, роўная бягучай складанасці. Існуе 3 асноўных тыпы налічэння ўзнагарод[14]:

  • Proportional — Пасля знаходжання пулам блока ўзнагарода дзеліцца прапарцыйна ўкладу кожнага ўдзельніка.
  • PPS — Аплочваецца кожная прысланая шара. Ацэньваецца як бягучая колькасць манет у блоке, падзеленая на бягучую складанасць.
  • Score — Ацэначная сістэма аплаты шар, алгарытм вызначаецца пулам. Як правіла, сістэмы падобны на Proportional, але акрамя ўкладу кожнага ўдзельніка сістэмы імкнуцца ацаніць і яго актуальнасць.

У гэтых тыпаў налічэння ёсць наступныя папулярныя варыянты:

  • SMPPS — Аналагічна PPS, але пул ніколі не выплочвае карыстальнікам больш, чым рэальна зарабіў сам. Розніца паміж рэальным заробкам і коштам шар у PPS, калі такая ёсць, выплачваецца паступова.
  • ESMPPS — Аналагічна SMPPS, але ўраўноўвае прыярытэты выплат сталым і новым удзельнікам пула.
  • RSMPPS — Аналагічна SMPPS, але першымі ў чарзе на выплаты ставяцца новыя карыстальнікі.
  • PPLNS — Аналагічна Proportional, але дзяленне ўзнагароды ажыццяўляецца прапарцыйна ўкладу ў апошнія складанасць/N прысланых на пул шар, дзе N звычайна роўнае 2.

Некаторыя пулы дазваляюць ужываць сумесны майнінг некалькіх крыптавалют адразу[15], выводзіць сродкі не толькі ў біткойнах, але і ў іншых валютах, у тым ліку в рублях, доларах і еўра, раздаюць камісію з знойдзеных пулам блокаў карыстальнікам[16].

Пацверджанне транзакцый

У большасці выпадкаў, пры атрыманні сродкаў, новы ўладальнік не можа адразу ж скарыстацца імі. Гэта звязана з тым, што дадзеная транзакцыя павінна атрымаць пэўную колькасць пацверджанняў, лік якіх можа залежыць альбо ад ужываемага кліента Bitcoin, альбо ад іншых карыстальнікаў, прымаючых гэтыя сродкі. Дадзеная сістэма ўжываецца для змяншэння верагоднасці падвойнай траты сродкаў.

Пацверджанні пачынаюць адлічвацца з моманту з'яўлення блока з гэтай транзакцыяй у карыстальнікаў сеткі. З кожным новым блокам, згенераваным пасля яе, колькасць пацверджанняў дадзенай транзакцыі павялічваецца на адзінку.

Манеты, атрыманыя за стварэнне блока, не прымаюцца ўдзельнікамі сеткі, пакуль колькасць пацверджанняў не дасягне 100. Сродкі, атрыманыя ад іншых карыстальнікаў, у афіцыйным кліенце Bitcoin немагчыма выкарыстаць, пакуль яны не будуць мець шэсць пацверджанняў. Крамы і біржы могуць таксама ўсталяваць свой парог пацверджанняў.

Камісійныя зборы

У сістэме біткойн не прадугледжана абавязковых камісійных збораў. Карыстальнікі могуць добраахвотна ўключаць у плацеж адвольную суму камісійнага збору, падаючы на ўваход транзакцыі больш сродкаў, чым на выхад, што павышае прыярытэт апрацоўкі такой транзакцыі. Камісійны збор дастаецца вузлу, які згенераваў блок з такой транзакцыяй[3].

З-за таго, што карыстальнік, генеруючы новы блок, можа па сваім меркаванні дадаваць у яго транзакцыі, ён можа ўключаць у гэты блок толькі тыя транзакцыі, у якія ўнесены камісійны збор. На дадзены момант большасць удзельнікаў не вызначаюць такія абмежаванні на транзакцыі, але з цягам часу, калі ўзнагарода за стварэнне новага блока зменшыцца, дадзеныя абмежаванні будуць уступаць у сілу паўсюдна з мэтай павелічэння стымулу да стварэння новых блокаў.

Разнастайныя кліенты Bitcoin і іх версіі маюць свае правілы, што датычацца камісійных збораў. Разгледзім падрабязней афіцыйны кліент — Bitcoin-Qt[17]. Бягучыя правілы:

  • мінімальная камісія — 0,0005 BTC[18];
  • 0,01 BTC, калі выхад транзакцыі менш за 0,01 BTC;
  • 0,01 BTC за кожны кілабайт транзакцыі[19] (калі сумарны памер усіх чакаючых транзакцый меней за 27 КБ, то прымаюцца любыя транзакцыі);
  • з транзакцый з аднолькавай сумай камісійнага збору, большы прыярытэт мае тая транзакцыя, якая мае больш пацверджанняў.

Праграмны інтэрфейс

Праграмнае забеспячэнне сеткавага вузла біткойн існуе ў двух відах: праграма з графічным інтэрфейсам і фонавая праграма. У абодвух выпадках яно можа кіравацца праз праграмны інтэфейс па пратаколу JSON-RPC (RFC 4627)[20] Гэта дазваляе досыць проста вырашыць такія задачы, як:

  • Далучыць да аднаго вузла некалькі праграм-майнераў, стварыўшы ўласны пул;
  • Інтэграваць вузел з web-крамай, абменнікам ці іншай службай, звязанай з аплатай[21];

Іншыя рэалізацыі

  • Майк Хёрн (Mike Hearn), супрацоўнік кампаніі Google, у межах праграмы «20 % працоўнага часу супрацоўніка» рэалізаваў праграмнае забеспячэнне вузла Bitcoin на мове Java — BitcoinJ[22]. Гэта рэалізацыя абмежавана толькі карыстальніцкімі функцыямі[23] (такі вузел не можа правяраць транзакцыі і блокі, ствараць блокі, а можа толькі ствараць новыя валідныя транзакцыі, што, зрэшты, дастаткова для работы кліента), аднак гэта з'яўляецца нямалым крокам у бок мабільных праграм, ужываючых Bitcoin.

Эканоміка

Нягледзячы на эксперыментальны статус праекта, ён імкліва набірае папулярнасць. Біткойны прымаюцца ў абмен на сеткавыя паслугі і рэальныя тавары[24]. Многія арганізацыі прымаюць ахвяраванні ў гэтай валюце[25]. Трэйдэры абменьваюць біткойн на разнастайныя валюты (долары ЗША, рублі, японскія іены і іншыя) на онлайн-біржах[26][27].

Сярод карыстальнікаў валюты прынята ўмоўнае пазначэнне BTC.

Абменны курс

Важныя моманты ў гісторыі Bitcoin:

  1. 25 красавіка 2010 года — былі афіцыйна прададзены першыя BTC (1000 манет за 0,3 цэнта кожная).
  2. 10 лютага 2010 года — На Slashdot з'явілася навіна[28] аб дасягненні парытэту паміж BTC і USD.
  3. 20 красавіка 2011 года — Forbes публікуе артыкул «Crypto Currency»[29], пасля чаго курс BTC стаў расці хутчэй і к канцу мая дасягнуў $ 8.89.
  4. 1 чэрвеня 2011 года — Gawker апублікаваў артыкул «Silk Road»[30] аб папулярнасці Bitcoin сярод гандляроў наркотыкамі, пасля чаго курс BTC рэзка падскочыў.
  5. 9 чэрвеня 2011 года — курс Bitcoin дасягнуў свайго гістарычнага максімума $ 29,57.
  6. 19 чэрвеня 2011 года — найбуйнейшая Bitcoin-біржа MtGox была ўзламана[31], пасля чаго курс BTC працягнуў падзенне.

Адрозненні ад іншых валют

Колькасць біткойнаў з цягам часу

У адрозненні ад звычайных, дэкрэтных валют, у сістэме біткойн няма кантралюючых органаў[32]. Гэта памяншае нестабільнасць, стваральную цэнтральнымі банкамі і ўрадамі. Эмісія абмежавана, запраграмавана і яе ход вядомы ўсім удзельнікам рынку наперад[2].

Плацяжы ажыццяўляюцца наўпрост, без пасрэдніцтва нейкіх фінансавых арганізацый. Адмена плацяжу немагчыма. Інфармацыя аб здзейсненым плацяжы распаўсюджваецца плацельшчыкам па ўсёй сетцы і прымаецца ўсімі астатнімі ўдзельнікамі сеткі, калі адпавядае правілам. Няправільныя плацяжы адхіляюцца. Плацяжы не абкладаюцца абавязковай камісіяй, аднак камісія можа быць сплочана добраахвотна для паскарэння апрацоўкі плацяжу[2].

Агульная колькасць грашовых адзінак не перавысіць 21 000 000 біткойнаў. Аб'ём павялічваецца ў выглядзе сумы спадальнай геаметрычнай прагрэсіі і набліжаецца да максімальнага значэння асімптатычна. У будучыні чакаецца дэфляцыя, што не з'яўляецца праблемай, таму што грашовая адзінка дзеліцца да 8-га дзесятковага знака[3]. Эмісія спыніцца, цікавасць падтрымкі вузлоў сеткі карыстальнікамі пераключыцца на збор камісій.

Наступствы

Магчымыя сцэнарыі няўдачы ўключаюць абясцэньванне, страту цікавасці карыстальнікаў і глабальную змову ўрадаў па блакаванню сеткі. Аднак апошняе малаверагодна[33]. Сам праект Біткойн, верагодна, з'яўляецца рэакцыяй на спробы, у прыватнасці, урада ЗША перашкодзіць дзейнасці кампаній накшталт E-Gold і Liberty Dollar. Закладзеныя ў ім прынцыпы дэцэнтралізацыі і ананімнасць не пакідаюць звёнаў, атака на якія прывядзе да адмовы ўсёй сістэмы[34]. Але наяўная дэцэнтралізацыя не можа лічыцца поўнай, пакуль ёсць такія вузкія месцы, як абменнікі, якія могуць быць аб'яўлены па-за законам у любы момант.

Альтэрнатывы

Дзякуючы адкрытасці, арыгінальны код Bitcoin быў ужыты для стварэння мноства кароткатрывалых альтэрнатыўных крыптавалют. Альтэрнатыўныя валюты, як правіла, магчыма памяняць на Bitcoin на біржы. Параўнанне рыначнай капіталізацыі Bitcoin і іншых альтэрнатыў на Bitcoin Pie паказвае, што Bitcoin мае дамінуючую долю рынку.

Арыгінальны код быў ужыты для стварэння сеткі Namecoin — сістэмы альтэрнатыўных каранёвых DNS-сервераў.

Таксама існуе падобны на Bitcoin праект Litecoin.

Крытыка

Няроўнасць паміж раннімі і познімі майнерамі

Архітэктура bitcoin дае больш пераваг тым майнерам, якія пачалі здабычу раней. Так, колькасць працы, неабходнай для генерацыі блока, у цяперашні час больш чым у паўмільёна раз больш, чым у пачатку работы сістэмы. Пры павелічэнні колькасці ўдзельнікаў і аўтаматычным змяншэнні колькасці манет ва ўзнагародзе за майнінг, генерацыя манет становіцца больш энерга — і апаратназатратней. Калі складанасць генерацыі стала досыць высокай, майнеры з краін, у якіх электраэнергія адносна дарагая, апынуліся ў няроўных умовах з майнерамі з краін, дзе электраэнергія адносна танная.

Рэзкія скокі курсу

Так як эмісія абмежавана і запраграмавана, а агульная колькасць ніколі не перавысіць 21 000 000 БТК, у будучыні цалкам верагодна дэфляцыя біткойна[35]. З-за чаго ў гульцоў рынку можа мецца стымул да накаплення манет з мэтай спекуляцыі[36][37], калі яны вырашаць, што курс будзе няспынна расці. Пры гэтым належыць улічваць, што на доўгатэрміновае ўмацаванне біткойна наўпрост будзе ўплываць рост колькасці толькі тых тавараў і паслуг, якія можна будзе за іх набыць, а не тавараў і паслуг увогуле, таму з абмежаванай колькасці біткойнаў зусім не вынікае непазбежны рост іх курса[38]. Напрыклад, у сярэдзіне 2011 года з-за спекуляцыйнага попыту курс рэзка вырас да больш чым трыццаці долараў ЗША за біткойн, пасля чаго ўпаў прыкладна да двух.

Ценявая эканоміка

Па прычыне ананімнасці і некантралюемасці, біткойн ідэальна падыходзіць для ценявой эканомікі, што можа паслужыць фармальнай падставай юрыдычнай атакі на біткойн з быку тых, каму ён эканамічна не выгадны. Хоць наяўныя грошы не менш ананімны, а здзелкі па ім таксама некантралюемыя, яны менш зручныя для аддаленых плацяжоў.

Крадзяжы

Так як у Bitcoin няма кантралюючага цэнтра, магчымы іх крадзеж без магчымасці адмены несанкцыянаваных транзакцый. Таксама магчымы ўзломы біткойн-біржаў і пулаў сумеснай здабычы, што насамрэч адбывалася[39][40][41][42].

Схаваны майнінг

В чэрвені 2011 года Symantec заявіла, што майнінг можа быць запушчаны на ботнэтах. Такім чынам, сотні і тысячы камп'ютараў пачнуць працаваць над генерацыяй крыптавалюты без ведама іх уладальнікаў. Таксама магчыма ўжыванне супрацоўнікамі карпаратыўных рэсурсаў для генерацыі біткойнаў.

Патрабаванні да дыскавай прасторы для захоўвання гісторыі транзакцый

З-за асаблівасцей функцыянавання сістэмы, аб'ём інфармацыі, якую павінен трымаць і апрацоўваць кожны ўдзельнік абмену ўвесь час расце. Ужо зараз (пры прыкладна 210 000 выпушчаных у зварот блоках і прыкладна 5000 транзакцыях у суткі) аб'ём базы даных, што захоўвае кожны ўдзельнік абмену, перавышае 3000 Мб, а яе першапачатковая загрузка/стварэнне/праверка/сінхранізацыя (пасля першай усталёўкі праграмы-кліента) займаюць каля сутак работы сярэдняга камп'ютара і велізарны аб'ём дыскавых аперацый (больш 700 Гб). У выпадку росту папулярнасці павелічэнне аб'ёму транзакцый да ўзроўняў параўнальных са звычайнымі плацёжнымі сістэмамі (ад 100 000 транзакцый у суткі і больш) зробіць немагчымым ужыванне bitcoin на звычайных персанальных камп'ютарах без істотных змен у прынцыпах работы сістэмы. Па гэтай прычыне актыўна ідзе распрацоўка альтэрнатыўных кліентаў, рэалізаваных у адпаведнасці з ідэалогіяй «тонкага кліента», гэта значыць не трымаючых на цвёрдым дыску змесціва блокаў, а замест гэтага захоўваючых толькі іх загалоўкі.

Цікавыя факты

Па словах Сатосі, распрацоўка біткойна пачалася ў 2007 годзе[43].

Гл. таксама

Зноскі

  1. Satoshi Nakamoto в Bitcoin Wiki
  2. а б в Satoshi Nakamoto (2011-08-01). "Bitcoin: A Peer-to-Peer Electronic Cash System" (PDF).
  3. а б в Nathan Willis (2010-11-10). "Bitcoin: Virtual money created by CPU cycles". LWN.net.
  4. Transactions — Bitcoin
  5. Bitcoin Block Explorer - сайт, дазваляючы прагледжваць ланцуг блокаў. Архівавана з першакрыніцы 15 ліпеня 2012.
  6. На момант 2011-02-14 іх колькасць прыблізна роўная 108 100
  7. Апісанне кантралюемай інфляцыі
  8. Luongo, Thomas (2010-07-23). "The FED's Real Monetary Problem". LewRockwell.com. Праверана 2010-10-12.
  9. http://www.theregister.co.uk/2011/08/16/gpu_bitcoin_brute_forcing/ «the idea of GPGPU extremely attractive for the purpose of bitcoin mining»
  10. http://arstechnica.com/tech-policy/news/2011/08/symantec-spots-malware-that-uses-your-gpu-to-mine-bitcoins.ars «estimates that GPUs can compute hashes up to 750 times as quickly as a typical CPU.»
  11. Гісторыя змянення складанасці сеткі Bitcoin
  12. Pooled Mining //Bitcoin wiki
  13. Reward systems //Bitcoin wiki
  14. Mining pool reward FAQ //Bitcoin wiki
  15. Merged mining
  16. Comparison of mining pools //Bitcoin wiki
  17. Кліенты Bitcoin
  18. Змены ў Bitcoin-Qt v0.5.2
  19. Змены ў Bitcoin-Qt v0.3.22
  20. Спецыфікацыя API
  21. Бібліятэка класаў для PHP5
  22. BitcoinJ на Google Code
  23. Google releases open source Bitcoin client — open source, money, Google, Gavin Andresen, Economics, e-commerce, Bitcoin — Java — Development — Techworld
  24. Bitcoin Trade. Bitcoin.org. Праверана 16 May 2011.
  25. Donate to ReactOS — ReactOS Website
  26. Bitcoin Charts
  27. Thomas, Keir (2010-10-10). "Could the Wikileaks Scandal Lead to New Virtual Currency?". PC World. Праверана 2010-10-10.
  28. Online-Only Currency BitCoin Reaches Dollar Parity
  29. «Crypto Currency»
  30. «Silk Road»
  31. CLARIFICATION OF MT. GOX COMPROMISED ACCOUNTS AND MAJOR BITCOIN SELL-OFF
  32. Bitcoin FAQ
  33. O'Brien, Danny (26 November 2010). "Imagine your computer as a wallet full of Bitcoins". The Irish Times. Праверана 19 December 2010.
  34. Herpel, Mark. 2011 Observations on the Digital Currency Industry. SSRN (Article for DGC magazine Jan2011) (6 снежня 2010). Архівавана з першакрыніцы 15 ліпеня 2012. Праверана 19 December 2010.
  35. http://btcsec.com/chto-takoe-bitcoin/
  36. http://blogs.computerra.ru/8356 " дэфляцыйная спіраль можа прывесці да калапсу сеткі. У той момант, калі кошт прадукту ўзрастае, людзі пачынаюць яго збіраць, "
  37. Technical Analysis in the Virtual World. Philip Daniel «As bitcoins deflate and gain value relative to other currencies, those holding bitcoins become more wealthy. As deflation happens the incentive to hold bitcoins and not spend them increases. This could hurt the bitcoin economy»
  38. Онлайн-конференция «Биткойн: переходим на электронные деньги»
  39. BTC-E | News
  40. Хакерская атака на Mt Gox
  41. Взломаны cервера на Linode, украдено около 50K BTC ($250K) / Хабрахабр
  42. Кража 24,000 BTC у Bitfloor
  43. Questions about Bitcoin

Спасылкі