Praca z bitcoin deamon

Wygadany
Posty: 582
Rejestracja: 1 września 2014
Reputacja: 49
Reputacja postu: 
0
Napiwki za post: 0 BTC

Praca z bitcoin deamon

Postautor: cryptotrader » piątek, 19 września 2014, 08:46

1. Czy ktoś zorientowany mógłby mi powiedzieć czy np. giełdy przeprowadzając transakcje między swoimi użytkownikami bazują na przesuwaniu BTC między kontami, czy też dokonywaniu przelewów przez sieć Bitcoina?

2. Ktoś może znalazł najlepsze praktyki lub ma własne doświadczenie związane z używaniem w aplikacjach bitcoin deamon tzn. bezpieczną z nim pracą, ale także mechanizmem backupowania operacji w bazach danych.

Weteran
Posty: 3966
Rejestracja: 15 lutego 2014
Reputacja: 428
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: Chancellor » piątek, 19 września 2014, 10:08

Przygniatająca większość giełd pracuje "off-chain", czyli bitki są przemieszczane między wewnętrznymi kontami. Tylko wpłaty i wypłaty BTC z/do giełdy są robione przy pomocy daemona i lądują w blockchainie.

pm7
Weteran
Posty: 7893
Rejestracja: 20 maja 2012
Reputacja: 969
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: pm7 » piątek, 19 września 2014, 10:12

1. Giełdy raczej w ogóle nie informują klienta BTC o zmianach sald kont. Wszystko jest przechowywane w bazach danych, a jedyna komunikacja z BTC to przelewy przychodzące i wychodzące. Warto też wspomnieć, że duże giełdy raczej nie używają zwykłego klienta - Bitcurex używał i po jakimś czasie miał problem ze zbyt dużym portfelem.

2. Ale co chcesz zrobić? Najbezpieczniej jest używać adresów offline, a klientem BTC jedynie sprawdzać saldo tych kont.

Chancellor: Warto wspomnieć, że Bitcoin Core ma funkcję trzymania informacji o saldzie przypisanego do danego konta, które może być niezgodne z realnym saldem - ponoć właśnie dla giełd itd. Ale zdaje się, że raczej się z tego nie korzysta.

Wygadany
Posty: 582
Rejestracja: 1 września 2014
Reputacja: 49
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: cryptotrader » piątek, 19 września 2014, 10:21

Dzięki Panowie za odpowiedź.

@pm7
Piszę aplikację i mam problem w jaki sposób synchronizować zapisy operacji w bazie danych i na bitcoin walletcie. Do tej pory myślałem o bezpośrednim mapowaniu jeden do jednego. Realizuję to jako transakcję w bazie danych, a następnie przesuwam stosowne kwoty pomiędzy kontami użytkowników na bitcoin walletcie, bo jak widać realizowanie tego poprzez sieć nie ma jednak specjalnie sensu.

Jak przeprowadzane jest monitorowanie przychodzących transakcji, tak aby miało to w miarę natychmiastowe odwzorowanie w bazie danych? Planuję zrobić to na node.js, który co pewien czas będzie odpytywało deamona i w przypadku pojawienia się nowych wpłat, bądź wypłat uaktualniało rejestr w bazie. Ogólnie ta kwesta synchronizacji pomiędzy tym co w bazie, a tym co w wallecie sprawia mi nieco problemów.

Gaduła
Posty: 307
Rejestracja: 20 maja 2011
Reputacja: 28
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: doooku » piątek, 19 września 2014, 10:49

Też budowałem aplikację wykorzystującą bitcoin core i zdecydowałem się trzymać salda użytkowników w bazie w oderwaniu od sald w demonie. Na korzyśc takiego rozwiązania przemawiało:
*twórcy bitcoin-core odradzają używania kont użytkownika zdefiniowanych w ramach bitcoin core,
*dobrą praktyką jest dzielenie środków na cold i hot wallety, jeżeli chcesz sychronizować na demonie to wszystko strasznie się komplikuje,
*wydajność,
*bezproblemowe przelewy między userami
*użycie własnej implementacji demona to ogromne ryzyko błędów, pomyśl o tym tylko w ostateczności


