Bitcoin Forum
November 14, 2024, 09:09:26 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: When can we expect user friendly offline transactions?  (Read 225 times)
cellard (OP)
Legendary
*
Offline Offline

Activity: 1372
Merit: 1252


View Profile
January 20, 2018, 01:11:40 PM
 #1

I would really like to use Bitcoin Core in an airgapped laptop and use it as cold storage, and in another computer that connects to the internet, have Bitcoin Core synced with a full blockchain and make the transactions safely in the airgapped laptop and then pass it with as a QR code in the online Bitcoin Core wallet, but currently this process is all done in the console and it's a bit of a mess and could lead to some fatal mistakes (entering an huge fee by accident for example)

When can we expect a nice GUI support for this? if we want people to use Bitcoin Core to transact and verify transactions, this would incentivize people to do so. Armory for example makes it easier but I don't trust it, they've had some serious bugs.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3542
Merit: 6886


Just writing some code


View Profile WWW
January 21, 2018, 03:31:24 AM
 #2

When can we expect a nice GUI support for this?
Probably never.

Valle
Full Member
***
Offline Offline

Activity: 177
Merit: 101


View Profile
January 21, 2018, 06:51:54 AM
 #3

I tried to do that on android and it's practically impossible to end up with a sane UI for that since it requires to enter full info on unspent outputs. SegWit/BCash protects from entering incorrect amount and producing huge fee but it complicates things even more.

In order to enter unspent outputs info you have few choices - entering raw hex transactions, entering a json from a web service or using a some sort of tx constructor. So for practical point of use it's much easier to use hardware wallets.
cellard (OP)
Legendary
*
Offline Offline

Activity: 1372
Merit: 1252


View Profile
January 21, 2018, 03:51:29 PM
 #4

When can we expect a nice GUI support for this?
Probably never.

So how can we ever expect people to use the Bitcoin Core client as a way to transact and validate things yourself if we don't make it easier? Luke claimed that if you aren't running your own node and validating your transactions you aren't using Bitcoin and I agree, but having to construct the raw transaction manually is a mess for most people. I know "most people" aren't supposed to run nodes, but even for those that do actually run the nodes, it takes then even smaller % of the ones that will bother with this, most will rely on hardware wallets which I don't trust due having to trust someone else's RNG.

If Armory can have a good GUI for this I don't see why Core's client cant.
ranochigo
Legendary
*
Offline Offline

Activity: 3038
Merit: 4420


Crypto Swap Exchange


View Profile
January 21, 2018, 04:26:47 PM
 #5

So how can we ever expect people to use the Bitcoin Core client as a way to transact and validate things yourself if we don't make it easier?
It's fulfills that criteria, pretty easy I would say. Bitcoin Core isn't meant for offline transaction to be honest. You would have to specify the change address and remember that it contains the Bitcoins etc...
Luke claimed that if you aren't running your own node and validating your transactions you aren't using Bitcoin and I agree, but having to construct the raw transaction manually is a mess for most people. I know "most people" aren't supposed to run nodes, but even for those that do actually run the nodes, it takes then even smaller % of the ones that will bother with this, most will rely on hardware wallets which I don't trust due having to trust someone else's RNG.

If Armory can have a good GUI for this I don't see why Core's client cant.
While I do agree that it would be the best for Bitcoin Core to implement such a function, I don't see it as necessary. Bitcoin Core is a full node and there are loads of things to implement, bugs to fix. If you really want that function, use Electrum/Armory. Sure, they had vulnerabilities but would it have affected you if you have done everything correctly? Bitcoin Core could have a zero day vulnerability as well, as with any other piece of software in the world.

I doubt Bitcoin Core was ever designed to cater to those who wants advanced functionality while still having an UI for it. Actually, why don't you try Coinb.in to create your raw transaction? It's online and all but you can easily verify the transaction data yourself on your offline computer. If you really insist, you can create a pull request but you have to do it yourself.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
cellard (OP)
Legendary
*
Offline Offline

Activity: 1372
Merit: 1252


View Profile
January 21, 2018, 05:20:17 PM
 #6

So how can we ever expect people to use the Bitcoin Core client as a way to transact and validate things yourself if we don't make it easier?
It's fulfills that criteria, pretty easy I would say. Bitcoin Core isn't meant for offline transaction to be honest. You would have to specify the change address and remember that it contains the Bitcoins etc...
Luke claimed that if you aren't running your own node and validating your transactions you aren't using Bitcoin and I agree, but having to construct the raw transaction manually is a mess for most people. I know "most people" aren't supposed to run nodes, but even for those that do actually run the nodes, it takes then even smaller % of the ones that will bother with this, most will rely on hardware wallets which I don't trust due having to trust someone else's RNG.

If Armory can have a good GUI for this I don't see why Core's client cant.
While I do agree that it would be the best for Bitcoin Core to implement such a function, I don't see it as necessary. Bitcoin Core is a full node and there are loads of things to implement, bugs to fix. If you really want that function, use Electrum/Armory. Sure, they had vulnerabilities but would it have affected you if you have done everything correctly? Bitcoin Core could have a zero day vulnerability as well, as with any other piece of software in the world.

I doubt Bitcoin Core was ever designed to cater to those who wants advanced functionality while still having an UI for it. Actually, why don't you try Coinb.in to create your raw transaction? It's online and all but you can easily verify the transaction data yourself on your offline computer. If you really insist, you can create a pull request but you have to do it yourself.

I don't like how these softwares handle the private keys, I don't find safe the idea of being able to "spawn" your entire private key collection with a single seed, I see this as a vulnerability to be honest. Then they've had many vulnerabilities, latest one wast he SSS one with Armory..
Also I find the nice and simple layout of the original client better, but I guess im stuck with what we have now. Unfortunately I can't code myself a GUI interface for this safely.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3542
Merit: 6886


Just writing some code


View Profile WWW
January 22, 2018, 11:48:25 PM
 #7

but having to construct the raw transaction manually is a mess for most people.
You would have to specify the change address and remember that it contains the Bitcoins etc...
The whole process has been made way easier with the fundrawtransaction command. You don't have to figure out the inputs anymore nor do you have to do anything with determining change outputs. With fundrawtransaction, you just need to use createrawtransaction and specify only outputs, no inputs. Then you pass that into funrawtransaction and it will fill in the inputs and create a change output as necessary. The resulting unsigned transaction can then be signed with signrawtransaction and broadcast.

Sure the UI could use a bit of work, but it's relatively simple to use if you know how to read instructions.

Core really is not designed for or setup for doing the airgapped machine setup. It is first and foremost a node software, not a wallet or GUI software. If you want a certain feature, you can either implement it yourself or find/hire someone to implement it for you. The Bitcoin Core developers are not your personal slaves to implement everything as you wish. We often have more important things to do related to the network as a whole than to implement GUI features.

If Armory can have a good GUI for this I don't see why Core's client cant.
Because the are for different use cases with the developers focusing on different things.

I don't like how these softwares handle the private keys, I don't find safe the idea of being able to "spawn" your entire private key collection with a single seed,
Bitcoin Core will be switching to creating HD wallets only with Bitcoin Core 0.16. Of course it is still backwards compatible, but new wallets cannot be non-HD.

cellard (OP)
Legendary
*
Offline Offline

Activity: 1372
Merit: 1252


View Profile
January 24, 2018, 07:44:07 PM
 #8


The whole process has been made way easier with the fundrawtransaction command. You don't have to figure out the inputs anymore nor do you have to do anything with determining change outputs. With fundrawtransaction, you just need to use createrawtransaction and specify only outputs, no inputs. Then you pass that into funrawtransaction and it will fill in the inputs and create a change output as necessary. The resulting unsigned transaction can then be signed with signrawtransaction and broadcast.

Sure the UI could use a bit of work, but it's relatively simple to use if you know how to read instructions.


Using bitcoin without specifying from which addresses are you going to send money was always pointless to me if you wanted any sort of control over the privacy of your money so I need to be able to choose what inputs I want to use (I use "Coin Control" for this which is one of the main reasons I used Bitcoin Core's client) but trying to do this manually adds the possibility of screwing things up.

Luke JR is always saying how if you don't use Bitcoin Core as a wallet too (or a full client) you aren't really using Bitcoin and I agree, which is why I figured the wallet interface should get some work done.

Compare this:

https://www.youtube.com/watch?v=jWKuqP-zTFk

to this:

https://www.youtube.com/watch?v=w9egAS8szj0&t=2m43s

The idea would be to do enter things in a nice and clean GUI and then save it in a txt file, too bad im not a coder so the only thing I can do is hopefully someone sees this and implements it.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3542
Merit: 6886


Just writing some code


View Profile WWW
January 25, 2018, 12:39:13 AM
 #9

Using bitcoin without specifying from which addresses are you going to send money was always pointless to me if you wanted any sort of control over the privacy of your money so I need to be able to choose what inputs I want to use (I use "Coin Control" for this which is one of the main reasons I used Bitcoin Core's client) but trying to do this manually adds the possibility of screwing things up.
Then use the lockunspent command to prevent Bitcoin Core from selecting certain outputs.

The idea would be to do enter things in a nice and clean GUI and then save it in a txt file, too bad im not a coder so the only thing I can do is hopefully someone sees this and implements it.
This is also the billionth time you have asked for it. If you want a feature, asking for it here is not the way to go. The vast majority of Bitcoin Core contributors don't read this forum. If you have a feature request, make an issue on the github page if there is not already one.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!