Bitcoin Forum

Local => Italiano (Italian) => Topic started by: bertani on February 17, 2015, 08:48:28 AM



Title: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 08:48:28 AM
E' ormai da qualche mese che sto lavorando a questo progetto, penso sia giunto il momento di mostrarvi una BETA.


Descrizione:

Oraclize é un servizio che permette di collegare transazioni Bitcoin a eventi del mondo reale. Reperisce le informazioni necessarie da motori computazionali di conoscenza (quali Wolfram Alpha) e utilizza i risultati ottenuti per decidere se una determinata transazione può avere effetto o meno. Oraclize permette di trasportare in Bitcoin motori che già agivano come oracoli, ma che nulla avevano a che fare con questo mondo, diventando di fatto un vero e proprio oracolo per come lo si intende nel mondo Bitcoin.

Essendo in grado di riconoscere il linguaggio naturale, Oraclize permette di generare transazioni specificando la condizione in modo intuitivo, senza quindi la necessità di dover imparare sintassi dedicate. Le caratteristiche uniche della blockchain, insieme a Oraclize, permettono di notificare il verificarsi di eventi in modo affidabile, permanente e dimostrabile.

Vale più un bitcoin o un grammo d'oro? L'aereo Delta Airlines 83 é già atterrato all'aereoporto JFK? Chi é l'attuale presidente della Repubblica? Lascia che sia la blockchain a dirtelo.



Ho gia' presentato il progetto a questo evento (https://www.eventbrite.it/e/biglietti-coin-capital-talk-oraclize-15628979699) la settimana scorsa, potete trovare qui (https://www.youtube.com/watch?v=d93u8DZcvhY&list=PLevIHNNFa3SvR9jHmrlAYg-W1a3VEcyLM) un video del talk e qui (https://www.oraclize.it/static/wcap_11_02_2015/) le slide.



Link al sito del servizio: https://www.oraclize.it


Tutte le funzionalita' del sito (anche quelle che saranno a pagamento) durante la BETA sono gratuite, quindi siete invitati ad utilizzarle liberamente.
Sto apportando varie migliorie, l'idea e' quella di lanciare il progetto in modo ufficiale (quindi anche nella sezione internazionale) la settimana prossima  :)


Feedbacks are welcome  ;)


Title: Re: Oraclize.it - smart contracts, today
Post by: acquafredda on February 17, 2015, 09:13:57 AM
Quote
Vale più un bitcoin o un grammo d'oro? L'aereo Delta Airlines 83 é già atterrato all'aereoporto JFK? Chi é l'attuale presidente della Repubblica? Lascia che sia la blockchain a dirtelo.

Perchè affidarmi a questo servizio quando posso usare altri modi per scoprire le risposte a queste domande?


Title: Re: Oraclize.it - smart contracts, today
Post by: FaSan on February 17, 2015, 09:21:44 AM
Ahhh ecco chi è che stà intasando la blockchain !! ti mando il conto del nuovo HDD a casa  :D :D

Bel progetto, in bocca al lupo ;)




FaSan


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 09:23:36 AM
Quote
Vale più un bitcoin o un grammo d'oro? L'aereo Delta Airlines 83 é già atterrato all'aereoporto JFK? Chi é l'attuale presidente della Repubblica? Lascia che sia la blockchain a dirtelo.

Perchè affidarmi a questo servizio quando posso usare altri modi per scoprire le risposte a queste domande?

Perche' questo servizio ti permette di creare transazioni bitcoin che abbiano effetto in automatico al verificarsi di un certo evento (smart-contracts?). La verifica e' periodica e per l'appunto automatica.
E' banale verificare in questo momento quale sia la risposta a una certa domanda, ma per risposte che variano nel tempo e' comodo delegare a un servizio terzo la verifica periodica della condizione.


Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on February 17, 2015, 10:10:33 AM
Che licenza utilizzate per l'applicazione?
Esiste un whitepaper?


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 11:22:58 AM
Che licenza utilizzate per l'applicazione?
Esiste un whitepaper?

Un whitepaper di Oraclize non c'e', ma un buon punto di partenza (per capire di cosa si sta parlando) potrebbe essere questo (https://github.com/orisi/wiki/wiki/Orisi-White-Paper).

Cosa intendi per "che licenza utilizzate per l'applicazione"?


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on February 17, 2015, 01:36:57 PM
Non ho capito una cosa. Se creo una transazione subordinata al verificarsi di un certo evento, per esempio:   

"trasferisci 5 btc dal mio wallet personale su quello dell'exchange xxx se il valore del btc sale sopra un certo livello di prezzo y"

non è necessario che io abbia adesso effettivamente i 5 btc sul mio walllet personale, ma che li abbia nel momento in cui scatterà la condizione "il valore del btc > y" (e solo allora la transazione potrà essere effettivamente eseguita)?


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 01:48:17 PM
Non ho capito una cosa. Se creo una transazione subordinata al verificarsi di un certo evento, per esempio:   

"trasferisci 5 btc dal mio wallet personale su quello dell'exchange xxx se il valore del btc sale sopra un certo livello di prezzo y"

non è necessario che io abbia adesso effettivamente i 5 btc sul mio walllet personale, ma che li abbia nel momento in cui scatterà la condizione "il valore del btc > y" (e solo allora la transazione potrà essere effettivamente eseguita)?


La transazione da "approvare" (con la seconda firma + broadcasting) deve essere decisa prima, quindi i 5 btc vanno messi fin da subito sull'indirizzo di input, visto che durante il procedimento di creazione evento viene preparata una partially-signed tx.
In ogni caso, visto che l'utente possiede 2 chiavi su 3 (e visto che il wallet creato e' un mulsig 2-di-3), se ci ripensa puo' sempre muovere altrove quei fondi senza necessitare di alcun intervento del servizio (che conserva solo una delle 3 chiavi).


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on February 17, 2015, 02:44:16 PM
La transazione da "approvare" (con la seconda firma + broadcasting) deve essere decisa prima, quindi i 5 btc vanno messi fin da subito sull'indirizzo di input, visto che durante il procedimento di creazione evento viene preparata una partially-signed tx.
In ogni caso, visto che l'utente possiede 2 chiavi su 3 (e visto che il wallet creato e' un mulsig 2-di-3), se ci ripensa puo' sempre muovere altrove quei fondi senza necessitare di alcun intervento del servizio (che conserva solo una delle 3 chiavi).

Quindi se cambio idea e sposto i fondi la transazione "partially-signed" viene automaticamente cancellata?


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 02:50:15 PM
La transazione da "approvare" (con la seconda firma + broadcasting) deve essere decisa prima, quindi i 5 btc vanno messi fin da subito sull'indirizzo di input, visto che durante il procedimento di creazione evento viene preparata una partially-signed tx.
In ogni caso, visto che l'utente possiede 2 chiavi su 3 (e visto che il wallet creato e' un mulsig 2-di-3), se ci ripensa puo' sempre muovere altrove quei fondi senza necessitare di alcun intervento del servizio (che conserva solo una delle 3 chiavi).

Quindi se cambio idea e sposto i fondi la transazione "partially-signed" viene automaticamente cancellata?

Esatto, in quanto non e' piu' valida


Title: Re: Oraclize.it - smart contracts, today
Post by: acquafredda on February 17, 2015, 02:54:09 PM
devo studiarmela bene sta cosa.
Per ora non ne vedo le attrattive. Per ora.


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on February 17, 2015, 03:39:30 PM
E' possibile creare una transazione con una condizione più elaborata? Con diverse somme e diversi indirizzi di output a seconda del verificarsi di una condizione?

Ad esempio: se la tale partita finisce con la vittoria della squadra di casa, invia 5  btc all'indirizzo 1,
                   se finisce con un pareggio invia 7 btc all'indirizzo 2,
                   se finisce con una vittoria della squadra ospite invia 10 btc all'indirizzo 3.

Oppure sarebbe necessario impostare 3 transazioni separate con condizione semplice, e in tal caso bisognerebbe avere 5+7+10 btc sull'indirizzo di partenza o è possibile sugli stessi fondi (ad esempio sempre sugli stessi 10 btc) creare più transazioni "partially-signed"? 


Title: Re: Oraclize.it - smart contracts, today
Post by: serendib on February 17, 2015, 03:51:44 PM
oh, ganzo :-)

però:

> sun altitude in padova in angular degrees' greater_than 7

CAMPANILISTI!!




Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 04:05:12 PM
E' possibile creare una transazione con una condizione più elaborata? Con diverse somme e diversi indirizzi di output a seconda del verificarsi di una condizione?

Ad esempio: se la tale partita finisce con la vittoria della squadra di casa, invia 5  btc all'indirizzo 1,
                   se finisce con un pareggio invia 7 btc all'indirizzo 2,
                   se finisce con una vittoria della squadra ospite invia 10 btc all'indirizzo 3.

Oppure sarebbe necessario impostare 3 transazioni separate con condizione semplice, e in tal caso bisognerebbe avere 5+7+10 btc sull'indirizzo di partenza o è possibile sugli stessi fondi (ad esempio sempre sugli stessi 10 btc) creare più transazioni "partially-signed"? 

Si' certo che e' possibile, nel video di presentazione del progetto spiego come, provo a riassumerlo brevemente qui per il caso "2 eventi distinti sullo stesso input" (ma e' piu' semplice a farsi che a dirsi):
- inizi la creazione di un nuovo evento in una ipotetica sessione (tab) che chiamiamo A
- procedi allo step 2 del wizard form, il servizio ha generato client-side 2 chiavi
- inizi in un'altra sessione B un nuovo evento, anche qui vai allo step 2
- copi da B la pubkey1, in A clicchi su "edit" (il pulsante con la matitina) del campo pubkey2 e incolli l'hash copiato in precedenza
- ripeti il passo precedente al contrario: copia da A la pubkey1 e la incolli in pubkey2 di B
- da A e/o B mandi fondi all'indirizzo multisig generato (che a questo punto, se tutto e' corretto, in A e B dovrebbe coincidere)
- procedi ora indipendentemente in A e B creando le 2 diverse transazioni (su 2 eventi distinti, se lo fai sullo stesso avra' effetto solo la transazione dell'evento verificato per primo)


La procedura non e' esattamente intuitiva e funziona solo con un massimo di 2 transazioni distinte, sto lavorando per rendere il tutto molto piu' semplice oltre che generico (N transazioni distinte).

Quello che si sta facendo e', proprio come supponevi tu, quello di creare diverse "partially-signed" txns che spendano gli stessi input. L'unica transazione valida sara' quella che per prima otterra' la seconda firma (+broadcasting).


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on February 17, 2015, 04:18:48 PM

Si' certo che e' possibile, nel video di presentazione del progetto spiego come, provo a riassumerlo brevemente qui per il caso "2 eventi distinti sullo stesso input" (ma e' piu' semplice a farsi che a dirsi):
- inizi la creazione di un nuovo evento in una ipotetica sessione (tab) che chiamiamo A
- procedi allo step 2 del wizard form, il servizio ha generato client-side 2 chiavi
- inizi in un'altra sessione B un nuovo evento, anche qui vai allo step 2
- copi da B la pubkey1, in A clicchi su "edit" (il pulsante con la matitina) del campo pubkey2 e incolli l'hash copiato in precedenza
- ripeti il passo precedente al contrario: copia da A la pubkey1 e la incolli in pubkey2 di B
- da A e/o B mandi fondi all'indirizzo multisig generato (che a questo punto, se tutto e' corretto, in A e B dovrebbe coincidere)
- procedi ora indipendentemente in A e B creando le 2 diverse transazioni (su 2 eventi distinti, se lo fai sullo stesso avra' effetto solo la transazione dell'evento verificato per primo)


La procedura non e' esattamente intuitiva e funziona solo con un massimo di 2 transazioni distinte, sto lavorando per rendere il tutto molto piu' semplice oltre che generico (N transazioni distinte).

Quello che si sta facendo e', proprio come supponevi tu, quello di creare diverse "partially-signed" txns che spendano gli stessi input. L'unica transazione valida sara' quella che per prima otterra' la seconda firma (+broadcasting).

Ok così è chiaro, grazie.


Title: Re: Oraclize.it - smart contracts, today
Post by: Stemby on February 17, 2015, 04:31:43 PM
Reperisce le informazioni necessarie da motori computazionali di conoscenza (quali Wolfram Alpha)
Da prove veloci Wolfram Alpha non mi sembra sufficientemente solido. Ad esempio, ancora ad oggi, dà come risultato di "President of Italy" Pietro Grasso, quando invece Mattarella ha giurato il 3 febbraio. Non esattamente realtime, direi...

[OT]
Quote
qui (https://www.oraclize.it/static/wcap_11_02_2015/) le slide.
Impress.js :) Hai usato qualche programma per realizzare la presentazione?
[/OT]

Buon lavoro, in ogni caso: l'idea è molto intrigante e può davvero risultare un mattone importante per diverse applicazioni.

Ciao!


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 04:35:59 PM
Reperisce le informazioni necessarie da motori computazionali di conoscenza (quali Wolfram Alpha)
Da prove veloci Wolfram Alpha non mi sembra sufficientemente solido. Ad esempio, ancora ad oggi, dà come risultato di "President of Italy" Pietro Grasso, quando invece Mattarella ha giurato il 3 febbraio. Non esattamente realtime, direi...

Certo, come ho indicato nelle FAQ del sito Wolfram non da sempre risposte "real-time", in ogni caso Wolfram e' solo una delle varie sorgenti di conoscenza che mettero' a disposizione (ed e' l'utente a scegliere quale utilizzare in base al tipo di evento che vuole verificare): gia' dalla settimana prossima saran disponibili 2 nuove sorgenti  :)


[OT]
Quote
qui (https://www.oraclize.it/static/wcap_11_02_2015/) le slide.
Impress.js :) Hai usato qualche programma per realizzare la presentazione?
[/OT]

http://strut.io/editor/  ;)


Title: Re: Oraclize.it - smart contracts, today
Post by: Stemby on February 17, 2015, 04:47:01 PM
Certo, come ho indicato nelle FAQ del sito Wolfram non da sempre risposte "real-time"
Avevo appunto letto le FAQ:
Quote
not exactly real-time, but we can say it's almost there.
Insomma... Con 24 ore di ritardo sarei forse ancora d'accordo. Ma qui sono passate 2 settimane!

Quote
in ogni caso Wolfram e' solo una delle varie sorgenti di conoscenza che mettero' a disposizione (ed e' l'utente a scegliere quale utilizzare in base al tipo di evento che vuole verificare): gia' dalla settimana prossima saran disponibili 2 nuove sorgenti  :)
Fantastico! Anche usarne più di una contemporaneamente (considerando vera la risposta della maggioranza) potrebbe essere una funzionalità interessante.


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 04:52:48 PM
Certo, come ho indicato nelle FAQ del sito Wolfram non da sempre risposte "real-time"
Avevo appunto letto le FAQ:
Quote
not exactly real-time, but we can say it's almost there.
Insomma... Con 24 ore di ritardo sarei forse ancora d'accordo. Ma qui sono passate 2 settimane!

Si' in questo caso hai perfettamente ragione, dipende da query a query.


Quote
in ogni caso Wolfram e' solo una delle varie sorgenti di conoscenza che mettero' a disposizione (ed e' l'utente a scegliere quale utilizzare in base al tipo di evento che vuole verificare): gia' dalla settimana prossima saran disponibili 2 nuove sorgenti  :)
Fantastico! Anche usarne più di una contemporaneamente (considerando vera la risposta della maggioranza) potrebbe essere una funzionalità interessante.

Le prossime 2 sorgenti serviranno ad ampliare le possibili domande alle quali Oraclize sa rispondere, ma non appena ci saranno piu' sorgenti in grado di rispondere alle stesse domande.. sicuramente aggiungeremo quella funzione  ;)


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 17, 2015, 08:56:17 PM
Domani sera alle ~8:30pm faro' una breve presentazione di Oraclize al Meetup Milanese (https://bitcointalk.org/index.php?topic=949929.0)  :)


Title: Re: Oraclize.it - smart contracts, today
Post by: gbianchi on February 17, 2015, 10:55:04 PM
mi perdonerete spero per questa critica e mi auguro che saprete coglierne lo spirito non distruttivo (sopratutto bertani):

da un punto di vista intellettuale lo trovo interessante, affascinante e geniale.

Da un punto di vista pratico lo trovo totalmente fuori dal contesto... e' come
spiegare le fantastiche funzioni di un I-phone ad uno che sta morendo di fame.

In pratica, ha senso (e molto) in un contesto di ricerca. Ne ha molto meno nel contesto
delle problematiche quotidiane di "crescita" che sta vivendo l'ecosistema bitcoin.



Title: Re: Oraclize.it - smart contracts, today
Post by: HostFat on February 17, 2015, 11:10:06 PM
@gbianchi
Hai letto questo articolo? :)
http://www.rischiocalcolato.it/2014/11/moneta-digitale-bitcoin-gli-oracoli.html

Credo che potrebbe ampliare la tua visione su questo servizio (che forse giusto non è ancora abbastanza userfriendly)


Title: Re: Oraclize.it - smart contracts, today
Post by: gbianchi on February 17, 2015, 11:19:25 PM
@gbianchi
Hai letto questo articolo? :)
http://www.rischiocalcolato.it/2014/11/moneta-digitale-bitcoin-gli-oracoli.html

Credo che potrebbe ampliare la tua visione su questo servizio (che forse giusto non è ancora abbastanza userfriendly)

si si mi sono letto tutto... e confermo l'enorme interesse dal punto di vista intellettuale,
praticamente una figata pazzesca.

pero' ritengo che c'e' una marea di gente che "sbarca" nel mondo bitcoin
con una mentalita' totalmente forgiata da decenni di assuefazione al mondo della
finanza tradizionale.

metaforicamente me li immagino davvero come una sorta di esodo coi barconi....

e a questi gli andiamo a proporre e/o spiegare gli "oracoli della blockchain" ?

ribadisco che non vuol essere una critica sterile, ma uno spunto di riflessione per
noi che siamo quelli che i "migranti" dovremmo accoglierli.







Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on February 17, 2015, 11:29:03 PM
Quote
Vale più un bitcoin o un grammo d'oro? L'aereo Delta Airlines 83 é già atterrato all'aereoporto JFK? Chi é l'attuale presidente della Repubblica? Lascia che sia la blockchain a dirtelo.

Perchè affidarmi a questo servizio quando posso usare altri modi per scoprire le risposte a queste domande?
La domanda potrebbe essere ... sono gia' morto? E come la controlli? Secondo me, aparte la toccata di maroni obbligatoria, sembra interessante il concetto di oracolo e questo servizio sembra interessante, lo tradurrei in oracolizza e broadcasta, operazioni che in effetti vanno fatte, esistono prodotti simili o sei il primo?


Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on February 17, 2015, 11:38:43 PM
(...)
Da un punto di vista pratico lo trovo totalmente fuori dal contesto... e' come
spiegare le fantastiche funzioni di un I-phone ad uno che sta morendo di fame.
(...)
Gli installi I-fame e gli risolvi il problema, capisce subito ...
A parte le battute ritengo che sia corretto pensare che spiegare direttamente gli oracoli alla casalinga sia improponibile ma, una volta diffusa l'idea dei BTC, credo si svilupperanno dei consulenti che sapranno consigliare gli utenti. E' in quel settore che credo, e spero, molti di noi troveranno le risorse per vivere ...
pertanto, son fiero di essere presente al varo di idee come queste anche se son conscio che all'utente potenziale non possono interessare in quanto "non ancora adatte alla sua matrice cognitiva" (frase in voga nel mondo della scuola ...) appena si diffonderà il BTC potrebbe presentare le stesse dinamiche già viste per TCP/IP e internet stessa.


Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on February 17, 2015, 11:44:08 PM
(...)
Cosa intendi per "che licenza utilizzate per l'applicazione"?
Il codice sotto oracolize, quello che poi genera la transazione e controlla l'oracolo e broadcasta ecc. ecc. che licenza usa.
Vedendo la presentazione mi e' venuto in mentre che potresti usare oracolize per gestire i resti dei controlli non effettuati o per chiedere altri fondi in caso in cui i controlli debbano essere piu' di quelli prepagati.
Domanda: ma il costo per il check ad 1 minuto è un costo che serve per coprire i tuoi costi o devi pagare a tua volta il servizio all'oracolo?


Title: Re: Oraclize.it - smart contracts, today
Post by: gbianchi on February 17, 2015, 11:54:17 PM
(...)
Da un punto di vista pratico lo trovo totalmente fuori dal contesto... e' come
spiegare le fantastiche funzioni di un I-phone ad uno che sta morendo di fame.
(...)
Gli installi I-fame e gli risolvi il problema, capisce subito ...
A parte le battute ritengo che sia corretto pensare che spiegare direttamente gli oracoli alla casalinga sia improponibile ma, una volta diffusa l'idea dei BTC, credo si svilupperanno dei consulenti che sapranno consigliare gli utenti. E' in quel settore che credo, e spero, molti di noi troveranno le risorse per vivere ...
pertanto, son fiero di essere presente al varo di idee come queste anche se son conscio che all'utente potenziale non possono interessare in quanto "non ancora adatte alla sua matrice cognitiva" (frase in voga nel mondo della scuola ...) appena si diffonderà il BTC potrebbe presentare le stesse dinamiche già viste per TCP/IP e internet stessa.

la chiave sta proprio in "una volta diffusa l'idea dei BTC"
immaginati questi poveri "migranti coi barconi" per rimanere nella metafora,
arrivano qui e vengono incu...ti a sangue dagli exchange che si inventano il furto quotidiano dei cold wallet,
vengono fregati dai siti vari di ponzi, vengono ammaliati da miriadi di personaggi che gli
ripropongono schemi finanziariamente noti (e quindi facilmente vendibili) tipo ETF e simili,
assaliti dalla marea dei parassiti dell'analisi tecnica e speculatori.... magari gia' che ci sono anche
hackerati da uno sfigato che passava per caso sul loro PC.

ora dimmi, cosa ci dovrebbero trovare di cosi' affascinante in questo mondo per diffonderne l'idea ?
il fatto che se sopravvivono potranno godere degli oracoli della blockchain ?

Io adoro le idee alla base dell'ecosistema Bitcoin, ma non perdiamo di vista
l'obiettivo: portare qui il maggior numero di utilizzatori possibili.





Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on February 18, 2015, 12:09:23 AM
(...)
l'obiettivo: portare qui il maggior numero di utilizzatori possibili.
Aggiungere servizi, a mio avviso, significa incentivarne l'utilizzo.
Il nonnino che vuole lasciare al nipote bypassando il figlio puo' farlo grazie a questo sistema, potranno nascere servizi che ancora io non immagino sempre grazie a questo sistema, se devo dirla tutta credo che valgano di piu' le informazioni che si possono memorizzare nella blockchain del bitcoin stesso.


Title: Re: Oraclize.it - smart contracts, today
Post by: gbianchi on February 18, 2015, 12:16:14 AM
non volevo aprire una polemica, solo lasciare uno spunto di riflessione:

I tempi sono maturi per serivi avanzati come gli oracoli, o sarebbe meglio
per ora focalizzarci su servizi molto piu' basilari ma indispensabili che ancora mancano ?
(un esempio per tutti: se ne parla tanto, ma un exchange p2p davvero utilizzabile ancora non c'e')



Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on February 18, 2015, 12:39:30 AM
non volevo aprire una polemica, solo lasciare uno spunto di riflessione:
Idem, solo spunti, no problem. Parlando nascono nuove idee ...
Quote
I tempi sono maturi per serivi avanzati come gli oracoli, o sarebbe meglio
per ora focalizzarci su servizi molto piu' basilari ma indispensabili che ancora mancano ?
(un esempio per tutti: se ne parla tanto, ma un exchange p2p davvero utilizzabile ancora non c'e')
Ad esempio, a me, un exchange interessa meno di tutte le possibilità che possono nascere da un sistema del genere, secondo me un exchange con fiat ha bisogno di un oracolo pertanto questo genere di servizi potrebbe essere propedeutico proprio alla realizzazione di un exchange p2p.
Se ci pensi bene i matematici fanno questo: studiano cose inapplicabili  che un domani verranno utilizzate per risolvere problemi pratici e gli stesi matematici che li hanno studiati non potevano neanche immaginare. BTC stesso è stato realizzato grazie a strumenti che nel momento della loro invenzione non si poteva immaginare sarebbero serviti a creare una moneta come BTC. Sento che gli oracoli saranno la killer application anche per gli exchange che ora conosciamo.


Title: Re: Oraclize.it - smart contracts, today
Post by: gbianchi on February 18, 2015, 12:50:43 AM
Sento che gli oracoli saranno la killer application anche per gli exchange che ora conosciamo.

Ne sarei veramente felice :)



Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on February 18, 2015, 12:59:55 AM
Sento che gli oracoli saranno la killer application anche per gli exchange che ora conosciamo.

Ne sarei veramente felice :)


Senza oracolo come si potrebbe fare a garantire che lo scambio fiat sia effettivamente avvenuto? A parte che essendo la valuta fiat reversibile mi sa che devono trovarsi una bella strategia per proteggere il venditore di BTC dalle truffe :-( ... ma forse diventiamo OT qui'...


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 19, 2015, 02:13:28 PM
si si mi sono letto tutto... e confermo l'enorme interesse dal punto di vista intellettuale,
praticamente una figata pazzesca.

pero' ritengo che c'e' una marea di gente che "sbarca" nel mondo bitcoin
con una mentalita' totalmente forgiata da decenni di assuefazione al mondo della
finanza tradizionale.

metaforicamente me li immagino davvero come una sorta di esodo coi barconi....

e a questi gli andiamo a proporre e/o spiegare gli "oracoli della blockchain" ?

ribadisco che non vuol essere una critica sterile, ma uno spunto di riflessione per
noi che siamo quelli che i "migranti" dovremmo accoglierli.

Le implicazioni di un servizio del genere per come la vedo io sono tutt'altro che un "esercizio di stile".
Il target di Oraclize di certo non e' l'utente appena "sbarcato" nel mondo bitcoin, quanto piuttosto il bitcoiner esperto. L'idea e' quella di fornire una base sulla quale poter costruire altri servizi di varia natura; io penso che l'utente nuovo tendera' piu' ad utilizzare questi ipotetici servizi terzi (che si basano "under the hood" su Oraclize) che Oraclize direttamente!


Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on February 19, 2015, 05:01:35 PM
(...)
Cosa intendi per "che licenza utilizzate per l'applicazione"?
Il codice sotto oracolize, quello che poi genera la transazione e controlla l'oracolo e broadcasta ecc. ecc. che licenza usa.
Vedendo la presentazione mi e' venuto in mentre che potresti usare oracolize per gestire i resti dei controlli non effettuati o per chiedere altri fondi in caso in cui i controlli debbano essere piu' di quelli prepagati.
Domanda: ma il costo per il check ad 1 minuto è un costo che serve per coprire i tuoi costi o devi pagare a tua volta il servizio all'oracolo?

UP


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on February 19, 2015, 05:07:48 PM
(...)
Cosa intendi per "che licenza utilizzate per l'applicazione"?
Il codice sotto oracolize, quello che poi genera la transazione e controlla l'oracolo e broadcasta ecc. ecc. che licenza usa.
Vedendo la presentazione mi e' venuto in mentre che potresti usare oracolize per gestire i resti dei controlli non effettuati o per chiedere altri fondi in caso in cui i controlli debbano essere piu' di quelli prepagati.
Domanda: ma il costo per il check ad 1 minuto è un costo che serve per coprire i tuoi costi o devi pagare a tua volta il servizio all'oracolo?

UP

Il codice lato backend e' proprietario, quindi altri oracoli che vorranno rispondere alle stesse domande per cooperare con Oraclize dovranno avere una loro implementazione..
Al momento non c'e' alcuna gestione del resto (cioe' per i bitcoin pagati in precedenza per eventuali check non piu' necessari), sto ragionando sulla cosa, ma per ora restano al servizio.
Il costo per il check serve sia a coprire i costi (le API di Wolfram, per esempio, sono a pagamento) che a sostenere il business (modello di pricing freemium).


Title: Re: Oraclize.it - smart contracts, today
Post by: chritchens on February 21, 2015, 04:11:46 PM
Grande Bertani, servizio intuitivo e utilissimo. Attendo un API ;)


Title: Re: Oraclize.it - smart contracts, today
Post by: Randagio on February 23, 2015, 01:49:51 AM
step 1, nel campo dell' oracolo, oltre a WolframAlpha c'e' l' opzione URL. Non significa nulla o avrei potuto metterci un qualsiasi url (json?) e avrebbe utilizzato quello come fonte?

aggiungerai la possibilita' di impostare piu' condizioni o pensi che renderebbe l' interfaccia ancora piu' complessa di quello che e'? tipo greater_then but less_then o greater_then and contains ecc

I 100 giorni (100 checks, every day) sono un limite che reputi definitivo o solo dovuto alla beta?

E' impossibile copiare l' indirizzo della donazione, me lo son dovuto copiare a mano, se ho sbagliato peggio per te visto che l' ho utilizzato come output dell transazione :P

Molto interessante comunque, aspettiamo con ansia i nuovi oracoli e Oraclize cryptographic proof

E' possibile creare una transazione con una condizione più elaborata? ...
...
- da A e/o B mandi fondi all'indirizzo multisig generato (che a questo punto, se tutto e' corretto, in A e B dovrebbe coincidere)
- procedi ora indipendentemente in A e B creando le 2 diverse transazioni (su 2 eventi distinti, se lo fai sullo stesso avra' effetto solo la transazione dell'evento verificato per primo)

E' effettivamente cosi, peccato che il video di coin capital si interrompa proprio mentre rispondi a questa domanda.


Title: Re: Oraclize.it - smart contracts, today
Post by: mitus-2 on February 23, 2015, 08:04:21 PM
non volevo aprire una polemica, solo lasciare uno spunto di riflessione:

I tempi sono maturi per serivi avanzati come gli oracoli, o sarebbe meglio
per ora focalizzarci su servizi molto piu' basilari ma indispensabili che ancora mancano ?
(un esempio per tutti: se ne parla tanto, ma un exchange p2p davvero utilizzabile ancora non c'e')




per me sviluppare gli smart contract è necessario prima che lo facciano altre altcoin come ethereum rubando la scena a bitcoin.
credo che portare avanti contemporaneamente più progetti sia un' ottima idea, e se tra questi progetti ce ne sono alcuni per utenti avanzati questo non sia un problema per utenti noob.
detto questo sicuramente un'attenzione maggiore è da dedicare anche (e soprattutto) agli exchange p2p, ma intanto è bene che nella community nascano anche idee per gli smart contracts


Title: Re: Oraclize.it - smart contracts, today
Post by: Randagio on March 01, 2015, 02:31:03 PM
HTTP GET con regex_match apre gia' molte possibilita'.
GET JSON insieme allla possibilita' di impostare piu' condizioni le renderebbe infinite.
Buono sviluppo.


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on March 01, 2015, 04:37:33 PM
HTTP GET con regex_match apre gia' molte possibilita'.
GET JSON insieme allla possibilita' di impostare piu' condizioni le renderebbe infinite.
Buono sviluppo.


GET JSON si puo' fare con il source URL utilizzando una formula che segua il formato "json(url).path" invece che "url".

Esempio della formula json-enabled con data-source "URL":
Code:
json(https://www.therocktrading.com/api/ticker/BTCEUR).result.0.bid






Title: Re: Oraclize.it - smart contracts, today
Post by: Randagio on March 01, 2015, 05:23:47 PM
 :o sei un grande!
Adesso mi mancano solo le condizioni multiple da applicare allo stesso url json e poi sono a posto  ;D


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on March 06, 2015, 03:54:39 PM
Adesso mi mancano solo le condizioni multiple da applicare allo stesso url json e poi sono a posto  ;D

http://oi61.tinypic.com/5n0l20.jpg


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on March 30, 2015, 10:35:04 AM
La piattaforma e' stata lanciata ufficialmente oggi!

L'altra news e' che il 24 Marzo scorso ho costituito Oraclize srl (con l'assistenza di Stefano Capaccioli e alla presenza del notaio Giacomo Pieraccini), la prima società italiana (e seconda in Europa) con conferimento di capitale sociale in bitcoin (come visionabile dalla transazione con id 756ca57287aadcb2d332b45e27035a41d52aa802757f0e1210482208a39297c6 (https://insight.bitpay.com/tx/756ca57287aadcb2d332b45e27035a41d52aa802757f0e1210482208a39297c6), inclusa nel blocco 349007).

  • Atto costitutivo (http://www.capaccioli.net/bitcoin/2.%20atto%20costitutivo.pdf)
  • Perizia di stima dei Bitcoin versati (http://www.capaccioli.net/bitcoin/1.%20perizia%20di%20stima.pdf)


Title: Re: Oraclize.it - smart contracts, today
Post by: TheBomber999 on March 30, 2015, 10:59:41 AM
la prima società italiana (e seconda in Europa) con conferimento di capitale sociale in bitcoin

Complimenti per la scelta coraggiosa e rivoluzionaria.
Da ora in avanti quindi l'agenzia delle entrate dovrà forzatamente prendere dimestichezza coi bitcoin.


Title: Re: Oraclize.it - smart contracts, today
Post by: Randagio on March 30, 2015, 11:23:42 AM
Complimenti Bertani!

E grazie per aver esaudito tutte le mie richieste. Ci sto ancora giocando, anche se non sembra.
A beve ti scrivo per alcune info sulle eventuali API, per una piccola idea che ho in mente.


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on April 01, 2015, 12:28:54 AM
I contratti creati su Oraclize sono visibili solo da chi li ha creati? Osservo che in "check status" si vede solo se le condizioni sono verificate o no, ma non si vedono le altre caratteristiche della transazione: indirizzi di input, indirizzi di output, quantità inviate.

Stavo pensando a un caso di questo tipo: voglio acquistare una quantità importante di btc da un mio venditore di fiducia del forum. Data l'entità della transazione (mettiamo 4000 euro) pago tramite bonifico. Il venditore ovviamente aspetterà gli 1-2 giorni canonici necessari per l'accredito prima di inviarmi i btc.
Io mi fido del fatto che sia una persona onesta (e che quindi non mi voglia imbrogliare) ma non posso/voglio fidarmi di qualcosa che nessun essere umano può garantire: del fatto che tra 2 giorni sarà ancora vivo/in grado (fisicamente/mentalmente) di adempiere alla sua promessa. So che può sembrare un caso molto improbabile, ma quando si tratta con un singolo individuo piuttosto che con un gruppo di persone, se succede qualcosa a questo chi può rispondere per lui? Soprattutto quando si parla di cifre così elevate, le precauzioni non sono mai troppe.

Allora le soluzioni sarebbero:

1) il venditore immediatamente mi invia una transazione firmata con nlocktime e sequence number modificati, in modo che qualunque cosa succeda tra 5 giorni io entrerò sicuramente in possesso dei miei btc; fino ad allora lui potrà spendere gli input della transazione che mi ha inviato (di fatto annullandola) se non riceve in tempo i soldi del mio bonifico
2) creare un contratto su Oraclize che faccia la stessa cosa

Nel caso 1) vedo due problemi: intervenire manualmente su una transazione non è semplicissimo per il venditore (è facile commettere errori) e soprattutto non è facile neanche per me cliente che ricevo la transazione verificare subito che sia tutto in ordine (non è banale leggere una raw transaction); inoltre a tempo debito devo trasmettere io la transazione alla rete (anche se questa è la parte più facile)
Nel caso 2) per il venditore c'è il vantaggio della costruzione guidata e quindi meno soggetta a errori della transazione, per me cliente c'è il vantaggio che è più facile leggere questo tipo di contratto e che non devo trasmettere io la transazione alla rete. Mi manca però da capire in che modo il venditore può mostrarmi questa transazione dal momento che "fisicamente" non possiede lui il file.

In sostanza ripeto la domanda: è possibile per il venditore creare un contratto e renderlo visibile a un proprio cliente nella forma chiara con cui compare nel sito?

EDIT:
Ho provato a creare un contratto su Oraclize mettendomi nella parte del venditore.
Contract ID dfaf064d71c994d6a8b556baab9754f6
Se inserisco questo ID visualizzo correttamente la condizione "[WolframAlpha] 'time in Rom' > 12:00" che al momento è falsa.
Se cambio idea posso rimuovere i fondi dall'indirizzo multisig fornitomi da Oraclize andando in "Tools -> Funds Recovery".
Durante la procedura di creazione del contratto è possibile visualizzare e copiare la transazione in formato hex, quindi è possibile eventualmente farla vedere a un'altra persona. L'unico modo che ho trovato però per visualizzarne i dettagli è inserire la transazione qui (https://blockchain.info/it/decode-tx).

In pratica non mi sembra che sia possibile visualizzare in formato "più chiaro" possibile l'intero contratto su Oraclize, ma solo la sua condizione.

EDIT2: alle 12:06 è stato fatto un controllo e la domanda [WolframAlpha] 'time in Rom' dà correttamente come risposta "12:06:11 pm CEST | Wednesday, April 1, 2015" ma risulta ancora falsa la condizione espressa dalla disuguaglianza 'time in Rom > 12:00' (no match). Ho fatto qualche errore?  ???


EDIT3: ogni volta che accedo al sito o cambio pagina mi esce questo fastidioso messaggio

Ci si sta autenticando sul sito “www.oraclize.it” con nome utente “oraclized” ma il sito non richiede autenticazione.
Potrebbe trattarsi di un tentativo di truffa.
“www.oraclize.it” è il sito che si desidera visitare?


Mi pare che succeda solo quando ci arrivo tramite il link del primo post.

EDIT4: al momento (ore 18:00) il sito è down, vediamo se il nuovo contratto che ho fatto (bitcoin block height > 350250) funziona in ogni caso. Ha funzionato!!  :)



Title: Re: Oraclize.it - smart contracts, today
Post by: HostFat on April 01, 2015, 09:45:16 AM
Ho cambiato il link al primo post togliendo i dati di accesso ;)


Title: Re: Oraclize.it - smart contracts, today
Post by: alch1mista on April 01, 2015, 12:03:41 PM
Figata, non ci credevo finché non l'ho visto che sarebbe esistita una società con capitale sociale interamente in bitcoin.


Title: Re: Oraclize.it - smart contracts, today
Post by: jkoin on April 01, 2015, 12:13:31 PM
Ma un possibile use-case potrebbe essere un sito di scommesse automatico su eventi sportivi?


Title: Re: Oraclize.it - smart contracts, today
Post by: acquafredda on April 02, 2015, 07:34:57 PM
Figata, non ci credevo finché non l'ho visto che sarebbe esistita una società con capitale sociale interamente in bitcoin.
In Italia poi!


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on April 02, 2015, 10:29:56 PM
I contratti creati su Oraclize sono visibili solo da chi li ha creati? Osservo che in "check status" si vede solo se le condizioni sono verificate o no, ma non si vedono le altre caratteristiche della transazione: indirizzi di input, indirizzi di output, quantità inviate.

I contratti creati su Oraclize tipicamente sono "pubblici", questo significa che le condizioni verificate sono visibili pubblicamente da qui (https://www.oraclize.it/contracts/checkstatus). I contratti creati come "privati" non risultano invece in quella lista e il loro stato e' visibile quindi solo dalla pagina privata del contratto (conoscendone l'ID quindi), esempio: https://www.oraclize.it/contracts/checkstatus/dfaf064d71c994d6a8b556baabf6d025 .



Stavo pensando a un caso di questo tipo: voglio acquistare una quantità importante di btc da un mio venditore di fiducia del forum. Data l'entità della transazione (mettiamo 4000 euro) pago tramite bonifico. Il venditore ovviamente aspetterà gli 1-2 giorni canonici necessari per l'accredito prima di inviarmi i btc.
Io mi fido del fatto che sia una persona onesta (e che quindi non mi voglia imbrogliare) ma non posso/voglio fidarmi di qualcosa che nessun essere umano può garantire: del fatto che tra 2 giorni sarà ancora vivo/in grado (fisicamente/mentalmente) di adempiere alla sua promessa. So che può sembrare un caso molto improbabile, ma quando si tratta con un singolo individuo piuttosto che con un gruppo di persone, se succede qualcosa a questo chi può rispondere per lui? Soprattutto quando si parla di cifre così elevate, le precauzioni non sono mai troppe.

Allora le soluzioni sarebbero:

1) il venditore immediatamente mi invia una transazione firmata con nlocktime e sequence number modificati, in modo che qualunque cosa succeda tra 5 giorni io entrerò sicuramente in possesso dei miei btc; fino ad allora lui potrà spendere gli input della transazione che mi ha inviato (di fatto annullandola) se non riceve in tempo i soldi del mio bonifico
2) creare un contratto su Oraclize che faccia la stessa cosa

Nel caso 1) vedo due problemi: intervenire manualmente su una transazione non è semplicissimo per il venditore (è facile commettere errori) e soprattutto non è facile neanche per me cliente che ricevo la transazione verificare subito che sia tutto in ordine (non è banale leggere una raw transaction); inoltre a tempo debito devo trasmettere io la transazione alla rete (anche se questa è la parte più facile)
Nel caso 2) per il venditore c'è il vantaggio della costruzione guidata e quindi meno soggetta a errori della transazione, per me cliente c'è il vantaggio che è più facile leggere questo tipo di contratto e che non devo trasmettere io la transazione alla rete. Mi manca però da capire in che modo il venditore può mostrarmi questa transazione dal momento che "fisicamente" non possiede lui il file.

In sostanza ripeto la domanda: è possibile per il venditore creare un contratto e renderlo visibile a un proprio cliente nella forma chiara con cui compare nel sito?

E' tutto corretto, per fare quello che dici basta fornire il link alla pagina privata di stato del contratto, come l'esempio sopra (https://www.oraclize.it/contracts/checkstatus/dfaf064d71c994d6a8b556baabf6d025).



EDIT:
Ho provato a creare un contratto su Oraclize mettendomi nella parte del venditore.
Contract ID dfaf064d71c994d6a8b556baab9754f6
Se inserisco questo ID visualizzo correttamente la condizione "[WolframAlpha] 'time in Rom' > 12:00" che al momento è falsa.
Se cambio idea posso rimuovere i fondi dall'indirizzo multisig fornitomi da Oraclize andando in "Tools -> Funds Recovery".
Durante la procedura di creazione del contratto è possibile visualizzare e copiare la transazione in formato hex, quindi è possibile eventualmente farla vedere a un'altra persona. L'unico modo che ho trovato però per visualizzarne i dettagli è inserire la transazione qui (https://blockchain.info/it/decode-tx).

In pratica non mi sembra che sia possibile visualizzare in formato "più chiaro" possibile l'intero contratto su Oraclize, ma solo la sua condizione.

Ho aggiunto questa mattina sulla pagina privata di stato del contratto una anteprima "a grafo" della transazione coinvolta, dovrebbe bastare   :)



EDIT2: alle 12:06 è stato fatto un controllo e la domanda [WolframAlpha] 'time in Rom' dà correttamente come risposta "12:06:11 pm CEST | Wednesday, April 1, 2015" ma risulta ancora falsa la condizione espressa dalla disuguaglianza 'time in Rom > 12:00' (no match). Ho fatto qualche errore?  ???

Avevo visto il tuo contratto, purtroppo non e' formalmente valido e non potra' mai verificarsi perche' il confronto numerico (">" e "<") funzionano solo con argomenti numerici ("12:00" non e' un numero, ma una stringa). Il form di creazione del contratto avrebbe dovuto accorgersi della cosa e avvertirti, ma c'era un bug (ora sistemato) che ti ha fatto continuare comunque..

ps: avresti dovuto scrivere "time in Rome", ma Wolfram ha capito lo stesso che intendevi Roma anche con "Rom".
ps2: per verificare l'orario ti consiglio di utilizzare o un confronto sul timestamp, o "hours from now to <date&time>" o con data-source blockchain puoi usare "bitcoin blockchain height" come faresti con nlocktime  ;D



EDIT3: ogni volta che accedo al sito o cambio pagina mi esce questo fastidioso messaggio

Ci si sta autenticando sul sito “www.oraclize.it” con nome utente “oraclized” ma il sito non richiede autenticazione.
Potrebbe trattarsi di un tentativo di truffa.
“www.oraclize.it” è il sito che si desidera visitare?


Mi pare che succeda solo quando ci arrivo tramite il link del primo post.

Si' Hostfat ha corretto il vecchio url (che includeva i dati per la webauth) che avevo lasciato nel primo post, quindi non dovresti piu' avere alcun warning!


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on April 02, 2015, 10:31:16 PM
Giusto per riferimento:

  • Post su reddit (http://www.reddit.com/r/Bitcoin/comments/316whq/oraclizeit_a_new_platform_for_smartcontracts_and/)
  • Thread sezione internazionale (https://bitcointalk.org/index.php?topic=1010122.0)


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on April 02, 2015, 11:30:23 PM
I contratti creati su Oraclize tipicamente sono "pubblici", questo significa che le condizioni verificate sono visibili pubblicamente da qui (https://www.oraclize.it/contracts/checkstatus). I contratti creati come "privati" non risultano invece in quella lista e il loro stato e' visibile quindi solo dalla pagina privata del contratto (conoscendone l'ID quindi), esempio: https://www.oraclize.it/contracts/checkstatus/dfaf064d71c994d6a8b556baabf6d025 .

... per fare quello che dici basta fornire il link alla pagina privata di stato del contratto, come l'esempio sopra (https://www.oraclize.it/contracts/checkstatus/dfaf064d71c994d6a8b556baabf6d025).

Ho aggiunto questa mattina sulla pagina privata di stato del contratto una anteprima "a grafo" della transazione coinvolta, dovrebbe bastare   :)

Perfetto, ora è molto più leggibile, grazie!


Avevo visto il tuo contratto, purtroppo non e' formalmente valido e non potra' mai verificarsi perche' il confronto numerico (">" e "<") funzionano solo con argomenti numerici ("12:00" non e' un numero, ma una stringa). Il form di creazione del contratto avrebbe dovuto accorgersi della cosa e avvertirti, ma c'era un bug (ora sistemato) che ti ha fatto continuare comunque..

Felice di aver contribuito a scovare un bug  :D





Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on April 03, 2015, 06:35:40 AM
Post interessante riguardo alla verifica client-side dell'integrita' del contratto: https://bitcointalk.org/index.php?topic=1009253.msg10967820#msg10967820


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on April 16, 2015, 06:27:18 AM
Vi segnalo la mia partecipazione come speaker a Legal Tech Forum (https://bitcointalk.org/index.php?topic=1026119.msg11102557#msg11102557), parlero' di blockchain e smart contracts  ;)


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on April 17, 2015, 04:50:27 PM

... è perchè la condizione non è presente nella TX stessa. Sarà oraclize a gestirla e inviare la TX quando questo si verifica.
Se per dire fosse presente nell'OP_RETURN lo vedresti sempre dal sito, tipo qui:

Code:
0100000001eb074d698689297deb402e21dbbb38c96db734ca38876ec43770e9d7a4e7e83b020000006c493046022100e406fd298b486ecf152e39e38a6b1b2bbf40943b117e61ba8ada62c1b896be9a022100cadcd8e5673f6a5612c5b068db65c269db10e27148dce12a8d6e4750d9e1bb5001210269dafaa957b4346c5436a70f0017d7e48b62ed97647503b2837017cf2db6108bffffffff0410270000000000001976a9143831d99f8ee7ae8f7a3986d83b89df03ca9e133c88ac58020000000000001976a9144a8f7f7b5129a52bbe21e94b7cc548bd019c967d88ac58474002000000001976a91414ec92b7e009786cdf1c2566746975111fc992c588ac0000000000000000166a144153435249424553504f4f4c524547495354455200000000

Se la metti vedi che, oltre i vari output, hai pure un OP_RETURN.


La condizione non e' registrata nell'OP_RETURN perche' i 40 bytes non basterebbero (e non a tutti potrebbe far piacere l'idea di includere "in chiaro" nella transazione la condizione che l'ha causata). In ogni caso su Oraclize il contenuto dell'OP_RETURN puo' essere definito dall'utente, che potrebbe per esempio includere un hash che rappresenti quindi in modo univoco il contratto in questione (se questo e' noto!).

Oraclize memorizza comunque una firma del contratto eseguita automaticamente client-side dall'utente in fase di creazione in modo tale da poter riverificare a posteriori che il contratto in questione non sia stato manipolato dal servizio (questo e' quello che accade quando si carica la pagina privata del contratto: viene riverificato client-side il matching del contratto e della sua firma, esempio di un contratto manipolato (https://www.oraclize.it/contracts/checkstatus/dfaf064d71c994d6a8b556baabf6d025) e non manipolato  (https://www.oraclize.it/contracts/checkstatus/dfaf064d71c994d6a8b556baabb73455); come potete vedere nel primo caso abbiamo un warning, nel secondo una conferma di integrita').

Ma la firma client-side è una firma effettuata con una delle due chiavi private dell'utente? Dov'è che viene conservata questa firma, sul pc del cliente o su Oraclize?




Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on April 18, 2015, 07:51:21 AM

... è perchè la condizione non è presente nella TX stessa. Sarà oraclize a gestirla e inviare la TX quando questo si verifica.
Se per dire fosse presente nell'OP_RETURN lo vedresti sempre dal sito, tipo qui:

Code:
0100000001eb074d698689297deb402e21dbbb38c96db734ca38876ec43770e9d7a4e7e83b020000006c493046022100e406fd298b486ecf152e39e38a6b1b2bbf40943b117e61ba8ada62c1b896be9a022100cadcd8e5673f6a5612c5b068db65c269db10e27148dce12a8d6e4750d9e1bb5001210269dafaa957b4346c5436a70f0017d7e48b62ed97647503b2837017cf2db6108bffffffff0410270000000000001976a9143831d99f8ee7ae8f7a3986d83b89df03ca9e133c88ac58020000000000001976a9144a8f7f7b5129a52bbe21e94b7cc548bd019c967d88ac58474002000000001976a91414ec92b7e009786cdf1c2566746975111fc992c588ac0000000000000000166a144153435249424553504f4f4c524547495354455200000000

Se la metti vedi che, oltre i vari output, hai pure un OP_RETURN.


La condizione non e' registrata nell'OP_RETURN perche' i 40 bytes non basterebbero (e non a tutti potrebbe far piacere l'idea di includere "in chiaro" nella transazione la condizione che l'ha causata). In ogni caso su Oraclize il contenuto dell'OP_RETURN puo' essere definito dall'utente, che potrebbe per esempio includere un hash che rappresenti quindi in modo univoco il contratto in questione (se questo e' noto!).

Oraclize memorizza comunque una firma del contratto eseguita automaticamente client-side dall'utente in fase di creazione in modo tale da poter riverificare a posteriori che il contratto in questione non sia stato manipolato dal servizio (questo e' quello che accade quando si carica la pagina privata del contratto: viene riverificato client-side il matching del contratto e della sua firma, esempio di un contratto manipolato (https://www.oraclize.it/contracts/checkstatus/dfaf064d71c994d6a8b556baabf6d025) e non manipolato  (https://www.oraclize.it/contracts/checkstatus/dfaf064d71c994d6a8b556baabb73455); come potete vedere nel primo caso abbiamo un warning, nel secondo una conferma di integrita').

Ma la firma client-side è una firma effettuata con una delle due chiavi private dell'utente? Dov'è che viene conservata questa firma, sul pc del cliente o su Oraclize?




La firma del contratto e' effettuata client-side durante la fase di creazione del contratto con la prima delle due chiavi privati dell'utente, la firma viene poi salvata server-side e ricomunicata (e quindi riverificata client-side!) ad ogni caricamento della pagina privata del contratto. In questo modo l'utente puo' verificare che il contratto visualizzato coincide con quello che aveva indicato nella fase di creazione dello stesso.


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on April 18, 2015, 03:26:17 PM
Ancora una domanda (lo so, sono un po' rompiscatole).

Io posso quindi verificare in ogni istante che il contratto non sia stato manipolato da Oraclize, ma c'è un controllo automatico che verifichi che sussista la condizione principale affinchè una qualsiasi transazione possa essere eseguita?  Per condizione principale intendo qui ovviamente non quella monitorata dal servizio ma il fatto che una qualsiasi transazione, per essere non solo trasmessa alla rete ma anche accettata, deve presentare un corretto riferimento agli output non spesi della transazione che in precedenza ha portato i btc dal mio portafoglio all'indirizzo fornito da Oraclize.

Mi spiego meglio: quando ho effettuato qualche prova, ho notato che per impostare il tutto il sistema Oraclize si basa su una transazione A non confermata che muove dei fondi dal mio personale portafoglio a un indirizzo multisig proposto da Oraclize. Ipotizziamo che io crei un contratto B su Oraclize che prevede di spendere gli output della mia transazione A non confermata, e che, subito dopo, un buontempone modifichi leggermente la mia transazione originale non confermata A in modo da modificarne solamente l'hash (transaction malleability) e che invii quindi alla rete anche questa transazione A'. Se per sfortuna la rete dovesse includere in un blocco e confermare prima la transazione A', la transazione A non verrà mai più confermata. I miei fondi saranno comunque trasferiti dal mio personale portafoglio sull'indirizzo multisig di Oraclize, quindi io probabilmente non mi accorgerei che questi fondi, pur essendo effettivamente stati inviati all'indirizzo corretto, non sono in realtà spendibili mediante il contratto B poichè il contratto B non è in grado di riferirsi a essi e quindi non potrà mai essere eseguito.

In poche parole, se ho capito bene, il servizio mi garantisce solo che una certa transazione verrà trasmessa alla rete al verificarsi di un determinato evento, ma non mi garantisce che al momento in cui si verificherà quell'evento quella transazione avrà effettivamente a disposizione i fondi stabiliti al momento della stipula del contratto.
Quest'ultimo fatto va bene finchè lascia la libertà all'utente di ripensarci e ritirare in anticipo i propri fondi senza dover annullare manualmente il contratto (lo annullerebbe così in modo implicito), ma di certo non va bene se l'intera procedura si basasse su una transazione non confermata.

Ovviamente voglio capire se le cose stanno veramente così, o magari ho capito male io.



Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on April 24, 2015, 08:25:23 AM
Ancora una domanda (lo so, sono un po' rompiscatole).

Io posso quindi verificare in ogni istante che il contratto non sia stato manipolato da Oraclize, ma c'è un controllo automatico che verifichi che sussista la condizione principale affinchè una qualsiasi transazione possa essere eseguita?  Per condizione principale intendo qui ovviamente non quella monitorata dal servizio ma il fatto che una qualsiasi transazione, per essere non solo trasmessa alla rete ma anche accettata, deve presentare un corretto riferimento agli output non spesi della transazione che in precedenza ha portato i btc dal mio portafoglio all'indirizzo fornito da Oraclize.

Mi spiego meglio: quando ho effettuato qualche prova, ho notato che per impostare il tutto il sistema Oraclize si basa su una transazione A non confermata che muove dei fondi dal mio personale portafoglio a un indirizzo multisig proposto da Oraclize. Ipotizziamo che io crei un contratto B su Oraclize che prevede di spendere gli output della mia transazione A non confermata, e che, subito dopo, un buontempone modifichi leggermente la mia transazione originale non confermata A in modo da modificarne solamente l'hash (transaction malleability) e che invii quindi alla rete anche questa transazione A'. Se per sfortuna la rete dovesse includere in un blocco e confermare prima la transazione A', la transazione A non verrà mai più confermata. I miei fondi saranno comunque trasferiti dal mio personale portafoglio sull'indirizzo multisig di Oraclize, quindi io probabilmente non mi accorgerei che questi fondi, pur essendo effettivamente stati inviati all'indirizzo corretto, non sono in realtà spendibili mediante il contratto B poichè il contratto B non è in grado di riferirsi a essi e quindi non potrà mai essere eseguito.

In poche parole, se ho capito bene, il servizio mi garantisce solo che una certa transazione verrà trasmessa alla rete al verificarsi di un determinato evento, ma non mi garantisce che al momento in cui si verificherà quell'evento quella transazione avrà effettivamente a disposizione i fondi stabiliti al momento della stipula del contratto.
Quest'ultimo fatto va bene finchè lascia la libertà all'utente di ripensarci e ritirare in anticipo i propri fondi senza dover annullare manualmente il contratto (lo annullerebbe così in modo implicito), ma di certo non va bene se l'intera procedura si basasse su una transazione non confermata.

Ovviamente voglio capire se le cose stanno veramente così, o magari ho capito male io.



Quanto dici e' esatto, in particolare l'utente deve/puo' prendersi cura di assicurarsi che gli input che sta spendendo nella partially unsigned tx abbiano sufficienti conferme.
Se si decidesse per esempio di far possedere 1 sola delle 3 chiavi del wallet 2-of-3 all'utente in questione, non ci sarebbe alcun rischio che i fondi in questione non ci siano piu' presenti in quanto l'utente non potrebbe (con la sua sola chiave) spostarli.


Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on September 04, 2015, 08:21:50 PM
Ciao
credete che oraclize possa essere utilizzato per offrire un servizio aggiuntivo a indiegogo per le campagne di crowdfunding? Magari c'e' gia' ... in caso datemi info in merito....

Provo a spiegarmi, parallelamente alla campagna si da la possibilità di offrire BTC con due opzioni (due address differenti ad esempio), in uno si lega la donazione all'ottenimento del finanziamento su indiegogo e l'oracolo controlla che la campagna sia stata finanziata, in caso negativo i fondi tornano indietro, altra opzione, se un tot di tempo prima della scadenza la campagna non ha oltrepassato la soglia si cambiano i btc e si finanzia la campagna fino all'ottenimento del fondo.
 


Title: Re: Oraclize.it - smart contracts, today
Post by: xeryan on September 05, 2015, 07:37:36 AM
Ciao
credete che oraclize possa essere utilizzato per offrire un servizio aggiuntivo a indiegogo per le campagne di crowdfunding? Magari c'e' gia' ... in caso datemi info in merito....

Provo a spiegarmi, parallelamente alla campagna si da la possibilità di offrire BTC con due opzioni (due address differenti ad esempio), in uno si lega la donazione all'ottenimento del finanziamento su indiegogo e l'oracolo controlla che la campagna sia stata finanziata, in caso negativo i fondi tornano indietro, altra opzione, se un tot di tempo prima della scadenza la campagna non ha oltrepassato la soglia si cambiano i btc e si finanzia la campagna fino all'ottenimento del fondo.
 
lighthouse (https://www.vinumeris.com/lighthouse)


Title: Re: Oraclize.it - smart contracts, today
Post by: picchio on September 05, 2015, 07:57:08 AM
Ciao
credete che oraclize possa essere utilizzato per offrire un servizio aggiuntivo a indiegogo per le campagne di crowdfunding? Magari c'e' gia' ... in caso datemi info in merito....

Provo a spiegarmi, parallelamente alla campagna si da la possibilità di offrire BTC con due opzioni (due address differenti ad esempio), in uno si lega la donazione all'ottenimento del finanziamento su indiegogo e l'oracolo controlla che la campagna sia stata finanziata, in caso negativo i fondi tornano indietro, altra opzione, se un tot di tempo prima della scadenza la campagna non ha oltrepassato la soglia si cambiano i btc e si finanzia la campagna fino all'ottenimento del fondo.
 
lighthouse (https://www.vinumeris.com/lighthouse)
Se voglio fare una campagna separata ma se si volesse legare un aggiunta ad una campagna classica? Ho pensato che con oraclize si potesse fare in modo che in caso la campagna principale non vada a buon fine oppure per aiutarla in extremis qualora mancasse poco.


Title: Re: Oraclize.it - smart contracts, today
Post by: arulbero on December 19, 2015, 04:47:30 PM
Leggo sulla home page del sito:

Quote
Being Oraclize a provably-honest service, you can check our honesty at any time by just looking at data stored in public networks. This widget is checking our cryptographic proofs so it might take a while to complete the honesty verification process. No trust is required on your side, all the verifications are done straight in your browser by connecting to public Ethereum and IPFS nodes.

Io ero rimasto alla "provably fair" dei siti dei giochi d'azzardo, come funziona invece questa "provably honest"?


Title: Re: Oraclize.it - smart contracts, today
Post by: acquafredda on December 19, 2015, 06:08:41 PM
Infatti sta cosa suona motlo di trovata di marketing: provably-honest suono molto bene. Magari Bertani farà due passi qui e ci spiega di chesi tratta.


Title: Re: Oraclize.it - smart contracts, today
Post by: bertani on December 20, 2015, 08:35:55 AM
Infatti sta cosa suona motlo di trovata di marketing: provably-honest suono molto bene. Magari Bertani farà due passi qui e ci spiega di chesi tratta.

Non e' una trovata di marketing, ma un'estensione del concetto.

Provaby-fair e' stato (stra)usato e riusato dai siti di gambling per indicare un'"estrazione" onesta.
Dato questo evidente collegamento con il mondo del gambling, con il quale Oraclize non ha di fatto nessun punto in comune, ho preferito utilizzare la terminologia "provably honest" (che non ho inventato io, ma gia' si utilizzava in contesti diversi da quelli del gambling - google ne e' una prova immediata).

Parlo di estensione del concetto, perche' i modi con i quali si puo' avere un'"estrazione" provably-fair, nei siti di gambling, e' in realta' molto semplice e simile nelle varie implementazioni. Mentre il modo con il quale Oraclize riesce ad essere provably honest e' tutto nuovo, studiato da zero e soprattutto con una finalita' diversa.

Per riassumere: provably-fair e' comunemente associato a un'"estrazione" non contraffatta, mentre provably-honest vuole sottolineare il fatto che il nostro comportamento onesto (che va ben oltre un'estrazione non contraffatta) e' dimostrabile, verificabile da chiunque ( http://www.oraclize.it/service/monitor ) e si concretizza nella non alterazione di dati che recuperiamo da terze parti.

Esempo, provably-fair: ho veramente estratto random un certo numero
Esempio, provably-honest: il ticker di Kraken che ti ho inoltrato e' veramente quello e Oraclize non l'ha manipolato in alcun modo