This article may contain excessive or inappropriate references to self-published sources. (June 2011) |
Developer(s) | Satoshi Nakamoto (inactive), Gavin Andresen, Pieter Wuille, Nils Schneider, Jeff Garzik |
---|---|
Initial release | February 4, 2009 |
Stable release | 0.3.21
/ April 27, 2011 |
Written in | C++ |
Operating system | Windows, Linux, Mac OS X |
Available in | English, German, Spanish, French, Dutch, Portuguese, Italian and Russian. |
Type | Electronic money |
License | MIT License |
Website | www |
Bitcoin (sign: BitcoinSign.svg; code: BTC or XBT) je digitalna kripto-valuta gdje se stvaranje i prijenos bitcoin-a oslanja na open source kriptografske algoritme i protokole. Koncept Bitcoin je stvoren 2008. godine, a autor je Satoshi Nakamoto, odnosno grupa programera koja se predstavlja pod tim pseudonimom. Izvorno ime koncepta je bilo "Peer-to-peer, Electronic Cash System".
Samo ime "Bitcoin" odnosi se na jedinicu valute (1BTC) i na cijelu p2p peer-to-peer mrežu korisnika / klijenata, te na sam protokol unutar p2p mreže. Za razliku od većine dodadašnjih valuta, bitcoin ne počiva na povjerenju središnjem izdavatelju. Što znači da bitcoin-i mogu biti preneseni s jednog vlasnika do drugog bez posredovanja trećeg tijela t.j. financijske institucije. Za praćenjenje transakcija bitcoin koristi distribuiranu bazu podataka (zvana: Blockchain / Lanac blokova) rasprostranjenu preko čvorova peer-to-peer mreže.
Kripto-algoritmi unutar same bitcoin kripto-valute pružaju sve neophodne sigurnosne funkcije i algoritme, za primjer : vode brigu da bitcoin može potrošiti samo osoba koja ih stvarno posjeduje i da ih može potrošiti samo jednom. Obrada Bitcoin transakcija je osigurana od strane servera koji se nazivaju bitcoin miners / bitcoin rudari. Ti serveri komuniciraju preko internet mreže, potvrđuju transakcije unutar same p2p bitcoin mreže te ih dodaju u blokove. Nadalje svaki novo stvoreni blok se periodički objavlje na kraj lanca blokova t.j. Blockchain. Baza Blockchain se isto periodički arhivira na prethodno spomenute servere koristeči peer-to-peer filesharing tehnology tehnologiju dijeljenja datoteka preko p2p mreže. Pri objavi svakog novog bloka u kojem se nalaze transakcije u Blockchain bazu dolazi do stvaranja određene količine bitcoin-a t.j. puštanja u opticaj novih bitcoina u bitcoin mrežu. Broj novo stvorenih bitcoin jedinica se smanjuje svake 4 godine za 50% i tako do krajnje 2140.godine kada taj broj novo stvorenih bitcoin-a dolazi na nulu. Sam koncept t.j. p2p bitcoin mreža je u prvih 4 godine postojanja u opticaj puštala 50 novih BTC-a pri objavi novog bloka u Blockchain, a u drugih 4 godine postojanja mreže u opticaj se puštalo 25 novih BTC-a. S 2140.godinom prestaje puštanje novih BTC-a u opticaj i time se dolazi do maksimalnog broja bitcoin-a koji može postojati u mreži t.j. opticaju, a to je 21 milijun bitcoin-a (21.000.000 BTC). Svaki bitcoin (1BTC) se može podjeliti na 100 milijunti dio t.j. svaki BTC se može podjeliti na 8 decimala. Ta najmanja jedinica u Bitcoin mreži se zove Satoshi (0.00000001BTC = 1 Satoshi). Od 2012.godine pa nadalje u upotrebi su i druge podjele BTC-a, kao što su 0.001BTC = 1miliBTC, 0.000001BTC = 1microBTC i sl.
Bitcoin koncept je osmišljen tako da omoguči anonimno posredovanje i slanje novca. Sami bitcoin-i mogu biti pohranjeni u novčaniku, u kojem je prijemna adresa, na osobnom računalu u obliku datoteke, tzv. wallet file ili povjeren na čuvanje trećem entitetu u obliku online novčanika, tzv. wallet service. U oba slučaja, Bitcoin se može poslati svakome tko posjeduje bitcoin novčanik s prijemnom adresom, tzv. bitcoin address. Zbog p2p mrežne topologije i nepostojanja centralnog administrativnog centra, državne vlasti neće biti u mogućnosti manipulirati njegovom vrijednošću, niti inducirati inflaciju (stvaranjem dodatnih količina bitcoin-a i nihovim puštanjem u opticaj).[1]
Bitcoin predstavlja jednu od prvih implementacija koncepta zvanog kripto-valuta, eng. 'cryptocurrency'. Wei Dai opisuje taj koncept 1998.g. kao cypherpunk mailing list.[2]
Ekonomija
editISO 4217 | |
---|---|
Code | none[3] |
Demographics | |
User(s) | Transnational, Internet-based |
Issuance | |
Central bank | None; decentralized, distributed |
Valuation | |
Inflation | Currently highly deflationary; predetermined currency supply limits[1] |
Od začetka pa do lipnja 2011 u opticaj je pušteno tek nešto više od 6.2 milijuna bitcoins-a. [4] Po trenutnoj burzovnoj cijeni, ukupna kupovna moć sadržana i bitcoin-u je otprilike 52 millijuna USD.[5] Bitcoin gospodarstvo je još uvijek relativno maleno u usporedbi sa davno utemeljenim gospodarstvima svijeta i softver je još uvijek u fazi razvoja i dorade. Ali bitcoin se već koristi za kupovinu robe i usluga, npr. rabljenih automobila i naplate usluga programiranja, itd.. Dakle, koristi se i prihvaćen je kao platežno sredstvo za online usluge, ali i materijalna dobra.[5] Free Software Foundation, Electronic Frontier Foundation i Singularity Institute prihvaćaju donacije u bitcoin valuti.[6][7][8] Konverziija između regularnih valuta (uključujući i Američki dolar, Ruske rublje i Japanski yen) i bitcoins-a može se obaviti na online burzama.[9][10] Lanac blokova, tzv. block-chain je javno dostupan i sve transakcije su vidljive u realnom vremenu. Postoje i web stranice koje omogućuju uvid u te podatke.[11][12]
Monetarne različitosti
editZa razliku od konvencionalnih valuta eng. fiat currency, bitcoin je decentralizirana valuta, što znači da nad njime ne postoji nadležno tijelo koje bi kontroliralo njegovu vrijednost[13], a to umanjuje mogućnost inducirane nestabilnosti (vidi instability ) od strane centralnih banaka. Kontrolirana inflacija je predprogramirana i u bitcoin, ali je predvidljiva i svima poznata unaprijed.[1]. Takvom se inflacijom ne može manipulirati i time utjecati na preraspodjelu vrijednosti među korisnicima bitcoin-a.
Transakcije se odvijaju direktno, bez entiteta za financijsko posredovanje među korisnicnima. Transakcije obavljene na takav način onemogućuju pošiljatelja da poništi transakciju (i tako ošteti primatelja koji je robu ili uslugu već poslao) i izvede tzv. chargeback prijevaru. Bitcoin aplikacija objavljuje transakciju susjednim čvorovima u P2P mreži, koji prosljeđuju informaciju dalje i tako plaćanje propagira mrežom. Korisnici kolektivno verificiraju ili odbacuju ne važeće transakcije. Transakcije se ne naplaćuju, ali pošiljatelj može samovoljno odrediti iznos pristojbe kako bi ubrzao procesiranje transakcije povišujući joj prioritet u mreži.[1]
Ukupan broj bitcoins-a asimptotski teži ka 21 000 000. Njihov ukupni volumen se povećava geometrijskom progresijom nakon svakih 210.000 novogeneriranih blokova (otprilike svake 4 godine). Do 2013.g. generirat će se polovina, a do 2017.g. bit će generirane tri četvrtine od predviđenih 21 milijun bitcoins-a. Zbog tih svojstava, konačnog volumena i opadajuće opskrbe tržišta novonastalim bitcoins-ima, vrlo je vjerojatno da će doći do deflacije (rasta vrijednosti) bitcoin-a. Kako bi se otklonile praktične poteškoće u vezi cijena zbog efekta deflacije, bitcoin je dizajniran da bude djeljiv do na 8 decimalnih mjesta, ( što daje 2.1 x 1015 minimalnih jedinica valute).[14]
Trenutno su transakcije besplatne jer čvorovi za njihovo procesiranje i upisivanje u blokove bivaju nagrađeni novostvorenim bitcoins-ima (bitcoins-i se generiraju prilikom pronalaska svakog novog bloka). Kada taj poticaj postane premalen, čvorovi će se međusobno početi natjecati da za što manju pristojbu procesiraju pojedinu transakciju.[1]
Mogući ishodi
editPredloženi scenarij neuspjeha za Bitcoin uključuju devalvaciju valute, smanjuje broja korisnika tj. korisničke baze, odnosno slamanje softvera cijele decentrelizirane "bitcoin" P2P mreže pod globalnim pritiskom velikih vlada. Propadanje vrijednosti bitcoin-a moguče je i uslijed pojave drugih sličnih "kripto-valutnih" sustava koji se budu smatrali legitimnijim (npr. potpomognuti velikim tech tvrtkama ili institucijama) ili povoljnijim u odnosu na Bitcoin u sadašnjem obliku (npr. više skalabilne ili korisnički prijateljski). Ali sigurno neće biti moguće "zabraniti sve kripto-valute poput Bitcoin.[15] Tečaj bitcoins-a u odnosu na USD narasla je više nego stostruko (od šest centi na preko 19 dolara) u razdoblju od osam mjeseci od 7. listopada 2010 do 5. lipnja 2011.
Decentralizacija i anonimnost utjelovljena u Bitcoin sustavu dobiva negativnu reakciju američke vlade u pogledu progona tvrtki "digitalnih valuta" kao što su e-gold i Liberty dolar.[16]. U Irish Times istražnom članku Danny O'Brien izvještava "Kad pokažem ljudima ekonomiju Bitcoin-a, oni pitaju: 'Jel to legalno? Jel to prijevara?' I zamislite postoje pravnici i ekonomisti koji se bore kako bi odgovoriti na oba pitanja. Ja sumnjam da ćete biti u mogućnosti dodati zakonodavce na taj popis uskoro.[15]
Tehnologija
editBitcoin je P2P provedba Wei Dai's "b-novac" prijedloga i Nick Szabo "Bitgold" prijedloga. [citat potreban] Načela sustava opisana su u radu Satoshi Nakamoto-a : "2008 Bitcoin whitepaper".[1] Bitcoin se oslanja na prijenos iznosa između javnih računa pomoću digitalnih potpisa (vidi digital signatures). Sve transakcije su javne i pohranjene se u distribuiranoj bazi podataka (vidi distributed database) koja se koristi za potvrdu transakcije i spriječavanje dvostrukog trošenja (vidi double-spending).
Adrsiranje računa
editBitcoin je baziran na kriptografiji javnim ključem (vidi public-key cryptography). Svaka osoba koja sudjeluje u bitcoin mreži ima svoj novčanik koji sadrži proizvoljan broj kriptografskih ključeva. Kriptografski ključevi dolaze u paru (javni i privatni ključ). Javni ključevi (vidi public key) ili bitcoin adrese računa, djeluju kao primaoci odnosno to su krajnje točke za sva plaćanja. Njihovi odgovarajući privatni ključevi koriste se za odobrenje isplata koje odobrava korisnik na svom računu tj. novčaniku. Adrese ne sadrže podatke o vlasniku i općenito su anonimne. [14]. Adrese računa, u ljudski razumljivom obliku, izgledaju kao nizovi slučajnih znakova dužine oko 33 znaka, uvijek počinjući s brojem 1, 175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W. Bitcoin korisnici mogu posjedovati više adresa, i zapravo mogu generirati nove adrese bez ikakvih praktičnih ograničenja. Generiranje nove adrese računa zahtijeva relativno malo računanja, odnosno jednostavno odgovara generiranju novog para javni / privatni ključ, ne zahtijeva nikakav kontakt s bilo kojim drugim čvorom mreže. Izrada para ključeva po principu upotrijebi jednom i baci, pomaže u očuvanju anonimnosti korisnika.
Transakcije
editBitcoins novčići sadrže javni ključ sadašnjeg vlasnika tj. adresu novčanika u kojem se nalaze. Kada korisnik A prenosi neku svotu bitcoins-a korisniku B, tada se A odriče vlasništva na njima. To potvrđuje svojim vlastitim privatnim ključem.[17] Nakon toga uzima se javni ključ korisnika B i postavlja se u novčiće koji se nalaze u toj transakcijii. Potom se ti novčići predaju mreži u odgovarajućoj poruci, transakcija. Čvorišta mreže provjeravaju kriptografski potpis i iznos transakcije prije nego što prihvaćaju poruku. Budući da su transakcije emitirane cijeloj mreži, one su inherentno javne. Za razliku od redovne bankarske transakcije koja čuva privatnosti kupaca, zadržavajući transakcijske zapise privatnim, transakcijska anonimnost ostvarena u Bitcoin ostvarena je na način da se zadržava informacija o vlasništvu nad adresama, dok se istovremeno objavljuju sve transakcije. Kao primjer, ako Alice šalje 123,45 BTC Bob-u, stvoren je javni zapis s adresama koji omogućava svima da se vidi da je poslana svota od 123,45 s jedne adrese na drugu. Međutim, osim Alice ili Boba nitko drugi ne zna tko je vlasnik tih adresa, osim ako to ne kažu Alice ili Bob. Inače jako je teško saznati tko je vlasnik koje adrese, a time i povezati transakcije s vlasnikom računa.
Blok-lanac i Potvrde
editDa bi spriječilo dvostruko trošenje (vidi double-spending), mreža implementira ono što Nakamoto opisuje kao P2P distribuirani timestamp server,[18] koji dodjeljuje sekvencijalno identifikatore za svaku transakciju koja zatim otvrdne na pokušaje izmjena koristeći ideju lanaca s dokazom o radu (prikazano u Bitcoin klijentu kao status potvrde).
Svaki put kad se transakcija napravi, odmah se počinje prikazivati nepotvrđeni status transakcije. Svaka transakcija koja je poslana na ostale čvorove ne postaje potvrđena dok se ne prizna u kolektivno održavanoj timestamped-listi svih poznatih transakcija, tj. u blok-lancu.
Konkretno, svaki čvor koji generira, prikuplja sve nepotvrdene transakcije za koje zna u datoteke poznate pod imenom "blok" [19], koje sadrže sve nedavne transakcije, kao i prethodni blok poznat tom čvor. Zatim pokušava proizvesti kriptografski hash ključ koji odgovara tom bloku s određenim karakteristikama, i to zahtjeva napor. Kada čvor pronađe takvo rješenje, on ga objavljuje ostatku mreže. Čvorovi koji prime novi riješeni blok najprije ga potvrđuju prije prihvačanja i onda dodaju u blok-lanac. Kad je transakcija prvi put potvrđena u bloku, ona poprima status "potvrđeno". Sama transakcija može biti samo jednom potvrđena, ali blokovi su potvrđivani više puta kako vrijeme prolazi i kako lanac raste. Svaki put kad je prvi blok potvrđen od strane susjednih blokova, smatra se da je transakcija dobila novu potvrdu. Poslije 6 potvrda blokova Bitcoin klijent prebacuje status transakcije iz "nepotvrdeno" u "potvdeno" iako je tehnički transakcija potvrdena samom potvrdom prvog bloka. Klijent potvrđuje transakciju tek nakon nekoliko potvrda te transakcije da bi osigurao sigurno djelovanje.
Na kraju, blok-lanac sadrži povijest svih vlasnika tj. kriptografske podatke o svim vlasnicima, koji su posjedovali pojedini bitcoin, od njegova stvoritelja pa do njegova trenutnog vlasnik.[20] Dakle, ako korisnik pokuša ponovno upotrebiti novce koje je već potrošio, mreža će odbiti transakciju.
Cijela povijest transakcija mora biti pohranjena u bazu podataka blok-lanca, koja stalno raste kako se novi zapisi dodaju i nikada ne brišu. Po dizajnu, neki, ali ne i svi korisnici trebaju cijelu bazu podataka za korištenje Bitcoin - neki korisnici trebaju samo dio baze podataka koji se odnosi na kovanice koje posjeduju ili bi mogli dobiti u budućnosti. Trenutno, baza podataka je dovoljno mala (manje od 200 MB, travanj 2011), tako da svi korisnici Bitcoin softvera mogu primiti cijelu bazu podataka preko peer-to-peer mreža nedugo nakon pokretanja softvera prvi put.
Nakamoto smatra, kako baza podataka postaje veća, da će aplikacije za Bitcoin bez cijele baze podataka na svakom korisničkom računalu biti poželjnije. Da biste omogućili tu opciju, Merkle tree se koristi za organiziranje evidencija transakcija na takav način da budući klijent Bitcoin-a lokalno može izbrisati dijelove vlastite baze podataka za koje on zna da nikada neće trebati u budućnosti, kao što je evidencija ranijih transakcija od Bitcoins-a koje su promijenile vlasništvo više puta, dok je čuvanje kriptografskih cjelovitost preostalih podataka u bazi netaknut.
Generiranje
editČvorovi koji pokušavaju generirati blokove zovu se rudari eng."miners". Oni učestalo pokušavaju riješit instancu problema metodom pokušaja i promašaja, a svaki pokušaj ima istu šansu za generiranje točnog riješenja. Vjerovatnost uspjeha za svaki pokušaj je regulirana automatski od strane protokola koji regulira učestalost kreiranja novih blokova. Brzina kojim će neki korisnik riješiti problem bloka ovisi o snazi računjanja koju korisnik unosi u mrežu u odnosu na snagu računanja svih čvorova u mreži. [21] Svi novo stvoreni blokovi moraju biti prepoznati od strane bitcoin čvorova da bi se osigurala potvrda pravila protokola prije nego su oni priznati i dodani u blok-lanac i prosljeđeni dalje.
Pošto rješenja blokova proizlaze iz nezavisnih slučajnih procesa, stopa kreacije blokova Bitcoin mreže može se opisati kao Poissonova raspodjela. Protokol podešava teškoću problema, tako da srednja raspodjela λ = 2.016 blokova u dva tjedna, tako da postoji otprilike deset minuta između stvaranja novih blokova u prosjeku (vrijeme čekanja između Poissonovih distribuiranih događaja je eksponencijalno). Inkrement težine dogoditi će se nakon svakog 2016-tog generiranog blok. Bitcoin mreža stvara i distribuira nove bitcoins-e, oko šest puta po satu nasumce, na softver-u za rudarenje. Svaki korisnik potencijalno može dobiti nove bitcoins-e pokretanjem klijenata ili ekvivalentnog program specijaliziran za opremu koju korisnik posjeduje. Generiranje bitcoins se često spominje kao "mining", izraz analogno gold mining. [1]
Iznos bitcoins-a stvoren po bloku nikada nije više od 50 BTC (uvećano za transakcijske naknade), a nagrade su izprogramirane da se vremenom smanjuju na nulu, tako da nikada neće postajati više od 21 milijuna.[14] As this payout decreases, the motive for users to run block-generating nodes is expected to change to earning transaction fees.
Svi čvorovi u mreži koji generiraju se natječu da budu prvi koji će pronaći rješenje za kriptografski problem koji zasnovan na pokušaju i pogrešci [suđenje [i greške]] sa svojim kandidatima. Kada čvor nađe valjano rješenje, on ga objavljuje na ostatak mreže i tvrdi novu hrpu bitcoins-a koja je generirana kod njega. Čvorovi koji prime rješenje nekog bloka prvo provjeravaju riješenje a nakon toga ga potvrduju i dodaju u lanac. Čvorovi mogu zaposliti svoje CPU procesore s pomoću standardnih klijenta ili koristiti neki drugi softver za iskoristavanje svojih GPU procesore.[14][22][23] Users can also generate bitcoins collectively.[24] Kako pojedini blok biva generiran svakih deset minuta, svaki čvor posebno namješta težinu problema, koji nastoji riješiti, svaka dva tjedna prema svim promjenama kolektivne CPU snage na peer-to-peer mreži.1
Naknada za transakcije
editBudući da čvorovi nemaju obvezu uključiti transakcije u blokove koje oni stvaraju, Bitcoin pošiljatelj dobrovoljno može platiti naknadu za transakcije. Na taj način će ubrzati transakcije i dati poticaj za korisnike da pokreču čvoreve, osobito pošto se iznos nagrade smanjuje tijekom vremena a težina povečava. Čvorovi prikupljaju naknade za transakcije vezane uz sve uključene transakcije.
Alternativne implementacije
editOsim original C++ Bitcoin klijenta, tu je open source implementacija Bitcoin protokola u Javi zovan BitCoinJ, razvijen od strane Mike Hearn, Google inženjer.[25] Alternativni korisnička sučelja uključuju bitcoin-js-remote, JavaScript web korisničko sučelje za Bitcoin novčanike, [26] kao i Spesmilo, PySide sučelje više otvoreno za raznolikost korisnika koji se mogu izvoditi neovisno o vanjskom novčaniku. [27]
Pogledaj dalje
editReference
edit- ^ a b c d e f g Nakamoto, Satoshi (24 May 2009). Bitcoin: A Peer-to-Peer Electronic Cash System (PDF). Retrieved 14 December 2010.
- ^ http://weidai.com/bmoney.txt
- ^ "Current currency & funds code list". SNV-SIX Interbank Clearing. Retrieved 10 February 2010.
- ^ This figure is algorithmically determined as described in Nakamoto's whitepaper. Because by definition, the only spendable Bitcoins in existence are those represented in the block chain database passed around on the peer to peer network, the number is not only easy to determine, but can be quickly determined with precision by all participants.
- ^ a b "Bitcoin Trade". Bitcoin.org. Retrieved 22 December 2010.
- ^ Other ways to donate to the Free Software Foundation
- ^ EFF Bitcoin donation page
- ^ SIAI donation page
- ^ Bitcoin Charts
- ^ Thomas, Keir (10 October 2010). "Could the Wikileaks Scandal Lead to New Virtual Currency?". PC World. Retrieved 10 October 2010.
- ^ bitcoinwatch.com
- ^ bitcoinmonitor.com
- ^ Bitcoin FAQ
- ^ a b c d Nathan Willis (10 November 2010). "Bitcoin: Virtual money created by CPU cycles". LWN.net. Cite error: The named reference "lwn" was defined multiple times with different content (see the help page).
- ^ a b O'Brien, Danny (26 November 2010). "Imagine your computer as a wallet full of Bitcoins". The Irish Times. Retrieved 19 December 2010.
- ^ Herpel, Mark (6 December 2010). "2011 Observations on the Digital Currency Industry". SSRN (Article for DGC magazine Jan2011). Retrieved 19 December 2010.
- ^ https://en.bitcoin.it/wiki/Transactions
- ^ In his white paper, Nakamoto wrote: "we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions."
- ^ "Bitcoin Wiki: Block Hashing Algorithm".
- ^ "Bitcoin Block Explorer".
- ^ Luongo, Thomas (23 July 2010). "The FED's Real Monetary Problem". LewRockwell.com. Retrieved 12 October 2010.
- ^ DiabloMiner, OpenCL miner for BitCoin
- ^ poclbm, Python OpenCL bitcoin miner
- ^ Bitcoin Pooled Mining
- ^ angry tapir, timothy (23 March 2011). "Google Engineer Releases Open Source Bitcoin Client". Slashdot. Retrieved 18 May 2011.
- ^ tcatm. "bitcoin-js-remote". GitHub. Retrieved 29 March 2011.
- ^ Spesmilo, PySide Bitcoin client
Ostali linkovi
edit- Official website
- Bitcoin Forum (official)
- Bitcoin Wiki (official)
- Bitcoin Block Explorer (Used to search transactions inside the Bitcoin block-chain.)
- Unofficial Bitcoin Wiki
- We Use Coins (simple Bitcoin explanation)
- Bitcoin Brasil (Brazilian Bitcoin Portal)