Najprościej jest odpytywac demona o listę tranzakcji w stałych odstępach czasu. Oczywiście pojedynczy demon ma określoną wydajnośc, ale przecież możesz skalować rozwiązanie horyzontalnie i użyć wielu demonów, gdzie każdy będzie kontrolował określoną pulę adresów.

Dodatkowo może wykorzystać mechanizm notyfikacji. Po każdej wykrytej tranzakcji demon poinforumuje aplikację o jej zaistnieniu, a ty zapisz w bazie danych odpowiedni rekord. Ze względu na zawodność notyfikacji dodatkowo wypadałoby by wykonać pełne sprawdzenie wyżej wymienioną metodą kilka razy na dobę.
https://github.com/btc4j/btc4j-daemon
Ostatnio zmieniony piątek, 19 września 2014, 10:54 przez doooku, łącznie zmieniany 1 raz.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Praca z bitcoin deamon

Postautor: rav3n_pl » piątek, 19 września 2014, 10:51

Najrpościej to ABE i własna baza do tego.
Z ABE informacja o nowych wpłatach i wykonanych wypłatach (po zatwierdzeniu w bloku).
Privkeye osobno, core tylko jako pożywka dla ABE i do wysyłania transakcji wychodzących.
No i jakaś metoda konsolidacji środków czy też wysyłania ich do chłodni.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Wygadany
Posty: 582
Rejestracja: 1 września 2014
Reputacja: 49
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: cryptotrader » piątek, 19 września 2014, 11:03

Jeszcze raz dzięki. Trochę rozjaśnia mi się temat. Faktycznie operowanie na samej bazie i tam trzymanie rozliczeń oraz ręczna realizacja zleceń wypłacających z zaszyfrowanego walletu to dodatkowe bezpieczeństwo i niewątpliwie sporo mniejszy stopień skomplikowania.

Gaduła
Posty: 307
Rejestracja: 20 maja 2011
Reputacja: 28
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: doooku » piątek, 19 września 2014, 11:32

rav3n_pl pisze:Najrpościej to ABE i własna baza do tego.
Z ABE informacja o nowych wpłatach i wykonanych wypłatach (po zatwierdzeniu w bloku).
Privkeye osobno, core tylko jako pożywka dla ABE i do wysyłania transakcji wychodzących.
No i jakaś metoda konsolidacji środków czy też wysyłania ich do chłodni.
@rav3n_pl nie używałem ABE, ale zadam przy okazji kilika pytań:
- czy ABE wykorzystuje zewnętrznego klienta btc czy ma wbudowanego klienta implementowanego w Pythonie ?
- czy ABE dobrze się skaluje ?
- jaki jest poziom niezawodności ABE ? (empirycznie zauważyłem że na niektórych funkcjach bitcoin-core nie mogę polegać, ponieważ wymagają spełnienia pewnych warunków żeby działać niezawodnie)

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Praca z bitcoin deamon

Postautor: rav3n_pl » piątek, 19 września 2014, 14:31

ABE musi mieć działającego core żeby z niego zaczytywać bloki i zapisywać dane do swojej bazy.
Odpytywanie przez API raczej nie powinno stanowić problemu, ale nie testowałem ani nie szukałem :)
Dużo zależy jak skonfigurujesz.
Niezawodność raczej 100%, przecież chodzą ABE i jeżeli moneta nie jest "dziwna" to nie ma z nimi problemu. Byle miejsca starczyło. No i pierwsze odpalenie ABE na BTC trwa.... i trwa... :P
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Wygadany
Awatar użytkownika
Posty: 699
Rejestracja: 26 czerwca 2013
Reputacja: 1
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Warszawa

Re: Praca z bitcoin deamon

Postautor: lucky777 » piątek, 19 września 2014, 16:16

cryptotrader pisze: Piszę aplikację i mam problem w jaki sposób synchronizować zapisy operacji w bazie danych i na bitcoin walletcie. Do tej pory myślałem o bezpośrednim mapowaniu jeden do jednego. Realizuję to jako transakcję w bazie danych, a następnie przesuwam stosowne kwoty pomiędzy kontami użytkowników na bitcoin walletcie
Nie zapomnij o kwestiach bezpieczeństwa. System jest na tyle bezpieczny na ile bezpieczne jest najsłabsze ogniwo. W tym wypadku najsłabszym ogniwem będzie twoja aplikacja. Przy takim 'bezpośrednim' powiązaniu znajdując lukę w aplikacji będzie można łatwo opróżnić wallet z BTC. Przy przelewach wychodzących na pewno rozważ jakiś cold wallet a nawet fizyczne odseparowanie środowisk.

Początkujący
Posty: 5
Rejestracja: 3 stycznia 2016
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: edi2edi » niedziela, 3 stycznia 2016, 21:14

Cześć! Czy można jakoś skryptowo zakładać portfele ? Tzn chciał bym zakładać zaszyfrowane portfele i dokonywać na nich normalnych operacji, ale z tego co zauważyłem w dokumentacji, daemon bitcona standardowo podłączony jest do jednego portfela. Portfel ten z automatu zakłada się podczas pierwszego odpalenia daemona.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Praca z bitcoin deamon

Postautor: rav3n_pl » niedziela, 3 stycznia 2016, 21:29

Hotswap walleta chyba nadal jest "in progress".
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Początkujący
Posty: 5
Rejestracja: 3 stycznia 2016
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: edi2edi » poniedziałek, 4 stycznia 2016, 06:19

Dzięki. A więc w jaki sposób popularne portale z możliwością zakładania portfeli realizują tego typu czynności? Bardzo czesto chwalą się, że każdy portfel jest szyfrowany. Trzymają wszytko w jednym portfelu ?

Weteran
Posty: 3966
Rejestracja: 15 lutego 2014
Reputacja: 428
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: Chancellor » poniedziałek, 4 stycznia 2016, 08:27

edi2edi pisze:Dzięki. A więc w jaki sposób popularne portale z możliwością zakładania portfeli realizują tego typu czynności? Bardzo czesto chwalą się, że każdy portfel jest szyfrowany. Trzymają wszytko w jednym portfelu ?
Mogą mieć inne oprogramowanie niż standardowy daemon z Core.

Początkujący
Posty: 5
Rejestracja: 3 stycznia 2016
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: edi2edi » poniedziałek, 4 stycznia 2016, 17:45

Są jakieś inne ?

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Praca z bitcoin deamon

Postautor: rav3n_pl » poniedziałek, 4 stycznia 2016, 18:49

Autorskie systemy działające na zasadzie "cienkiego klienta" (SPV), podłączony prze P2P do węzłów i odpytujące o salda/transakcje.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

pm7
Weteran
Posty: 7893
Rejestracja: 20 maja 2012
Reputacja: 969
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: pm7 » wtorek, 5 stycznia 2016, 16:58

Myślisz, że to nie jest bardziej na zasadzie prywatnego block explorera?
SPV jest nieco mniej bezpieczne.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Praca z bitcoin deamon

Postautor: rav3n_pl » środa, 6 stycznia 2016, 22:41

Jak masz podłączony prywatny węzeł to możesz sobie dodatkowo weryfikować. Zależy jak traktujemy potwierdzenia.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Weteran
Posty: 1326
Rejestracja: 11 grudnia 2012
Reputacja: 6
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Praca z bitcoin deamon

Postautor: MusX » czwartek, 7 stycznia 2016, 02:17

jak masz kilka niezaleznych wezlow to mozesz dosc wydajnie zminimalizowac straty przy akceptowaniu 0-conf, czesto wrecz wyeliminowac

Wróć do „Programowanie i wdrożenia”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości