<blockquote>
<p>Can you really trust a non-open-source desktop wallet?</p>
</blockquote>
<p>Yes! Iff they hired top security experts and regularly undergo audits.</p>
<p>The only reason some people don't is the existence <em>security-by-obscurity</em> : Certain services only rely on the fact that the source code is not published for security. For as long as this is not the only protector, there is no reason not to trust! Using non-deterministically compiled binaries of open-source software is unsafe anyway.</p>
<p>For me, well-reviewed code is more important than open-source-ness. Not everyone, not even most of somethings' users, audit the source code! Open-source does not protect programmers from ignorance and making silly security mistakes.</p>
<p>So personally, open-sourceness only depends on their business model, which is not linked to their security guarantees anyway!</p>
<blockquote>
<p>If you are using a hot wallet, and can't see the app code, doesn't that mean it is theoretically possible for the devs to steal your crypto, even if you can see your private key?</p>
</blockquote>
<p>It is possible for devs to steal your money even if they use open-source! See <a href="https://news.ycombinator.com/item?id=18534392" rel="nofollow noreferrer">event-stream</a></p>
<p>The problem is not being unable to see the code, it's about VERIFYING ALL of the code. If paid audits are taking place, I would trust them more than as if I saw their code!</p>
<blockquote>
<p>Shouldn't everyone be using exclusively open-sourced wallets for this reason?</p>
</blockquote>
<p>No. It's generally better to use stuff whose code you can see ... so if you're the developer of a closed source software, I don't see a reason not to ... given that the most recent audit was actually recent.</p>
<hr />
<p>The reason open-source is considered superior is because being able to access the code makes people feel safer, even if they never will.</p>

CC BY-SA 4.0
2020-12-24T18:34:36.637Z
Based on what you said, it would seem as it is more a matter of opinion than of a real security difference?
Wouldn't you say that any application that is not open source has more chance of being intentionally malicious?
NobodySomewhere
CC BY-SA 4.0
2020-12-24T18:49:22.357Z
@NobodySomewhere It's easier to be malicious if your software is closed-source, but it's equally possible to be malicious in open source and closed source. Open-source tend to be safer in practice since it allows 3rd party audits and it's a signal that the developers pay attention to being transparent. I'm just saying that closed-source software, especially if it's well-funded and has trustworthy developers, is not inferior in terms of security.
MCCCS
CC BY-SA 4.0
2020-12-24T20:24:31.363Z
Sorry I think you are plain wrong, it's not equally possible to be malicious in open source as it is in closed source, it is much more easy to be malicious in closed source software. Also, by saying open-source is safer in practice, you are contradicting yourself. I'm a software engineer so I know what I'm talking about. 

My question is more about how easy is it for developers to run away with someone else's crypto if they wanted to; are there any safety mechanisms engineered to blockchain that can protect the user in such cases?
NobodySomewhere
CC BY-SA 4.0
2020-12-24T20:34:51.060Z
Yes it's easier for closed-source, but I meant that any talented developer should be able to hide malware in open source. If it's JS, hide it in dependencies. If it's a systems programming language, ship it with a DLL with the name of a known library. If it's in C, reuse malloc'ed portions without setting to zero and send it to a server. The reason I said "closed-source is not inferior" is because if a company pays another to code a cryptocurrency vault for them while paying them 50K per year, there is no reason that any open-source software should be more trustworthy.
MCCCS
CC BY-SA 4.0
2020-12-24T20:36:00.127Z
Unfortunately anything in the computer memory can be read. So there is no way we can guarantee security. The closest I can think of is nLockTime which prevents coins from being moved until a certain time, but after that time, they can still be stolen.
MCCCS
CC BY-SA 4.0
2020-12-24T20:39:01.587Z
Hardware wallets also exist and they might be safer than computers. Computers are unsafe environments. A compromised desktop software can't harm a hardware wallet if the user cautiously reads the hardware wallet's screen.
MCCCS
CC BY-SA 4.0
2020-12-24T14:47:44.190Z
2020-12-24T14:55:51.980Z
2020-12-24T14:55:51.980Z
MCCCS
<p>I am a newbie in the crypto markets, but as a software engineer, it seems to me that a huge security vulnerability could be choosing a wrong wallet.</p>
<p>If you are using a hot wallet, and can't see the app code, doesn't that mean it is theoretically possible for the devs to steal your crypto, even if you can see your private key?</p>
<p>Shouldn't everyone be using <em>exclusively</em> open-sourced wallets for this reason?</p>

<wallet><electrum><wallet-security>
Can you really trust a non-open-source desktop wallet?
NobodySomewhere
# Can you really trust a non-open-source desktop wallet?

(Asked by: username_0 on 2020-12-23)

I am a newbie in the crypto markets, but as a software engineer, it seems to me that a huge security vulnerability could be choosing a wrong wallet.

If you are using a hot wallet, and can't see the app code, doesn't that mean it is theoretically possible for the devs to steal your crypto, even if you can see your private key?

Shouldn't everyone be using *exclusively* open-sourced wallets for this reason?

**Tags:** wallet, electrum, wallet-security


---

## 1 answers

### Answer by username_1 on 2020-12-24. Score: 1

> Can you really trust a non-open-source desktop wallet?

Yes! Iff they hired top security experts and regularly undergo audits.

The only reason some people don't is the existence *security-by-obscurity* : Certain services only rely on the fact that the source code is not published for security. For as long as this is not the only protector, there is no reason not to trust! Using non-deterministically compiled binaries of open-source software is unsafe anyway.

For me, well-reviewed code is more important than open-source-ness. Not everyone, not even most of somethings' users, audit the source code! Open-source does not protect programmers from ignorance and making silly security mistakes.

So personally, open-sourceness only depends on their business model, which is not linked to their security guarantees anyway!

> If you are using a hot wallet, and can't see the app code, doesn't that mean it is theoretically possible for the devs to steal your crypto, even if you can see your private key?

It is possible for devs to steal your money even if they use open-source! See [event-stream](https://news.ycombinator.com/item?id=18534392)

The problem is not being unable to see the code, it's about VERIFYING ALL of the code. If paid audits are taking place, I would trust them more than as if I saw their code!

> Shouldn't everyone be using exclusively open-sourced wallets for this reason?

No. It's generally better to use stuff whose code you can see ... so if you're the developer of a closed source software, I don't see a reason not to ... given that the most recent audit was actually recent.

---

The reason open-source is considered superior is because being able to access the code makes people feel safer, even if they never will.

> **Comments:**
> **username_0**: Based on what you said, it would seem as it is more a matter of opinion than of a real security difference? Wouldn't you say that any application that is not open source has more chance of being intentionally malicious?  
> **username_1**: @username_0 It's easier to be malicious if your software is closed-source, but it's equally possible to be malicious in open source and closed source. Open-source tend to be safer in practice since it allows 3rd party audits and it's a signal that the developers pay attention to being transparent. I'm just saying that closed-source software, especially if it's well-funded and has trustworthy developers, is not inferior in terms of security.  
> **username_0**: Sorry I think you are plain wrong, it's not equally possible to be malicious in open source as it is in closed source, it is much more easy to be malicious in closed source software. Also, by saying open-source is safer in practice, you are contradicting yourself. I'm a software engineer so I know what I'm talking about.   My question is more about how easy is it for developers to run away with someone else's crypto if they wanted to; are there any safety mechanisms engineered to blockchain that can protect the user in such cases?  
> **username_1**: Yes it's easier for closed-source, but I meant that any talented developer should be able to hide malware in open source. If it's JS, hide it in dependencies. If it's a systems programming language, ship it with a DLL with the name of a known library. If it's in C, reuse malloc'ed portions without setting to zero and send it to a server. The reason I said "closed-source is not inferior" is because if a company pays another to code a cryptocurrency vault for them while paying them 50K per year, there is no reason that any open-source software should be more trustworthy.  
> **username_1**: Unfortunately anything in the computer memory can be read. So there is no way we can guarantee security. The closest I can think of is nLockTime which prevents coins from being moved until a certain time, but after that time, they can still be stolen.  
> **username_1**: Hardware wallets also exist and they might be safer than computers. Computers are unsafe environments. A compromised desktop software can't harm a hardware wallet if the user cautiously reads the hardware wallet's screen.  

---

