Pages:
Author

Topic: Smartcontract nas encomendas (Read 380 times)

legendary
Activity: 2758
Merit: 6830
July 30, 2021, 05:05:25 PM
#45
Mas muito obrigado pela explicação Ninja... acho que agora deu uma boa clareada e consegui ter uma noção disso, mesmo que superficialmente!
Valeu  Smiley
Se preocupa não que haverão novidades em breve.  Cool

NinjaBets…
hero member
Activity: 1554
Merit: 814
The Alliance Of Bitcointalk Translators - ENG>POR
July 30, 2021, 04:54:19 PM
#44
(...)
Até me esqueci de comentar aqui novamente...  Tongue

Mas muito obrigado pela explicação Ninja... acho que agora deu uma boa clareada e consegui ter uma noção disso, mesmo que superficialmente!
Valeu  Smiley
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
July 28, 2021, 01:47:34 PM
#43
Então neste caso, só será mesmo criar uma plataforma que faça a ligação desses três elementos:
Vendedor/Comprador > Intermediário Blockchain > API transportes

Isto iria criar um novo paradigma de como se fazia as compras online.
Mas talvez, muito complexo, para o sistema que existe e que regra geral é eficaz.

Estávamos a tentar reinventar a roda. Ou não?
legendary
Activity: 2758
Merit: 6830
July 28, 2021, 03:20:57 AM
#42
Então na pratica, especto complicado será ligar o API dos transportadores ao Blockchain. Desenvolver esse intermediário é que complica um pouco.
Quem conseguir fazer isso, vai ter aqui uma pequena mina de ouro.
Já existe um intermediario... Chainlink.

O exemplo que eu dei lá em cima já é 100% aplicavel hoje em dia. Claro que há custos, mas praticamente mais metade dos protocolos DeFi já a utilizam.
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
July 28, 2021, 01:52:57 AM
#41
Toda essa volta de blockchain, chainlink, etc é para tornar tudo trustless, descentralizado, onde não tem uma entidade que controla tudo.

Mas me parece que os custos são altos demais para algo assim funcionar. De repente no futuro .


Então na pratica, especto complicado será ligar o API dos transportadores ao Blockchain. Desenvolver esse intermediário é que complica um pouco.
Quem conseguir fazer isso, vai ter aqui uma pequena mina de ouro.
legendary
Activity: 2758
Merit: 6830
July 27, 2021, 11:09:40 PM
#40
Mas paga-se algo a Chainlink? [Se calhar estou a ser burro com esta pergunta...  Roll Eyes ]
Cada operador de node da Chainlink tem o seu custo por call API. Se quiser fazer várias chamadas (diminuir o risco), tem que pagar cada uma delas.

É que isto depois começa a ter muitos intermediários e deixa de fazer sentido.
O único intermediario é o oracle, unica ponte que tem entre a blockchain e o mundo externo.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 27, 2021, 07:12:44 PM
#39
o smartcontract verificava via API dos transportadores quando a encomenda chegava.

Blockchains não podem ler nada externo a eles.
Vc não pode ler uma api num blockchain. Entendeu?

O que você está falando é basicamente um site que lê uma api. Tudo bem, mas aí não tem blockchain, não tem como pagar e ler a api de uma forma descentralizada.

Toda essa volta de blockchain, chainlink, etc é para tornar tudo trustless, descentralizado, onde não tem uma entidade que controla tudo.

Mas me parece que os custos são altos demais para algo assim funcionar. De repente no futuro .
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
July 27, 2021, 02:15:56 PM
#38
Mas paga-se algo a Chainlink? [Se calhar estou a ser burro com esta pergunta...  Roll Eyes ]
É que isto depois começa a ter muitos intermediários e deixa de fazer sentido.


Resumindo, eu diria que a coisa podia funcionar assim:
Será o comprador enviava o dinheiro para um smartcontract, o vendedor enviar o produto ao cliente, e o smartcontract verificava via API dos transportadores quando a encomenda chegava.
Quando a mesma fosse dada como entregue, 12 horas depois, se o cliente não de luz verde ou outro feedback, o smartcontract transfere o dinheiro para o vendedor.
Caso o cliente desse um feedback, de existir um problema com a encomenda, o smartcontract aguarda 48 horas pela resposta do vendedor, caso não exista resposta ou a situação não seja dada como resolvida, o dinheiro é devolvido ao cliente.
Caso a situação seja para troca ou similar, o smartcontract continua a reter o dinheiro até novas instruções por parte de ambos (cliente/vendedor).


Acho que este elemento de ambos os lados, darem a mesma indicação, é meio caminho para evitar esquemas.
Isso seria possivel?
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 27, 2021, 12:58:25 PM
#37
Me desculpem, não entendi porque é preciso pagar as taxas da rede para qualquer tipo de operação.
Toda função de um contrato custa gas. É como funciona a blockchain da Ethereum e outras.

Se usou blockchain, qualquer coisa que você quer escrever nos blocos precisa ser minerada. Todo espaço no blockchain é valioso.

O Ethereum tem um Yellow Paper onde eles mostram mais ou menos quanto custa cada tipo de calculo usado em um smartcontract. ETH é como se fosse uma moeda que representa o custo do processamento dos smartcontracts na rede.

A ideia é que o Ethereum seria um "world computer" , onde o para processar qualquer coisa nele voce paga com ETH.


A consulta à uma API é gratuita, a implementação de um algoritmo com a regra do negócio para validar determinado resultado eu memso posso desenvolver (não deve ser complicado para quem entende de programação), então qual a vantagem de usar chainlink?

A consulta é gratuita no seu computador, não num world computer onde qualquer coisa que voce fizer será replicada em todos os nós da rede... A mesma coisa vale também para o Bitcoin, quando/se chegar a ter smartcontracts implementados.
legendary
Activity: 2758
Merit: 6830
July 27, 2021, 10:34:08 AM
#36
A consulta à uma API é gratuita, a implementação de um algoritmo com a regra do negócio para validar determinado resultado eu memso posso desenvolver (não deve ser complicado para quem entende de programação), então qual a vantagem de usar chainlink?
A possibilidade de ter esse sistema descentralizado? Ele possui mais recurso de segurança ou algo do tipo para os usuários?
E como você faz essa consulta através da blockchain? Cheesy

Você pode muito bem só configurar um endereço como operador do contrato e falar: esse endereço pode chamar o callback que setta o resultado do jogo, mas ai quem garante que você chamou a API e que não adulterou o resultado? É só chamar receberDados(1) ou receberDados(2) a qualquer momento e manipular o resultado como quiser.

O sentido da Chainlink é que são vários nodes descentralizados, com skin in the game, que fazem a requisição (geralmente de várias fontes a.k.a APIs) e te entregam o resultado em troca de uma recompensa.

Me desculpem, não entendi porque é preciso pagar as taxas da rede para qualquer tipo de operação.
Toda função de um contrato custa gas. É como funciona a blockchain da Ethereum e outras.
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
July 27, 2021, 06:02:40 AM
#35
Deixa eu perguntar....
A consulta à uma API é gratuita, a implementação de um algoritmo com a regra do negócio para validar determinado resultado eu memso posso desenvolver (não deve ser complicado para quem entende de programação), então qual a vantagem de usar chainlink?
A possibilidade de ter esse sistema descentralizado? Ele possui mais recurso de segurança ou algo do tipo para os usuários?
Me desculpem, não entendi porque é preciso pagar as taxas da rede para qualquer tipo de operação.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 27, 2021, 03:19:15 AM
#34
Bem, não parece que seja algo assim tão complicado.

Talvez vejo a coisa não ser feito, por falta de interesse e por causa das taxas.
Mas ai entramos noutro problema, se as taxas são sempre um problema, fica difícil aplicar o Bitcoin no dia a dia...

Por outro lado, as questões das taxas ficavam minimizadas com LN.

@TryNinja... achas que eras capaz de fazer algo deste género, ligado as encomendas?  Roll Eyes
Podia ser um projeto interessante.

Seria mais uma ICO/Token a surgir.  Cool

Se tiver que pagar 30 usd para cada passinho aí do processo que o ninja postou, já era né.

Melhor usar mercado livre mesmo.

Mas lembrando que chainlinj, teoricamente, pode ser usada em qq blockchain. Só pegar uma centralizada de taxa baixa que esse problema some....
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
July 27, 2021, 02:00:58 AM
#33
Bem, não parece que seja algo assim tão complicado.

Talvez vejo a coisa não ser feito, por falta de interesse e por causa das taxas.
Mas ai entramos noutro problema, se as taxas são sempre um problema, fica difícil aplicar o Bitcoin no dia a dia...

Por outro lado, as questões das taxas ficavam minimizadas com LN.

@TryNinja... achas que eras capaz de fazer algo deste género, ligado as encomendas?  Roll Eyes
Podia ser um projeto interessante.

Seria mais uma ICO/Token a surgir.  Cool
legendary
Activity: 2758
Merit: 6830
July 26, 2021, 08:12:49 PM
#32
Eu não cheguei a estudar callbacks, mas ja ouvi falar sobre isso.
Ninja... callback é mais ou menos quando uma função é executada quando algum evento acontece!!?  
Callback é uma função que é passada para ser chamada no final de um processo/evento, com o resultado.

Um exemplo realista:

Temos a função do contrato da ChainLink comprarChamadaAPI(linkDaAPI, callback) que aceita dois parametros:

- linkDaApi: o URL da API para ser chamada.
- callback: a função para ser chamada no final do processo, com a resposta.

No meu contrato, eu tenho uma função para ser utilizada como callback receberDados(vencedorDoJogo) que aceita o parametro:

- vencedorDoJogo: um número, representando o time vencedor (1 ou 2).

Quando acaba o jogo, meu contrato chama a função comprarChamadaAPI(https://api.copadomundo.com/jogos/123/vencedor, receberDados) para realizar a logíca de pegar o resultado.

Os nodes do chainlink vão ver a solicitação, vão fazer a request ao api.copadomunco.com... e ao receber o resultado (time 1 venceu), vão chamar o callback passado (do meu contrato): receberDados(1)

Essa função simplesmente muda a variavel interna vencedorDoJogo para 1. Quem apostou no time 1, vai poder chamar outra função pegarRecompensas(), que vai verificar se a variavel vencedorDoJogo bate com a escolha do usuário escolhida anteriormente. Se sim, manda X ETH para o endereço.
hero member
Activity: 1554
Merit: 814
The Alliance Of Bitcointalk Translators - ENG>POR
July 26, 2021, 06:15:00 PM
#31
Qualquer pessoa que tenha conhecimento com programação e entenda callbacks, vai entender o funcionamento superficial do Chainlink.

1. Chamo uma função do contrato da Chainlink na ETH ("quero os dados da API X").
2. Os nodes da Chainlink fazem a requisição, cuidam da segurança e integridade dos dados.
3. Os nodes da Chainlink enviam a solução ao contrado da Chainlink na ETH, chamando a função que recebe os dados.
4. Esse contrato chama uma função de callback do contrato inicial que chamou o Chainlink.
5. Essa função callback faz o que quiser com os dados da API, incluindo atualizar variaveis (e.g "bitcoinPriceAtCoinbase").

Ou seja, dá para pegar qualquer dado de qualquer API e fazer o que quiser com ela, inclusive alterar variaveis que cuidam dos modelos de négocio do contrato.

Impedimento: Taxas para todas essas tx. Chamada ao Chainlink, chamada callback do contrato e taxa de pagamento pela solução.
Eu não cheguei a estudar callbacks, mas ja ouvi falar sobre isso.
Ninja... callback é mais ou menos quando uma função é executada quando algum evento acontece!!? 

Hmmm, olhando por essa ótica, acho que as coisas ficaram mais claras para mim, pelo menos superficialmente!

legendary
Activity: 2758
Merit: 6830
July 26, 2021, 05:05:03 PM
#30
Qualquer pessoa que tenha conhecimento com programação e entenda callbacks, vai entender o funcionamento superficial do Chainlink.

1. Chamo uma função do contrato da Chainlink na ETH ("quero os dados da API X").
2. Os nodes da Chainlink fazem a requisição, cuidam da segurança e integridade dos dados.
3. Os nodes da Chainlink enviam a solução ao contrado da Chainlink na ETH, chamando a função que recebe os dados.
4. Esse contrato chama uma função de callback do contrato inicial que chamou o Chainlink.
5. Essa função callback faz o que quiser com os dados da API, incluindo atualizar variaveis (e.g "bitcoinPriceAtCoinbase").

Ou seja, dá para pegar qualquer dado de qualquer API e fazer o que quiser com ela, inclusive alterar variaveis que cuidam dos modelos de négocio do contrato.

Impedimento: Taxas para todas essas tx. Chamada ao Chainlink, chamada callback do contrato e taxa de pagamento pela solução.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 26, 2021, 03:46:45 PM
#29
Seria um aplicativo para conectar um blockchain à outro blockchain ou ao site dos correios (por exemplo)

Pergunto-me porque é que isso não é usado mais? Digo isto para este tema ou para outros.

Será por causa das taxas, do tempo da informação ser processada, ou por falta de interesse?  Huh

É isso que estou perguntando desde que o tópico começou. -Para mim isso aí tem potencial para mudar completamente os rumos de aplicações de blockchain, que até hoje a unica aplicação é no bitcoin e em sistemas piramidais  Cheesy

Se funciona, por que que ninguém usa? Eu continuo achando que não está 100%. Perguntei no Reddit e está um silencio absoluto....

Até planejo estudar solidity no futuro, mas por enquanto não sei dizer o quão difícil é utilizar isso.
Certamente existe algum motivo para ninguém estar aplicando isso em nenhum lugar.



Se conectar à uma API é algo banal em um browser, em javascript, python e até no excel. Como será que é para se conectar via solidity? Certamente não é tão banal quanto fazer um fetch, ou será que é? Duvido muito que seja.

Até onde eu sei, você iria precisar de um node de Chainlink rodando, que coletasse os dados da API externa e esses dados seriam depois validados pela rede descentralizada do chainlink. Aí sim voce poderia fazer o "fetch"dentro do blockchain. Mas já estou imaginando tantos passos e que é "impeditivo" para curiosos sem paciência.
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
July 26, 2021, 12:26:14 PM
#28
Seria um aplicativo para conectar um blockchain à outro blockchain ou ao site dos correios (por exemplo)

Pergunto-me porque é que isso não é usado mais? Digo isto para este tema ou para outros.

Será por causa das taxas, do tempo da informação ser processada, ou por falta de interesse?  Huh
hero member
Activity: 1554
Merit: 814
The Alliance Of Bitcointalk Translators - ENG>POR
July 26, 2021, 12:25:07 PM
#27
(...)
Hmmm, ah sim, agora entendi!
Confesso que nessa parte "técnica" focada nos criptoativos e blockchain eu tenho um conhecimento superficial nesse assunto
É interessante que a blockchain/bitcoin permite fazer algumas ""modificações"" desse tipo, acho muito válido essa possibilidade de integração com outros sistemas/blockchains/cripto e etc. Basicamente isso seria um "software livre" como se fosse um Linux da vida!  Tongue Cheesy

Muito obrigado pelas explicações @bitmover 
member
Activity: 113
Merit: 83
July 26, 2021, 08:51:39 AM
#26
Não conheço a fundo essas moedas. Mas a limitação de usar apenas dados internos ao blockchain é uma limitação da tecnologia , da forma q o blockchain é desenhado.
Então, a não ser que tenha um oráculo nativo nessas moedas, a necessidade de um middleware (oracle) permanece.
Hmmm, pera ai, vamos ver se eu entendi, nesse caso, a grosso modo falando, como a blockchain não tem capacidade de se comunicar com algo externo, seria necessário ter tipo de um "elo" que iria conectar essas 2 blockchains para conseguir trocar essas informações!!!?!

Seria mais ou menos isso!!?



Seria um aplicativo para conectar um blockchain à outro blockchain ou ao site dos correios (por exemplo)

veja essa imagem do site do chainlink, bem explicativa


https://chain.link/solutions


Mas teoricamente, isso poderia ser feito na blockchain do bitcoin mesmo, utilizando o mesmo middleware (chainlink)
Estava lendo sobre o assunto esses dias e descobri esse https://counterparty.io/, que permite criar tokens e fazer smartcontracts com bitcoin.

Por isso acredito que a ChainLink será uma das criptos mais promissoras no extremo longo prazo. No momento, tudo é muito embrionário e novo, mas no futuro, surgirão uma infinidade de aplicações utilizando Blockchain e será fundamental essa integração entre blockchains que a ChainLink promove.
Pages:
Jump to: