Bitcoin Forum
May 06, 2024, 12:30:02 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Local / Off-Topic (Italiano) / Sono tornato! on: April 10, 2019, 06:34:10 PM
Vi ero mancato ? ...ma va  Wink

Sembra che ora, come mi consigliava duesoldi, valga effettivamente la pena portare avanti la procedura di recupero accounts bloccati \o/.
Non so perché, ma anni addietro venni bloccato dopo un lungo periodo di inattività sul forum e non ci fu nessun modo, né tramite Hostfat né tramite email indicata per contattare Theymos, di sbloccare l'account.

Ora invece sono riuscito a riaverlo in 24 ore, a valle di verifica email.

Mi fa piacere, non penso di aver mai frequentato un forum tanto quanto avevo fatto con questo  Grin

Qualcuno, che magari mi ricorda per gangsta avrà notato che ho fatto ritorno, ormai dopo anni, per presentare spruned, il client \ nodo Bitcoin che sto scrivendo ormai da un po' di tempo.

Il progetto è sempre più solido e vi invito a contattarmi per parteciparvi in qualche modo anche da qui :-)

E vabè, spruned spam a parte, questo era solo un post di saluti  Grin
2  Bitcoin / Project Development / [Project Showcase] spruned - Bitcoin Light Client & Full Node Emulator on: April 07, 2019, 11:47:16 AM
spruned bitcoin client

Links:

- spruned+BTC-RPC-Explorer howto
- spruned @ Github
- spruned documentation @ readthedocs (often out of date, contributors wanted!)
- spruned mailing list \ groups.io


Hi everyone fellow bitcoiners!

spruned is a Bitcoin Light Client that emulates the bitcoind RPC API. I present it here for the first time! The project is on development for a year, with intermittency. Now it's quite mature and stable.

spruned is:

- a bitcoin client
- some sort of pseudo-node
- something that runs on small low-end computers, embedded devices, oversold VPS, cheap boxes, small containers, everywhere :-)

spruned is not:

- a real bitcoin node
- a wallet
- something that participates to keep the network healthy

The spruned behavior is quite different from a full node, and is the following:

- A full node downloads the entire block headers chain, and even spruned does. This is about 150mb on mainnet, 300mb on testnet.
- A full node downloads the entire blockchain. spruned potentially doesn't download even a single block, until needed. When the "getblock" command is used, spruned go on the P2P network to download blocks from the full nodes.
- A full node do relay, spruned doesn't (this is going to change)
- A full node has big reliable indexes of data to provide transactions over the API. spruned doesn't, it uses the electrum network on demand.
- A full node does a lot of math on the data and ensures its coherence (concatenation, cryptography, pow, scripts legalness). spruned does just some checks to ensure the provided transactions actually exists in the blockchain with Merkle proofs.

Given those compromises:

- A full node doesn't run on raspberry with a 2GB SD with the full tx and blocks API. spruned does :-)

Some crypto-checks are done:

- Block Headers with Checkpoints verified since the Genesis Block to the last one useful (1 week behind at the time of any release, new checkpoints will be added from Bitcoin Core).
- PoW verified for each block header. The difficulty is NOT enforced yet.
- Every transaction presented by spruned API is verified with merkle proofs from the electrum servers to the local downloaded headers chain. spruned will never present transactions fake claims about transactions blocks inclusion.

Some non-crypto-check are done:

- Quorum Mechanism. The connections pool must agree when information is out of the checkpoints scope.
- Quorum Based Fee Estimation with the exclusion of the out-of-range sources.
- Cache FIFO with custom size, to avoid downloading data twice.

Sources decentralization:

- No block explorers, centralized sources
- DNS seed bootstrap, peers discovery.

Privacy:

- The privacy model is the same as electrum.
- You can use your own servers disabling the peer discovery for both Electrum and the P2P network.
- Electrum Trust Model merged with data from the P2P network.
- Configurable Tor support: Two modes: only as a proxy, and use peers on clearnet, or --tor, to enforce only hidden services usages, no exit nodes.

Compatibility

- spruned emulates the bitcoind RPC API. this means that a lot of bitcoind-based software could be also backed by spruned. LND, clightning, opentimestamps, btc-rpc-explorer and more, are compatible with spruned. whenever the network subset of the bitcoind RPC API is needed, spruned may help.
- zeromq implemented. same 4 channels as bitcoind emulated, to grant better compatibility also outside the RPC segment.

Dream list (aka Todo):

- exists :-) (brand, website, binaries, installers for windows, APK with Kivy [spruned is Python based])
- decentralize the source of trust :-) [yeah, I said dream list.]. I'd like spruned to keep a subset of the information the electrum servers provide and relay them over a dedicated P2P net. To go on the real Electrum network would be a fallback.
- random P2P blocks "sharding", indexes propagation over Kademlia (maybe, Kademlia, maybe there's something better out there, IPFS, and much more. quite a lot of new stuff popped out since the last time I saw that world. We need something with supernodes)
- uber efficient serialization because...
- requests obfuscation (asks more than you need)
- bitcoind RPC API wallet subset with an HD one :-)

Support spruned!

- You can donate! Even a small one is very appreciated (well, over the dust threshold:P). The Bitcoin donation address (same in the README.md on Github for double checks) is: 3FVGopUDc6tyAP6t4P8f3GkYTJ5JD5tPwV
- Participate! Programmers, designers, people willing to write documentation and guides. Everyone is welcome.
- Use spruned :-) Maybe the best contribute is using it and open issues if new bugs are encountered.
- Request features!
- Star the project on Github. Starred projects mean interest, reputation, and it's easy to find more contributors (and so speed up the development).
- Talk about spruned! Do you like the idea and you see a future for that? Do you like the idea of some sort of a decentralized "layer 2" on top of the P2P to exchange provable information out of the scope of the legacy P2P net? Make some presentation :-)
- Subscribe to the spruned mailing list: groups.io \ mailing list! It's quite dormant, but if people start posting, it will not be dormant anymore :-)

Contacts:

- freenode khs9ne \ mn3mnonic
- twitter khs9ne
- telegram gdassori

3  Local / Progetti / spruned - Bitcoin Light Client & Full Node Emulator on: April 07, 2019, 10:22:58 AM
spruned bitcoin client



Links:

- Guida utilizzo spruned con BTC-RPC-Explorer
- spruned su Github
- documentazione spruned su readthedocs (non sempre aggiornata, servono contributors!)
- spruned mailing list \ groups.io


Ciao!

spruned è un Bitcoin Light Node che emula le API RPC di Bitcoind. Lo presento per la prima volta su bitcointalk! Il progetto è in cantiere da quasi un anno, a intermittenza, e ha raggiunto un buon livello di maturità e stabilità.

spruned è:

- un client bitcoin
- uno pseudonodo
- qualcosa che gira su microcomputers molto poco potenti e VPS oversold senza alcun problema

spruned non è:

- un nodo bitcoin a tutti gli effetti
- un wallet

Il comportamento di spruned differisce da quello di un full node, ed è il seguente:

- Un full node scarica l'intera catena dei block headers, anche spruned, questa operazione consta in circa 150mb download
- Un full node scarica l'intera blockchain, spruned potenzialmente non ne scarica neanche uno, di blocco, finchè non gli sarà detto di farlo. All'utilizzo del comando "getblock" spruned va a prendere il blocco direttamente dagli altri nodi P2P (full nodes)
- Un full node fa relay dei dati che ha in pancia, spruned no, scarica soltanto (questo cambierà)
- Un full node ha in pancia l'intero indice delle transazioni Bitcoin avvenute in Blockchain, spruned no. Queste transazioni vengono scaricare dai servers electrum a richiesta.
- Un full node fa moltissime verifiche di coerenza dei dati (concatenazione, crittografia, pow, formalità degli scripts), spruned ne fa molte meno, lo stretto necessario relativo alle proprie transazioni.

A fronte di questi compromessi:

- Un full node non riesce a girare su un raspberry zero con una SD da 2gb e fornire le API RPC complete, spruned sì, e gli avanza anche un po' di ram :-)

Alcuni controlli crittografici sono effettuati:

- Block Headers con Checkpoints verificati dal Genesis Block all'ultimo blocco utile (144 indietro) dall'ultima release di spruned (nuovi checkpoints ogni release da mainchain Bitcoin Core)
- POW su ogni Block Header verificata contro la difficoltà. Non viene verificata tuttavia che la difficoltà sia adeguata.
- Ogni transazione viene verificata con la merkle proof dai servers Electrum contro gli headers che si hanno in pancia: spruned non presenterà mai transazioni risultati incluse in blockchain che non lo siano davvero. Se dice che una tx è in blockchain, potete fidarvi, il controllo è crittografico.

Alcuni controlli non crittografici sono effettuati:

- Quorum Mechanism, spruned chiede le informazioni vitali (come i block headers fuori dai checkpoints) a diversi nodi e verifica che queste tornino su tutti.
- Quorum Based Fee Estimation con percentile ed esclusione delle fonti inadeguate.
- Cache FIFO dimensionabile da parametro, per evitare di riscaricare 2 volte la stessa informazione a distanza di poco.

Features di decentralizzazione:

- Autoboot via DNS seed, censimento e utilizzo di nuovi peers forniti dai peer connessi.
- No servers centrali

Features di privacy:

- Supporto Tor nativo, con possibilità di restare solo su darknet o usare Tor come proxy e andare su peers clearnet attraverso exit node
- Nessun server centrale utilizzato, il trust model è superiore a quello di Electrum poiché integrato con la rete P2P, il privacy model è analogo a quello di Electrum.

Compatibilità:

- spruned emula la API RPC di bitcoind, questo vuol dire che permette di eseguire molti software che richiedono Bitcoind, come LND, Clightning, OpenTimestamps, BTC-RPC-Explorer e sostanzialmente qualunque software che abbia bisogno del network layer delle API RPC di bitcoind.
- spruned implementa zeromq, emulando gli stessi quattro canali di bitcoind, per garantire ulteriore compatibilità delle API, anche oltre il segmento RPC

Todo parziale (nemmeno in ordine di priorità):

- esistere :-) (immagine, sito web, binari, installers, compatibilità fra diverse piattaforme fra cui anche Android grazie al framework Kivy)
- decentralizzare la rete Electrum (vorrei che spruned tenesse un subset delle informazioni che tengono i servers electrum e le offrisse agli altri spruned interconnessi, andare davvero su Electrum network sarebbe solo un fallback)
- random sharding e relaying di informazioni su rete Kademlia (forse, Kademlia, per ora mi sembra la migliore, ma vedremo, ci sono IPFS e tante novità in giro. serve un sistema con supernodi bitcoind backed)
- relaying P2P (ad oggi spruned scarica soltanto informazioni dalla rete P2P e usa la rete Electrum per inviare nuove transazioni)
- requests obfuscation (chiedere più informazioni di quelle di cui si ha davvero necessità).
- implementare un HD wallet gestibile tramite le API RPC con compatibilità bitcoind

Supportare spruned:

- Potete donare! E' davvero apprezzato anche un piccolo contributo. L'indirizzo di donazioni Bitcoin è 3FVGopUDc6tyAP6t4P8f3GkYTJ5JD5tPwV
- Potete partecipare! Programmatori, webmasters, persone con un buon inglese per scrivere la documentazione.
- Potete usarlo! Ed è forse il contributo maggiore: usatelo e segnalate ogni bug o nuovo use case!
- Potete "starrare" su Github! Siete iscritti? Mettete una stella, i progetti con molte stelle hanno una buona reputazione e più facilità di trovare contributors (e quindi velocizzare lo sviluppo).
- Potete parlarne! Vi piace l'idea di un light node? Vi piace l'idea di creare una layer 2 che decentralizzi la rete Electrum e fornisca un set di informazioni che la rete P2P non può fornire? Frequentate un meetup? Parlate di spruned!
- Potete iscrivervi al groups.io \ mailing list! Se il gruppo prendesse vita potrebbe effettivamente essere fonte di idee.
- Vi piace davvero? Seguitemi su twitter (riferimenti qui sotto) e ritwittate l'hashtag #spruned sotto cui di solito presento le nuove releases Tongue

Sono reperibile su:

- freenode khs9ne \ mn3mnonic
- twitter khs9ne
- telegram gdassori

Provate spruned anche con docker! La Guida utilizzo spruned con BTC-RPC-Explorer vi darà tutti i riferimenti necessari!

P.S.
Lo so, ho un solo post, ma per qualche motivo il mio account da hero member è stato sospeso anni fa, e non è stato *mai* possibile riuscire a contattare Theymos per ripristinarlo.
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!