Author

Topic: Inputs (Read 278 times)

legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
September 12, 2020, 12:58:20 PM
#8

Acho que uma solução simples para isso seria fazer uma wallet que consolidasse automaticamente os inputs de preguicosos. QUando voce criasse a wallet o app perguntava "Voce deseja pagar menos em transacoes? Voce autoriza a wallet a fazer uma transacao agora de consolidacao que pode demorar até 3 dias a 1 sat/byte? Depois desse processo, voce irá permanentemente pagar menos em fees"

So vi agora esse post, queria adicionar que um wallet com essa funcionalidade seria bastante inseguro, sendo que ele teria o controle total de assinar transaçoes, e um update errado poderia introduzir com muita facilidade uma funçao pra roubar BTC de todo mundo.
legendary
Activity: 2758
Merit: 6830
July 23, 2020, 01:50:37 PM
#7
O UTXO é como uma nota física de Real. Você recebe um pagamento de R$ 10,00 e fica com uma nota de R$ 10,00. Depois recebe outro de R$ 50,00 e agora você tem uma nota de R$ 10,00 e uma de R$ 50,00. Mas você fala "tenho R$ 60,00 na carteira". É a mesma coisa com o Bitcoin.

O usuário que recebe 0.7 BTC e 0.3 BTC vê 1 BTC em seu endereço, como um número inteiro absoluto, porém, no nível do protocolo, o saldo é a junção de todos os outputs (que servem como inputs nas suas transações). É uma prova assinada pelo antigo dono (que lhe enviou) que diz que tal moeda agora pode ser gasta pelo seu endereço.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 23, 2020, 05:47:40 AM
#6
Então, minha duvida é essa.. Será que ninguém pensou numa forma de consolidar o saldo sem precisar realizar uma tx?

Essa é a forma como o blockchain foi desenhado. Em um nível mais básico não existem endereços. Existem somente UTXO, que são, a grosso modo, esses inputs e outputs.

Um "BIP" sobre isso seria outro blockchain, não seria nem um fork.

Ethereum trabalha de outra forma, mas existiram ganhos e perdas.

Para uma blockchain que não vai escalonar por si só (ex: tamanho do bloco), eu vejo como um problema sim.. Não é todo mundo que tem paciência para consolidar saldos quando a rede não está congestionada..

Mas ai os assuntos começam a se misturar... O Bitcoin oferece uma forma de fazer transações baratas, mas aí o usuário não tem paciência pra pagar menos e reclama que paga caro. rsrs

Acho que uma solução simples para isso seria fazer uma wallet que consolidasse automaticamente os inputs de preguicosos. QUando voce criasse a wallet o app perguntava "Voce deseja pagar menos em transacoes? Voce autoriza a wallet a fazer uma transacao agora de consolidacao que pode demorar até 3 dias a 1 sat/byte? Depois desse processo, voce irá permanentemente pagar menos em fees"
legendary
Activity: 2688
Merit: 2297
July 22, 2020, 10:55:36 PM
#5
Mas não é um problema, nem atrapalha a funcionalidade. É importante que você possa controlar seus inputs individualmente, é uma função.

Se sempre que você recebesse uma transação os inputs fossem automaticamente consolidados as taxas seriam ainda mais caras.

Para uma blockchain que não vai escalonar por si só (ex: tamanho do bloco), eu vejo como um problema sim.. Não é todo mundo que tem paciência para consolidar saldos quando a rede não está congestionada..

Então, minha duvida é essa.. Será que ninguém pensou numa forma de consolidar o saldo sem precisar realizar uma tx?


Edit e curiosidade: Ethereum nao funciona dessa forma (inputs e outputs, ou seja, UTXO unspent transaction outputs). Ethereum usa outro modelo. Mais detalhes aqui:
https://blockonomi.com/utxo-vs-account-based-transaction-models/
Curiosamente, o modelo utilizado pelo ethereum é menos transparente, não tem completa fungibilidade e tb não é escalável. Mas é mais simples para rodar smartcontracts.
Bom trade-off?

Vou ler com calma depois.. nunca tinha parado para pensar que o ETH não trabalha da mesma maneira em relação a inputs/outputs..
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 22, 2020, 10:46:53 PM
#4
Show! Pensava que só dava para fazer com endereços diferentes..

Não tem algum BIP que vise resolver esse "problema"?

Mas não é um problema, nem atrapalha a funcionalidade. É importante que você possa controlar seus inputs individualmente, é uma função.

Se sempre que você recebesse uma transação os inputs fossem automaticamente consolidados as taxas seriam ainda mais caras.

Voce pode consolidar eles sempre que as taxas estiverem baixas. Por exemplo, meu endereço de campanha de assinaturas tem uns 80 inputs. De tempos em tempos eu faço uma transação dos 80 inputs para exatamente o mesmo endereço. É possivel fazer isso. Coloco 1 sat/byte e pronto, feito.

Daí quando as taxas estiverem altas e eu quiser mandar pra exchange, posso colocar uma taxa maior se eu estiver com pressa (uns 20 sat/byte) mas irei pagar apenas 1 inputs (pq eu consolidei eles antes)

Por exemplo, olhe esse endereço aleatorio:

https://blockchair.com/bitcoin/address/1EsbjqNqCWLckzFBNHkDMFhR3SwG6YsKKV

no proprio block explorer podemos ver a quantidade de inputs:
3 outputs não gastos



Edit e curiosidade: Ethereum nao funciona dessa forma (inputs e outputs, ou seja, UTXO unspent transaction outputs). Ethereum usa outro modelo. Mais detalhes aqui:
https://blockonomi.com/utxo-vs-account-based-transaction-models/
Curiosamente, o modelo utilizado pelo ethereum é menos transparente, não tem completa fungibilidade e tb não é escalável. Mas é mais simples para rodar smartcontracts.
Bom trade-off?
legendary
Activity: 2688
Merit: 2297
July 22, 2020, 10:40:23 PM
#3
-snip-

Show! Pensava que só dava para fazer com endereços diferentes..

Não tem algum BIP que vise resolver esse "problema"?
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 22, 2020, 09:48:34 PM
#2
Já que vocês gostam desses assuntos técnicos e estão lendo o Mastering Bitcoin.. Roll Eyes

Sei que dá para selecionar de qual endereço será feita a transação em uma carteira com vários endereços.. porém as vezes a transação gera mais de um input de um mesmo endereço, mesmo tendo saldo..

A pergunta é: tem como selecionar quais inputs de um mesmo endereço serão usados na transação?



Acho que é a primeira vez que posto nessa aba

A quantidade de inputs não tem relação com a quantidade de endereços.
Cada vez que voce recebe uma transação é gerado um input, independente de qual endereço foi usado.

Na electrum (e na coinomi mobile) é possível selecionar quais os inputs que voce deseja gastar. Essa função se chama COIN CONTROL. Vou botar o passo a passo da electrum:



Pronto. Va em view, show Coins e seleciona as coins (inputs) que voce deseja gastar.
legendary
Activity: 2688
Merit: 2297
July 22, 2020, 03:41:37 PM
#1
Já que vocês gostam desses assuntos técnicos e estão lendo o Mastering Bitcoin.. Roll Eyes

Sei que dá para selecionar de qual endereço será feita a transação em uma carteira com vários endereços.. porém as vezes a transação gera mais de um input de um mesmo endereço, mesmo tendo saldo..

A pergunta é: tem como selecionar quais inputs de um mesmo endereço serão usados na transação?



Acho que é a primeira vez que posto nessa aba
Jump to: