Projekt MutliWallet

Gaduła
Awatar użytkownika
Posty: 399
Rejestracja: 30 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: /dev/null

Projekt MutliWallet

Postautor: zwierzak » poniedziałek, 22 sierpnia 2011, 00:17

Mój pomysł z ostatnich dni na możliwość modyfikacji źródeł bitcoind, aby stały się one bezpieczniejsze w szczególności dla banków lub giełd Bitcoin.

Przedmowa
Wszystkie takie systemy korzystają z uruchomionego w tle daemona bitcoind. Aby dostać się do portfela, czyli sprawdzić bilans dla danego konta lub dokonania wypłaty łączymy się do niego za pomocą JSON RPC, które jest na sztywno skonfigurowane w pliku. Już w tym momencie w źródłach bitcoind istnieje możliwość zaszyfrowania bazy danych dowolnym hasłem.

Propozycja
Mój pomysł jest prosty. Zmodyfikować sposób dostępu do usługi za pomocą JSON RPC w następujący sposób:
  • nazwa użytkownika definiuje, który plik portfela należy wybrać, a więc tak dla użytkownika „zwierzak” wybierzemy plik: „wallet_zwierzak.dat”
  • hasło dla każdego użytkownika nie może istnieć fizycznie na tej samej maszynie pod żadną postacią, czy to hasha, czy tym bardziej jawnej (i raczej, aby nie istniało w postaci jawnej na żadnej innej maszynie)
  • zakładamy, że każda osoba, która poprawnie potrafi odszyfrować portfel jest jego właścicielem, bo portfel da się odszyfrować tylko wybierając właściwy (dobra nazwa użytkownika) i znając poprawne hasło
Dzięki taką zmianą w bitcoind serwer z monetami może być fizycznie na tym samym serwerze co interfejs WWW. Włamanie na serwer nawet po kradzieży wszystkich plików wallet i dumpie bazy z hashami niewiele da, bo bez haseł nie da się odszyfrować poszczególnych portfeli.

Korzyści
  • każdy użytkownik odpowiada za bezpieczeństwo swojego portfela,
  • bez problemu można umożliwić użytkownikowi zrobienie swoich własnych backupów portfela (dla banku świetnie, bo znika problem mybitcoin, dla giełdy niewykonalne, gdyż jest to zapewnienie transakcji),
  • złodzieje są w stanie ukraść tylko te bitcoiny, które są w stanie odszyfrować,
  • sprawdzenie aktualnego bilansu portfela nie wymaga jego odszyfrowywania, gdyż każdy znający publiczny adres może poznać jego bilans (to siedzi w chainie, a nie portfelu),
  • możliwość udostępnienia użytkownikowi tworzenia tylu adresów w portfelu ile chce (wcześniej było to ograniczone poprzez model bazy danych).
Należy zwrócić uwagę
  • nazwa użytkownika nie może być dowolna nie tylko z takich powodów jakie miał bitchange (polskie litery mieszały transakcjami), ale także dlatego, że będą użytkownicy podający jako nazwę napisy w stylu: „../../../../etc/passwd”. Pewnie będzie musiała się zgodzić z takim regexp: „[A-Za-z0-9\-_]{5,}”
  • należy upewnić się, że hasło użytkownika jest bardzo silne! Na pewno użyteczny będzie w tym celu libcrack. W końcu to hasło jest podstawą bezpieczeństwa całości.
Problemy
W całości projektu na razie znalazłem tylko 2 problemy, z czego jeden jest tak na prawdę problemem związany z funkcjonowaniem protokołu, a drugi związany z łatwością używania:
  • na tym etapie użytkownik nigdy nie może zapomnieć hasła, bo jego strata jest równoznaczna ze stratą dostępu do środków, gdyż nie można odszyfrować portfela. Strata środków użytkownika będzie naszą winą patrząc się na to wszystko ze strony użytkownika, bo to my mamy zapewnić ich bezpieczeństwo,
  • brak działań natychmiastowych (realtime). W wypadku giełdy powstaje dodatkowy problem jak transportować finanse między poszczególnymi użytkownikami? Jako, że są to osobne portfele to nie można robić to jak w wypadku wspólnego portfela, czyli bilans rozliczać tylko na portalu i nie przejmować się faktycznym stanem bitcoinów w poszczególnych portfelach. Należało by w jakiś sposób środki te przetransportować między 2 portfelami w sposób natychmiastowy.
Na razie nie zająłem się jeszcze implementacją tego pomysłu, bo przed wszystkim wolał bym chociaż upewnić się, że możliwe jest ich rozwiązanie lub sprytne ominięcie. Na razie mam już jakieś pomysły na rozwiązanie ich, ale czekam na wasze pomysły, bo mogą być dużo lepsze od osoby, która myśli nad tym tematem już od dłuższego czasu (świeże spojrzenie).

Pod tym postem zarezerwuje jeszcze sobie 2 na wszelki wypadek na przyszłość jak by ten projekt się bardziej rozwinął niż moje dywagacji teraz, więc prosił bym moderatorów o nie kasowanie ich.
Ostatnio zmieniony poniedziałek, 22 sierpnia 2011, 00:19 przez zwierzak, łącznie zmieniany 1 raz.
Projekt MultiWallet
BitcoinNotify.com — czuj się zaproszony: 6wpM4JrFnN

Pomogłem? To postaw mi piwo: 1L7AeokogyuXGmUrx9SRTNhRPzYcmmghdo

Gaduła
Awatar użytkownika
Posty: 399
Rejestracja: 30 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: /dev/null

Re: Projekt MutliWallet

Postautor: zwierzak » poniedziałek, 22 sierpnia 2011, 00:18

Zarezerwowane na przyszłość (patrz post pierwszy)
Projekt MultiWallet
BitcoinNotify.com — czuj się zaproszony: 6wpM4JrFnN

Pomogłem? To postaw mi piwo: 1L7AeokogyuXGmUrx9SRTNhRPzYcmmghdo

Gaduła
Awatar użytkownika
Posty: 399
Rejestracja: 30 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: /dev/null

Re: Projekt MutliWallet

Postautor: zwierzak » poniedziałek, 22 sierpnia 2011, 00:18

Zarezerwowane na przyszłość (patrz post pierwszy)
Projekt MultiWallet
BitcoinNotify.com — czuj się zaproszony: 6wpM4JrFnN

Pomogłem? To postaw mi piwo: 1L7AeokogyuXGmUrx9SRTNhRPzYcmmghdo

SHV
Gaduła
Awatar użytkownika
Posty: 352
Rejestracja: 16 maja 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Projekt MutliWallet

Postautor: SHV » poniedziałek, 22 sierpnia 2011, 01:07

Czy jest albo będzie jakaś dyskusja na bitcointalk? ;)

Rozmowny
Posty: 138
Rejestracja: 21 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Projekt MutliWallet

Postautor: Grevinsky » poniedziałek, 22 sierpnia 2011, 09:21

Nie wiem czy był poruszany problem hasła generalnie względem bitcoin.
Chodzi o to że jeżeli zapomne hasla na konto bankowe dzwonie do supportu. Co jezeli 55 letnia kobieta ustanowi hasło, zapisze je sobie na kartce a następnie kartkę zgubi? Ma wtedy po pieniądzach.

Moim zdaniem to jest problem. I rozumiem ze mozna zapisac haslo w kilu miejscach. Ale ludzie są różni. Często za nich trzeba myśleć, przewidywać.
Sprzedaż btc przy obecnym kursie to prawie darowizna!
Nie musisz już więcej tego robić masz alternatywę:
1HaRgCDGEK4Pky4qXFc1AzAyrm4tEsWHHR

Gaduła
Awatar użytkownika
Posty: 399
Rejestracja: 30 czerwca 2011
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: /dev/null

Re: Projekt MutliWallet

Postautor: zwierzak » poniedziałek, 22 sierpnia 2011, 14:46

@SHV: Pisałem o tym pomyśle na BitcoinTalk, ale zostałem całkowicie zbyty, stwierdzeniem, że pomysł jest całkowicie bezsensowny i raczej należało by myśleć o No Wallet bitcoind. Czyli program, który trzyma chaina i wysyła transakcje, a do którego łącza się klienty i podpisują transakcję. Bezsensowny pomysł bo prowadzący do centralizacji i całkowicie nieprzydatny w wypadku giełd (może banku), a poza tym już realizowany przez BTC-Express dla iOS.

@Grevinsky: A czytałeś to co napisałem? Właśnie problem utraty hasła jest jednym z rzeczy, którą powinien zając się także operator, a nie tylko użytkownik. Musi to działać dokładnie tak samo jak w wypadku prawdziwego banku, czyli zgłasza się klient, potwierdza swoją tożsamość, a ty zmieniasz mu hasło bez resetowania środków. Generowanie nowego portfela dla nowego hasła całkowicie nie wchodzi w grę!

Ta rozmowa nie zajmuje się rozwojem klienta Bitcoin, tylko wersji serwerowej bitcoind! Więc mnie aktualnie nie obchodzi jak zwykły użytkownik zablokuje sobie portfel. Wtedy jest to ewidentnie jego wina. Ale jeżeli użytkownik zapomni hasła do swojego konta w banku to spodziewa się, że instytucja w której ma konto umożliwi mu przypomnieć hasło lub je odzyskać. Inaczej uważa, że wszystkiemu jest winny bank, a nie użytkownik, który stracił hasło.
Projekt MultiWallet
BitcoinNotify.com — czuj się zaproszony: 6wpM4JrFnN

Pomogłem? To postaw mi piwo: 1L7AeokogyuXGmUrx9SRTNhRPzYcmmghdo

Wróć do „Projekty związane z Bitcoin”

Kto jest online

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