Pages:
Author

Topic: Bitcoin - Perguntas e Respostas. - page 24. (Read 33969 times)

full member
Activity: 194
Merit: 180
August 20, 2019, 12:25:02 PM
É possível agendar uma transação em alguma blockchain?
Ex: programar hoje para enviar 1 BTC para Alice dia 03/12/2019

Que eu saiba não.
Mas pelo menos no BTC o tempo é contado em blocos , não em dias.

Então você teria que calcular o block height naquela data (1 bloco a cada 10min em média)
Mas não conheço nenhum cliente que faça isso. Talvez de pra fazer no bitcoin core?

SIM - existem dois tipos de transação que você pode fazer:

1. nLockTime: uma transação que só se torna válida após uma certa altura do blockchain (número do block) e alguém precisa guardar a transação e só colocá-la na rede depois que passar esse tempo.
O cenário aqui é: Alice promete transferir para Bob 1 BTC daqui 1000 blocos (~7 dias) e cria uma transação colocando o nLockTime = Bloco Atual + 1000
Bob recebe uma mensagem da Alice com o conteúdo dessa transação assinada e pode colocar ela na rede só depois de 7 dias, para ela ser efetivada.
Se Bob colocar essa transação antes na rede, vai estar inválida/vai ser ignorada.
Se Alice criar uma outra transação reutilizando os inputs da transação que foi para o Bob, quando Bob tentar executar a transação, vai dar errado.
Se alguma coisa acontecer com Alice, Bob ainda consegue receber o 1 BTC daqui 7 dias.

Esse cenário já foi utilizado algumas vezes como um "dead-man switch" ou tipo de testamento onde alguém fica com uma transação no futuro que permite receber seus bitcoins, mas se você quiser, pode mover eles antes e invalidar essa transação futura.

2. CLTV = CheckLockTimeVerify: uma transação que trava os outputs (bitcoins) por um tempo pre-determinado.
O cenário aqui é: Alice promete transferir para Bob 1 BTC *agora* mas que Bob só poderá gastar depois 1000 blocos (~7 dias).
A transação é executada na rede e Bob "recebe" 1 BTC, mas não pode fazer nada para gastar eles antes do LockTime passar.
Alice também não consegue pegar esse 1 BTC de volta.

Você consegue fazer isso usando o Bitcoin Core mas montando a transação na mão (não tem telas para isso).
Não sei de outro client que permite fazer isso com telas...
full member
Activity: 896
Merit: 221
August 20, 2019, 12:01:43 PM
É possível agendar uma transação em alguma blockchain?
Ex: programar hoje para enviar 1 BTC para Alice dia 03/12/2019

Sim, o agendamento é possivel no BTC. Você utiliza um "lock time" e especifica que a partir de tal bloco a transação será válida para ser adicionada na blockchain - basicamente os mineradores não aceitam a transação até chegar no bloco especificado.

Assim, uma transação no dia 03 de dezembro ocorrerá em aproximadamente 15120 blocos, a partir da data de hoje.

Code:
144 * 105 = 15120 blocks  ( número de blocos por dia x números de dias = número de blocos)
590985 ( bloco atual) + 15120 (blocos até o dia 03/12/19) = 606105 blocks (bloco no dia 03/12/19)

Dessa forma, ao especificar um "lock time" para o bloco 606105 e enviar 1 BTC para a Alice a transação apenas será aceita no dia 03/12/2019, data em que a transação será incluída na blockchain pelos mineradores.


O lock time de uma transação poderia ser realizada por meio da edição de uma raw transaction utilizando:
https://live.blockcypher.com/btc/decodetx/
https://blockstream.info/tx/push
legendary
Activity: 2492
Merit: 1429
Top-tier crypto casino and sportsbook
August 20, 2019, 06:39:04 AM
É possível agendar uma transação em alguma blockchain?
Ex: programar hoje para enviar 1 BTC para Alice dia 03/12/2019

Sim é possivel utilizando contratos inteligentes no Ethereum, para agendamentos mais especificamente pode ser usado contratos inteligentes ChronoLogic.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
August 20, 2019, 06:13:55 AM
É possível agendar uma transação em alguma blockchain?
Ex: programar hoje para enviar 1 BTC para Alice dia 03/12/2019

Que eu saiba não.
Mas pelo menos no BTC o tempo é contado em blocos , não em dias.

Então você teria que calcular o block height naquela data (1 bloco a cada 10min em média)
Mas não conheço nenhum cliente que faça isso. Talvez de pra fazer no bitcoin core?
legendary
Activity: 2688
Merit: 2297
August 20, 2019, 06:02:33 AM
É possível agendar uma transação em alguma blockchain?
Ex: programar hoje para enviar 1 BTC para Alice dia 03/12/2019
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
August 19, 2019, 09:39:18 PM
Nem todas transações vão confirmar num longo período de tempo. Em 2016-2017 começaram a ser incluídos restrições mínimas no cliente do Bitcoin Core para não retransmitir transações sem taxas por exemplo. Alguns parâmetros são configuráveis mas outros precisam recompilar o cliente, o que raramente quem tem um node rodando vai fazer.
Transações que estão esperando ser confirmadas, são colocadas no "mempool" e podem ser tiradas de lá se o mempool fica muito cheio. Então caso não tenha pressa, é importante:
1. Usar o mínimo configurado de taxa que os nodes vão retransmitir (por default, o Bitcoin Core é 1000 satoshis por kbyte, ou 1 sat/byte)

Realmente transações gratuitas não são mais confirmadas a bastante tempo.

Mas a maioria dos clientes não permite colocar taxas inferiores a 1 sat/byte e muito menos fazer transações gratuitas. Eu realmente não sei fazer nem na Electrum... tô bem por fora disso ai...

Mas enfim, qualquer pessoa meio leiga pode tranquilamente colocar a taxa mínima possível que em menos de uma semana sua transação estará com várias confirmações (a não ser que aconteça algo tão bizarro que nunca tenha acontecido antes).

Eu usei 1sat/byte agora no último pico de congestionamento que tivemos e consegui a 1a confirmação em umas 24h.
full member
Activity: 194
Merit: 180
August 18, 2019, 04:46:33 PM
Legal, valeu pelas respostas
Se eu quisesse por exemplo fazer uma transação com o mínimo possível de taxas, e eu poderia esperar 1 mês por exemplo, eu poderia fazer que seria confirmada tranquilamente?
Sim. Geralmente as pessoas fazem isso para consolidar seus inputs em momentos que não pensam em gastar as suas moedas. Assim, a transação fica mais barata quando você for usar uma fee mais alta (quando estiver gastando os BTC e quiser uma confirmação rapida).

Nem todas transações vão confirmar num longo período de tempo. Em 2016-2017 começaram a ser incluídos restrições mínimas no cliente do Bitcoin Core para não retransmitir transações sem taxas por exemplo. Alguns parâmetros são configuráveis mas outros precisam recompilar o cliente, o que raramente quem tem um node rodando vai fazer.
Transações que estão esperando ser confirmadas, são colocadas no "mempool" e podem ser tiradas de lá se o mempool fica muito cheio. Então caso não tenha pressa, é importante:
1. Usar o mínimo configurado de taxa que os nodes vão retransmitir (por default, o Bitcoin Core é 1000 satoshis por kbyte, ou 1 sat/byte)
1.1. Se você configurar o seu node E encontrar outros nodes e mineradores que tenham colocado uma taxa minima menor que isso (mas maior do que 0 sat por kbyte), "teoricamente" você pode ter uma transação confirmada em algum momento.

2. Sua transação precisa ser maior do que "poeira", ou seja o valor do output precisa ser maior do que a taxa necessária para gastar. Isso significa >546 sats para uma transação mais comum P2PKH na configuração tradicional do cliente Bitcoin Core.

3. Você precisa manter um node seu que iniciou a transação retransmitindo a mesma sempre que ela for retirada do mempool. Quando o volume de transações não confirmadas aumenta, as que tem menores taxas são excluídas da maior parte dos nodes. Se o seu node não ficar retransmitindo, a transação some da rede.

legendary
Activity: 2758
Merit: 6830
August 17, 2019, 08:08:33 AM
Legal, valeu pelas respostas
Se eu quisesse por exemplo fazer uma transação com o mínimo possível de taxas, e eu poderia esperar 1 mês por exemplo, eu poderia fazer que seria confirmada tranquilamente?
Sim. Geralmente as pessoas fazem isso para consolidar seus inputs em momentos que não pensam em gastar as suas moedas. Assim, a transação fica mais barata quando você for usar uma fee mais alta (quando estiver gastando os BTC e quiser uma confirmação rapida).
legendary
Activity: 2450
Merit: 1472
August 17, 2019, 07:06:59 AM
Dúvida besta, tenho certo conhecimento e sempre procuro ler sobre, mas...
Existe alguma transação no blockchain que demorou mais de 1 ano para ser realizada?
Devido alguma taxa muito pequena
Muito extremamente improvavel. Praticamente toda semana (e no minimo todo mes) ha um momento onde as taxas caem para 1 sat/byte. E fees zeradas nao sao retransmitidas pela grande maioria dos nodes.


Dúvida besta, tenho certo conhecimento e sempre procuro ler sobre, mas...
Existe alguma transação no blockchain que demorou mais de 1 ano para ser realizada?
Devido alguma taxa muito pequena




Não, mesmo com uma taxa pequena seria confirmada no primeiro bloco que não estivesse lotado.. a não ser que todas pools rejeitassem transações com uma taxa menor que X..

Não sei se há como ver o recordista dessa façanha.. deve ter sido alguém no final de 2017.


Legal, valeu pelas respostas
Se eu quisesse por exemplo fazer uma transação com o mínimo possível de taxas, e eu poderia esperar 1 mês por exemplo, eu poderia fazer que seria confirmada tranquilamente?
legendary
Activity: 2758
Merit: 6830
August 16, 2019, 03:55:54 PM
Dúvida besta, tenho certo conhecimento e sempre procuro ler sobre, mas...
Existe alguma transação no blockchain que demorou mais de 1 ano para ser realizada?
Devido alguma taxa muito pequena
Muito extremamente improvavel. Praticamente toda semana (e no minimo todo mes) ha um momento onde as taxas caem para 1 sat/byte. E fees zeradas nao sao retransmitidas pela grande maioria dos nodes.
legendary
Activity: 2688
Merit: 2297
August 16, 2019, 03:55:08 PM
Dúvida besta, tenho certo conhecimento e sempre procuro ler sobre, mas...
Existe alguma transação no blockchain que demorou mais de 1 ano para ser realizada?
Devido alguma taxa muito pequena




Não, mesmo com uma taxa pequena seria confirmada no primeiro bloco que não estivesse lotado.. a não ser que todas pools rejeitassem transações com uma taxa menor que X..

Não sei se há como ver o recordista dessa façanha.. deve ter sido alguém no final de 2017.
legendary
Activity: 2450
Merit: 1472
August 16, 2019, 03:48:53 PM
Dúvida besta, tenho certo conhecimento e sempre procuro ler sobre, mas...
Existe alguma transação no blockchain que demorou mais de 1 ano para ser realizada?
Devido alguma taxa muito pequena


hero member
Activity: 1316
Merit: 407
🌀 Cosmic Casino
August 16, 2019, 02:52:35 PM
Caso não existissem pools de mineração, haveriam mais blocos órfãos?

Provavelmente teríamos mais mineradores e o poder seria bem mais distribuído, ou não. Hoje as pools estão com poder bem concentrado, então é só imaginar esse poder sendo distribuído para vários usuários. Então, respondendo a pergunta, como o negocio de minerar ficará mais "comum", provavelmente teríamos os "choques" de blocos, ou blocos órfãos.

Edit: Muita viaje?
full member
Activity: 896
Merit: 221
August 15, 2019, 10:22:31 PM
Caso não existissem pools de mineração, haveriam mais blocos órfãos?

Sem os pools de mineração haveria numericamente mais mineradores para um mesmo nivel de dificuldade. Considerando que teríamos grandes mineradores solos com altos hashrates,  haveria nesse uma maior geração de blocos órfãos.

