2801
|
Bitcoin / Bitcoin Technical Support / Re: Need a help!
|
on: April 30, 2020, 01:25:59 AM
|
I know I'm being a tad bit cynical... but it's been a while since I've seen a good "Damsel in distress" plea for help On the off chance this isn't just someone who has stolen acquired someone else's bitcoin wallet and is looking for a sucker to do the password bruteforce "heavy-lifting"... just be wary of all the scammers who will offer to help, most likely by sending a Private Message... be especially cautious of anyone that asks that you send them the wallet.dat etc. In the mean time, if you want help from the people here, you'll need to provide some more information: 1. What operating system are you using on your PC? Windows, Linux or MacOSX? 2. What Bitcoin wallet software do you believe you have on your PC?
|
|
|
2802
|
Bitcoin / Bitcoin Technical Support / Re: Does XPubKey gives me privacy ?
|
on: April 30, 2020, 01:18:29 AM
|
That's addressed in the second link OP shared. They use m/0/0 for the first address, and simply increment by 1 from there.
They claim that it is also compatible with Trezor, Ledger and KeepKey extended public keys... so it doesn't sound like they're doing anything out of the ordinary as far as derivation paths are concerned. Understood. So I will create a cold wallet only for Bitwage and later on I will "mix" the funds and transfer them to a private wallet.
Yes, that would be a good strategy... a wallet only for Bitwage... and then later you can utilise Mixers or CoinJoin etc, to be able to get the funds into a private wallet in a way that should effectively obscure the links between all the funds (at least from the average person).
|
|
|
2803
|
Economy / Gambling / Re: Seuntjies DiceBot -Multi-Site, multi-strategy betting bot for dice. With Charts!
|
on: April 30, 2020, 12:48:43 AM
|
The short answer is "No". The much longer answer is that ass soon as you use start() all the initialisation at the beginning of your script is executed... so the "state" is completely wiped and you start from the very beginning again. Depending on how complex your script is, you might be able to fashion a "dumpState()" type function that would dump all the current value of all the variables you are using in your script into a table as it iterates through each "dobet" cycle. That way, you could see the "state" showing in the output log. It should then be theoretically possible to copy/paste that table data into the beginning of your script with some "loadState()" type function that could then initialise all your variables to what they were when the script stopped. Again, how complicated your script is would dictate whether this was viable and how badly it would affect the performance of the script. So for example... something like this: initialBet = 0.00000003 count = 0
dataDump = {count=5,bet=0.00000015} loadData = True
function loadState() count = dataDump["count"] nextbet = dataDump["bet"] end
if loadData then loadState() end
function dobet() print("dataDump = {count=" .. count .. ",bet=" .. nextbet .."}") .... end
Every time through dobet(), it would dump out the 'dataDump' table string... if the script crashes, you copy/paste that back into the top of the script and set loadData = True. If you want the script to just start normally and use the 'default' values, you set loadData = False and the data would not be loaded. But yeah, depending on how many variables, counters, flags, loops etc... it could get very messy very quickly.
|
|
|
2805
|
Bitcoin / Development & Technical Discussion / Re: vanitygen-hd - A Vanity HD/HDM Wallet Generator
|
on: April 28, 2020, 11:38:58 PM
|
...I'm not sure how secure this is and I don't want people to think I endorse something I haven't tested and I can't check the source myself.
Basically works the same as the other "vanity" generators... except instead of generating and testing random keys, this one generates random seeds/mnemonics and tests to see if the address at index m/44'/0'/0'/0/0 matches the given prefix. From a (brief) review of the code, it seems to use bitcoinjs-lib and bip39 libraries to generate the mnemonics/seeds and HD wallets. As far as I'm aware, there aren't any known vulnerabilities with either of those libraries... ie. bad RNG etc... and "bitcoinjs" is fairly well known and used. This looks like a fairly clean implementation tbh... albeit, probably not the most 'efficient'... I would shower you with Merit
@OP, have 10 internetz from me
|
|
|
2806
|
Bitcoin / Hardware wallets / Re: Is there any workaround for using a Ledger on an airgapped PC?
|
on: April 27, 2020, 11:51:24 PM
|
Now before someone argues it makes no sense to use Tor if I've used my Ledger before on my personal computer, for now the best solution I can think of is creating a fresh new seed for my new setup, moving all my funds through decentralized apps and then probably using 5-10 different accounts for each crypto on my Ledger & sending random amounts to them (say I have 1 BTC => I'll split it into 0.3, 0.22, 0.20, 0.1 and 0.18BTC on 5 different accounts).
Can I ask what benefit you believe you are gaining from this? Are you simply attempting to mitigate the risk of linking the coins together by using them in the same transaction(s) because Ledger Live doesn't provide proper coin control?
|
|
|
2807
|
Economy / Gambling / Re: Seuntjies DiceBot -Multi-Site, multi-strategy betting bot for dice. With Charts!
|
on: April 27, 2020, 11:22:29 PM
|
Is there any way someone could make the lightguide script from bustabit work on the dicebot? I'll paste the script below too see if anyone thinks they could do it. It would be amazing if someone could
Two things... first up, you might want to ask over in the programmer thread here on BitcoinTalk: https://bitcointalk.org/index.php?topic=1114503or on the Bot forum: https://forum.seuntjie.com/index.php?board=4.0Secondly... if you're going to copy/paste a large piece of code into a post... you should use the "code" tags... like this: var config = { wager: { value: 100, type: 'balance', label: 'Base bet' }, payout: { value: 2, type: 'multiplier', label: 'Coeff to wait for' }, // limit_script_balance: { // value: 100000, // type: 'balance', // label: 'Maximum lose' // } }; // https://mtihc.github.io/bustabit-script-simulator/ let wantedProfitInBits = config.wager.value / 100; let netProfit = 0; let baseList = []; let currentGamesPlayed = 0; let maxBet = 0; let balanceNeeded = 0; let wins = 0; let loses = 0; let currentlyPlaying = true; let SPLIT_INTO = 3; var MAX_LOSE = 0; var SESSION_NET_PROFIT = 0; var SESSION_MAX_BALANCE_NEEDED = 0; var ALL_GAMES = []; var SESSION_TIMES_ENTERED = 0; addLast50(); var SMALL_SESSION_NET_PROFIT = 0; // generateLastNGames(engine.history.first().hash, 100); function addLast50() { var LATEST_50_GAMES = engine.history.toArray(); // logTime(`LATEST_50 length ${LATEST_50_GAMES.length}`) for (let i = 0; i <= LATEST_50_GAMES.length - 1; i++) { ALL_GAMES.unshift(LATEST_50_GAMES[i].bust); } ALL_GAMES.push(engine.history.first().bust) for (var i = 0; i < ALL_GAMES.length - 1; i++) { // logTime(`id ${i} ${ALL_GAMES[i]}`); } } function getLastNWinPercentage(n, targetPayout) { let wins = 0; let loses = 0; let elements_used = 0 for (let i = ALL_GAMES.length - 1; i > -1 && i > ALL_GAMES.length - 1 - n; i--) { elements_used++; if (ALL_GAMES[i] < targetPayout) { loses++; } else { wins++; } } let percentage = (wins / elements_used) * 100 logTime(`L${elements_used} wins: ${percentage} %`); return percentage; } initScript(); function getCurrentBetLightGuide() { let currentMultiplier = 0; let currentBet = null; if (netProfit >= 0 && currentGamesPlayed > 0) { return currentBet; } if (baseList.length >= 2) { currentMultiplier = baseList[0] + baseList[baseList.length - 1]; currentBet = (currentMultiplier * config.wager.value); } else if (baseList.length === 1) { currentMultiplier = baseList[0]; currentBet = (currentMultiplier * config.wager.value) * 2; } else { currentMultiplier = null; } return currentBet; } function initScript() { logTime(`Starting in game ${engine.history.first().id}`); // Want to earn: ` + wantedProfitInBits + ' bits. Splliting into: ' + SPLIT_INTO); SESSION_TIMES_ENTERED += 1; // let wanted_statistics = [800, 700, 600, 500, 400, 300, 200, 150, 100, 50, 40, 30, 20, 10]; // wanted_statistics.forEach(function (element) { // getLastNWinPercentage(element, 2); // }) logTime('------------------------------------------------') // TO DO: Uncomment // for (let i = 1; i <= SPLIT_INTO; i++) { // baseList.push(Math.round(wantedProfitInBits / SPLIT_INTO) * 100) // } baseList = [1, 2, 3]; netProfit = 0; currentGamesPlayed = 0; maxBet = 0; balanceNeeded = 0; wins = 0; loses = 0; currentlyPlaying = true; SMALL_SESSION_NET_PROFIT = 0; } // Try to bet immediately when script starts if (engine.gameState === "GAME_STARTING") { makeBet(); } engine.on('GAME_STARTING', onGameStarted); engine.on('GAME_ENDED', onGameEnded); function onGameStarted() { if (!currentlyPlaying) { initScript(); } let currentBet = getCurrentBetLightGuide(); if (!currentBet) { currentlyPlaying = false; printEndStatus(); // engine.on('GAME_STARTING', function(){}); initScript(); } makeBet(); } function onGameEnded() { ALL_GAMES.push(engine.history.first().bust); let lastGame = engine.history.first(); // If we wagered, it means we played if (!lastGame.wager) { return; } let lastBet = getCurrentBetLightGuide(); if (lastGame.cashedAt) { let profit = Math.round(((lastBet * config.payout.value) - lastBet) / 100); netProfit += profit; SESSION_NET_PROFIT += profit; SMALL_SESSION_NET_PROFIT += profit logTime(`Won ${profit} bits`); if (baseList.length > 1) { baseList.splice(baseList.length - 1, 1); } baseList.splice(0, 1); wins += 1; } else { var lost = lastBet / 100; logTime(`Lost ${lost} bits`); netProfit -= lost; SESSION_NET_PROFIT -= lost; baseList.push(lastBet / config.wager.value); loses += 1; } currentGamesPlayed += 1; // logTime(`Net profit: ${netProfit} Current bet: ${getCurrentBetLightGuide() / 100}`); let currentBalanceNeeded = netProfit + ((getCurrentBetLightGuide() / 100) * -1); if (currentBalanceNeeded < balanceNeeded) { balanceNeeded = currentBalanceNeeded; } if (currentBalanceNeeded < SESSION_MAX_BALANCE_NEEDED) { SESSION_MAX_BALANCE_NEEDED = currentBalanceNeeded; } logTime('Net profit: ' + netProfit + ' bits. Left to play: ' + baseList.length); } function printEndStatus() { logTime(`Game ended id: ${engine.history.first().id}. Played: ` + currentGamesPlayed + ' Net profit: ' + netProfit + ' bits. Balance needed: ' + balanceNeeded * -1 + ' bits Max bet: ' + maxBet / 100 + ' bits. Wins: ' + (wins / (wins + loses) * 100) + ' % Loses: ' + (loses / (wins + loses) * 100) + ' %'); logTime(`SESSION NET PROFIT ${SESSION_NET_PROFIT} bits, SESSION MAX BALANCE NEEDED ${SESSION_MAX_BALANCE_NEEDED} bits, SESSION TIMES ENTERED ${SESSION_TIMES_ENTERED}`) } function makeBet() { let currentBet = getCurrentBetLightGuide(); if (!currentBet) { printEndStatus(); return; } engine.bet(currentBet, config.payout.value); if (currentBet > maxBet) { maxBet = currentBet; } logTime('betting ' + Math.round(currentBet / 100) + ' on ' + config.payout.value + ' x'); } function logTime(msg) { let today = new Date(); let calendarDate = `${today.getDate()}-${today.getMonth() + 1}-${today.getFullYear()}`; let now = `${today.getHours()}:${today.getMinutes()}:${today.getSeconds()}`; log(`${now} ${msg}`); }
It keeps your post a lot tidier... and it stops the forum from interpretting things like the [ i ] in your code as text formatting
|
|
|
2808
|
Bitcoin / Electrum / Re: Electrum
|
on: April 27, 2020, 11:08:58 PM
|
Is there a restriction on how much I can bring bitcoins there or not?
No. Although I am curious as to what makes you think that there might be a restriction? Did you read or hear somewhere that the wallet has a limitation? Or were you using a different wallet that had limitations?
|
|
|
2809
|
Bitcoin / Wallet software / Re: BITCOIN AS GIFTS FOR TEENAGERS
|
on: April 26, 2020, 11:25:19 PM
|
All kinds of games, social media, porn, funny videos, and other links circulating around. All those find which friend visits your profile most often type of services are a great front to steal data, private info, etc. It's like all those "Here are my answers, now copy to your timeline and post your answers!" posts that do the rounds on Facebook... and they ask questions like: - Name of first girlfriend/Boyfriend - Street where you lived as a child - First school - First Pets name - Favourite Colour - Mother maiden name - First Car that you owned etc etc... which all look like "Password Recovery Security Questions" or a commonly used password components... and you're tying it directly to your public facebook profile! It's basic social engineering... genius in it's simplicity.
|
|
|
2810
|
Bitcoin / Bitcoin Technical Support / Re: Private Key lost one character
|
on: April 26, 2020, 11:07:39 PM
|
Ok, well if you have any more troubles, you'll either need to take a screenshot of the error... or copy/paste everything that is being shown in the terminal window when you try to run the commands. "Invalid Error" and/or "[Errno 2]" don't really tell us anything, so it isn't possible to troubleshoot that properly.
|
|
|
2811
|
Bitcoin / Bitcoin Technical Support / Re: Passphrase with seed
|
on: April 26, 2020, 11:04:03 PM
|
Well there you go then... another reason not to trust anything on Wikipedia So of all the "picking words" options, picking from a full dictionary rather than from BIP39 is a better option, but random characters (even just letters are no numbers or symbols) is better still.
Bad maths aside... this was kind of the point of my post... using dictionary words is not a great idea for creating (short) passwords. By choosing only "6" words, you are, effectively [1], creating a 6 character password (albeit with a much larger "alphabet"... ~5000 "chars")... and I think we'd both agree that that is a "Bad Idea"™ [1] not exactly the same, but in the realm of these large numbers it's fairly simliar...
|
|
|
2812
|
Bitcoin / Bitcoin Technical Support / Re: Wallet was restored fine but "unspendable".
|
on: April 26, 2020, 10:51:01 PM
|
So a blockchain.info wallet from 2015 with multiple addresses used a RNG like the first version(s) of Bitcoin Core?
Correct, it was essentially just a collection of "random" keys like most of the early nonHD wallets (like MultiBit classic etc)... that's why you wee able to backup the wallet.json. And the "recovery phrase", was password recovery... not wallet recovery. So, you needed: Password + WalletID to access via web... or Password + wallet.aes.json to decrypt offline. (They have an offline decryption utility here: https://github.com/blockchain/my-wallet-backup-decryption-tool)
|
|
|
2813
|
Bitcoin / Electrum / Re: I can send from electrum, I can't import private keys (empty keys)
|
on: April 26, 2020, 10:37:07 PM
|
All Segwit addresses that are generated by Electrum are bech32. It's impossible to generate a nested segwit address using Electrum. (You can import a nested segwit addresses into Electrum if you have its private key of course).
All addresses starting with 3 that are generated by Electrum are legacy addresses in multi-signatures wallet.
That isn't quite true. By default, Electrum only lets you choose between Legacy and Native SegWit, bu if you click the "BIP39 seed" option when creating a wallet, input an Electrum seed and then select Nested SegWit, Electrum will quite happily generate a wallet full of "3" type addresses that are Nested SegWit and are not multisig. You can actually do this with either an Electrum seed or an actual "BIP39" seed. Abdussamad even created a short tutorial on how to do it: https://bitcoinelectrum.com/creating-a-p2sh-segwit-wallet-with-electrum/NOTE: As per the tutorial, this is not a recommended setup.
|
|
|
2814
|
Bitcoin / Wallet software / Re: BITCOIN AS GIFTS FOR TEENAGERS
|
on: April 25, 2020, 02:12:34 PM
|
Mycelium is not very interesting because of tha lack of support for the iOS version.
OK Coolcryptovator, many thanks, I'll work on the ELECTRUM.
Just FYI, Electrum doesn't have an iOS version either... If you absolutely must have an Android and an iOS solution and you'd like to keep it simple and use the same wallet on both platforms... maybe check out "BRD" (formerly known as "Bread") wallet... it also supports scanning QR codes to import paper wallets.
|
|
|
2815
|
Bitcoin / Bitcoin Technical Support / Re: Passphrase with seed
|
on: April 25, 2020, 01:55:19 PM
|
I have heard that you can mess up security exponentially with playing with the features but i also want to be able to retrieve my coins and not lock myself out.
Yes... and that is what I was alluding too... by "abusing" these functions and using them for things they were not designed for, you can adversely affect the overall security of your setup. Without getting into the complicated maths, you're effectively reducing your security to that of a "simple brainwallet" by using dictionary words as your passphrase, should your seed become compromised.
I'm going to question HCP's maths here though. There are only somewhere in the region of 170,000 words in the entire English language. The internet tells me there are less than 5000 four letter words. 5000^6 is ten times smaller than 2048^7 - in other words, not very secure. You need to either pick more words or use random characters.
Really? "Wikipedia" seems to think we have ~500,000... https://en.wikipedia.org/wiki/List_of_dictionaries_by_number_of_wordsWebsters is apparently at ~470,000... And this website seems to think we have nearly 150,000 "4 letter words": https://www.thefreedictionary.com/4-letter-words.htmI don't know for sure, but either way... it's not a "big" number (relatively speaking)... so it's still not a "Good Idea"™ Why 86? I thought passphrases were compatible with the full printable ASCII character set, which is 95 characters.
I will admit that this was a completeeducated guess tho... my "napkin" math was 52 chars + 10 numbers + ? symbols... I thought it would be around 20-25 symbols... apparently there are more
|
|
|
2816
|
Bitcoin / Hardware wallets / Re: OpenDime or Hardware Wallet?
|
on: April 25, 2020, 07:13:38 AM
|
Need to sign a message. Nope, not from what I can see in the app. Another shitfork comes out, can't claim it.
That's a good point actually... it really is borderline "not your keys", almost to the point of "custodial" except, theoretically, no-one has access to the keys... Having said that, I guess the point of these cards isn't really to be a long term HODL type device... more a way you can load up some coins and pass them onto someone in a relatively secure (offline) way.
|
|
|
2817
|
Bitcoin / Bitcoin Technical Support / Re: Wallet was restored fine but "unspendable".
|
on: April 25, 2020, 07:11:14 AM
|
OK,thanks,I don't really care but someone who had a lot of money in one is getting screwed actually,your seed words are supposed to restore the wallet isn't it,I'm not being sarcastic or anything that's probably the first thing I was told years ago "save your seed words save your wallet",guess that's not really true.
Yes.. that is true... for "BIP39 compatible" seeds and "HD" (Hierarchical Deterministic) wallets. They are able to fully replicate the wallet and all the private keys from the 12/24 word seed mnemonic. As nc50lc said, the blockchain.info " recovery phrase" was around before BIP39... and was a password recovery mechanism. It was not a "seed recovery". You still needed to know your Wallet ID and/or have access to the wallet.json (that you could backup via email). They (blockchain.info) updated to HD wallets in around 2016 and the 12 word seeds from those HD wallets allow full recovery. A lot has changed in the last 6-7 years... and most HD wallets adhere to BIP39 (Electrum is a notable exception, but it can restore BIP39 wallets)... so yes, "save your seed words, save your wallet" holds true, assuming you actually have seed recovery words
|
|
|
2818
|
Bitcoin / Electrum / Re: [GUIDE] How to Safely Download and Verify Electrum [Guide]
|
on: April 25, 2020, 12:59:13 AM
|
Yes, that's the entire point... you either need the downloaded application file/installer/exe to be PGP signed or the file containing the hashes (or both for the really paranoid! )... Without the PGP signature attached to something, you basically have no way to properly validate the download.
|
|
|
2819
|
Bitcoin / Hardware wallets / Re: OpenDime or Hardware Wallet?
|
on: April 25, 2020, 12:49:33 AM
|
I'm not sure about this part: Who knows the private key?
Each Tangem Card holds a secure chip that allows you to store and carry digital assets. The private key is generated by and permanently stored within the chip. Nobody has access to it either during or after the manufacturing process. This means that nobody can input, export or make a copy of this key.
So, it appears that the Tangem card cannot be "reset" to regenerate a new key... instead it just arrives "as-is" with a preloaded key? That seems... "problematic". Still, they look nice
|
|
|
2820
|
Bitcoin / Hardware wallets / Re: Is there any workaround for using a Ledger on an airgapped PC?
|
on: April 25, 2020, 12:40:46 AM
|
And here I was thinking jerry0 was the most paranoid person on the hardware wallet board! This is completely overkill from a "security" perspective, and likely to just create enormous headaches for yourself. However, I can understand why you might want to do this from a "privacy" perspective so that when transmitting the transactions, they're not traceable back to you/your IP etc. However, if you were to simply use the Ledger device normally via TOR, that would pretty much achieve the same thing. Personally, I think you're looking for solutions to problems that don't really exist.
|
|
|
|