legendary
Activity: 2688
Merit: 2297
August 15, 2019, 10:00:50 PM
Caso não existissem pools de mineração, haveriam mais blocos órfãos?
hero member
Activity: 1316
Merit: 407
🌀 Cosmic Casino
July 19, 2019, 07:50:14 AM
Na sua opinião, quais as vantagens o btc traria pra economia brasileira ? Eu me refiro a moeda em si.


Bitcoin nunca será usado como moeda unica em nenhum local, sempre será vista como uma alternativa a situações. Se considerar isso em uma economia de um pais teriamos que, em algumas situações FIAT seria melhor (eca Tongue) mas outras que BTC seria melhor. Mas levando para o lado do dia-a-dia alts seriam a melhor escolha frente ao BTC. Então, resumidamente, BTC ficaria com a parte pesada da coisa, como grandes transações internacionais, e Alts com a menor.

"Nem só de BTC vive uma Blockchain" - Red, Puma.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 17, 2019, 06:02:57 AM
Na sua opinião, quais as vantagens o btc traria pra economia brasileira ? Eu me refiro a moeda em si.

Bitcoin já é vantajoso para as pessoas fazerem remessas internacionais por exemplo. É possível economizar em taxas (swifts Sao varos, assim como serviços como o remessaonline e transferisse, os quais vc já perde uns 3-4% de cara)

Outra grande vantagem é quando uma pessoa brasileira viaja para o exterior pode comprar coisas em BTC sem converter para a moeda fiduciária local. Ou vice versa. Economizando mais ainda... Lembrando que o cartão de crédito já vem com 6% de IOF +spread no exterior.

Enfim, não é de fato uma vantagem para a economia, mas para os indivíduos.
legendary
Activity: 2758
Merit: 6830
July 16, 2019, 12:00:05 PM
Caso alguém esteja curioso, encontrei uma com 20.000 inputs(999657 bytes) de 07/07/2015, minerado pela F2Pool: https://www.blockchain.com/btc/tx/bb41a757f405890fb0f5856228e23b715702d714d59bf2b1feb70d8b2b4e3e08?show_adv=true  Shocked Shocked Shocked
curioso que nada foi pago em fees..
AFAIK, isso foi parte de um "ataque" pra floodar a rede com essas transações de "dust". Mais info: https://en.bitcoin.it/wiki/July_2015_flood_attack

Apenas a F2Pool minerava os blocos com essas transações. A motivação? Incentivar o aumento do block size cuja discussão estava muito em alta naquela época.

Inclusive, essa transação foi a única a ser incluída no bloco.
legendary
Activity: 2688
Merit: 2297
July 16, 2019, 11:32:13 AM
-snip-

Só que quanto maior a transação, mais difícil um minerador escolher apenas aquela transação para preencher o bloco inteiro...


Ai caímos no problema da mochila?

Caso alguém esteja curioso, encontrei uma com 20.000 inputs(999657 bytes) de 07/07/2015, minerado pela F2Pool: https://www.blockchain.com/btc/tx/bb41a757f405890fb0f5856228e23b715702d714d59bf2b1feb70d8b2b4e3e08?show_adv=true  Shocked Shocked Shocked
curioso que nada foi pago em fees..
full member
Activity: 194
Merit: 180
July 16, 2019, 11:10:10 AM
Qual o limite de outputs (e apenas 1 input) que uma transação pode ter? O que/quem determina esse valor, os mineiros, o tamanho do bloco ou outro fator?


(caso eu demore a meritar: provavelmente vou ter sMerits só amanhã)

Não existe um limite máximo pré-determinado de outputs. A limitação se restringe ao tamanho do bloco e ao custo da transação (taxas).
Existe uma pequena variação de tamanho se o endereço de input for segwit .vs. não segwit porque a assinatura no input ocupa espaço.
Quanto maior o número de outputs, maior a transação e consequentemente a taxa aumenta bastante!

Não refiz o calculo mas do ponto de vista de tamanho do bloco, parece estar em torno de 32+ mil outputs:
https://bitcoin.stackexchange.com/questions/59408/with-100-segwit-transactions-what-would-be-the-max-number-of-transaction-confi

Só que quanto maior a transação, mais difícil um minerador escolher apenas aquela transação para preencher o bloco inteiro...
Pages:
Jump to: