Merge #11704: Windows build doc update · bitcoin/bitcoin ...
Bitcoin Core - Desktop - Windows - Choose your wallet ...
Building Armory From Source – Bitcoin Armory – Python ...
12.7 PATCH NOTES
Dear Escapers! We are glad to present you the preliminary patch notes for the 0.12.7 patch! --- Added: --- • Customs expansion (expansion of industrial area, construction site, added many new explorable buildings, stationary weapons, new location for Reshala spawn etc.) • Added new scav boss - Sanitar. A former doctor, he worked in the health resort "Lazurny bereg", and before that in the TerraGroup laboratory. After the events that happened in Tarkov, he gathered a gang with former colleagues and operates on the "Shoreline". Actively uses professional skills in combat, quickly healing himself and the gang members. He uses various stimulants and medications, including those of his own production. He can quickly perform surgery by pulling out a bullet or applying a tourniquet on the field. Sometimes he is loyal to the Scavs and can leave a couple of first-aid kits or other medical supplies for his own group members on location • New quests on Shoreline • System for reporting suspicious players, unacceptable nicknames and game bugs abusers (on the post-match screen) Improved AI behavior: • Bots can pick up items now • Improved AI behavior when they see bodies • Bots now can pick up a second firearm from bodies • AI now can greet each other or player scavs, showing their peaceful intentions • Bots will eat\drink while in peaceful mode • AI will perform a mag check when in peaceful mode • Bots can check someone for friend or foe by aiming at him for some time, if they’re not sure of one’s intentions • Bots will sprint while patrolling if they consider the spot being dangerous • AI will be able to storm the player as a group, if he’s holding position and attacking them • AI will try to avoid dangerous places --- New weapons: --- • FN GL40 Grenade launcher • Mossberg 590A1 Shotgun --- New ammo: --- • .366 AP-M • .45 ACP Hydr-Shock • 9x19 mm QuakeMaker • 9x19 mm 7N31 • .45 ACP Lasermatch FMJ • .45 ACP AP • 7.62x51 mm M993 • 40x46 мм M381 HE • 40x46 мм M386 HE • 40x46 мм M406 HE • 40x46 мм M433 HEDP • 40x46 мм M441 HE • 40x46 мм M576 buckshot --- Added new stimulants: --- • 3-(b-TG) • L1 (Noradrenaline) • P22 (Specimen 22) • AHF1-M • Meldonin • "Obdolbos" cocktail • M.U.L.E • Added an additional icon for the network connection status in case of high packet loss • In the container slots window, the container tag is now displayed in the header --- Iteration of improving and reworking the skill system: --- New skill "Surgery" • Reduces HP penalty for surgery • Improved surgery speed • (Elite) No HP penalty for the restored body part • (Elite) Maximum increase in the speed of surgery New skill "Aim drills" • Increase of the aiming speed • Decrease the volume of aiming • (Elite) No hand shaking at any stamina value, first 2 seconds after aiming • (Elite) Reduced hands shaking during tremor and fracture, the first 2 seconds after aiming Rework of the “Strength” skill • Increase all weight limits • Increase the speed of the sprint • Increase the jump height • Increase the strength of the grenade throw • Increase the strength of a melee attack • (Elite) The weight does not take into account the weapons on the sling and on the back • (Elite) Melee attack can be stronger than usual Rework of the "Endurance" skill • Increased feet stamina • Reduced stamina consumption for jumping • Increased holding breath time when ads • Increased the speed of breath recovery • (Elite) Maximum increase in breathing recovery rate • (Elite) Breathing is no longer dependent on energy • (Elite) Increased stamina reserve Various fixes in old skills • Added 5 HP to the health of “Chest” zone (from 80 to 85) --- Optimization: --- • Optimized the rendering of decals • Fixed freezes that happened when the sound of thunder or the sound of grenades exploding was played • Optimized the performance of the game server • Fixed an issue with killing the boss of a group of raiders who appeared on the scene after interacting with the trigger was leading to errors on the server • Minor optimizations on the first shot or hit • Optimization of hideout sounds • Fixes of errors that could potentially lead to different freezes --- Fixed: --- • Iteration of fixes and corrections in UI • Bug with the PostFX menu that remains on the screen after closing the settings • Bug playing the sound of contusion if the sound is turned off in the settings • Bug of jerky animation of shooting weapons in the Hideout shooting range • The passage of raiders on the laboratory through the doors • A bug that allowed you to quickly move when constantly tapping the "Run" button when overweight • AS VAL with the handle adapter "Rotor 43" is now impossible to fold • Inability to exit the location via the paid exit “Car”, if you reconnect at the start of the exfil timer • Bug with throwing away the magazine when reloading the weapon via the context menu • Error 228 when receiving items from an expired email • Formulas for calculating prices for items with its resource and its commissions • After the reconnect, the equipment that was not searched become searched • The sound of the visor on/off remained at one point, and does not follow the character • Bug that wouldn't block buttons on the bottom panel after reconnecting as a Scav • Interface block if you go to the “Map” screen without a map • Bug when the "Receive all" button opened only the first and last message with items • Various bugs with switching the sound from “outdoor " to "indoor", and back, when reconnecting • Bug of not blocking an item after it was added to the merchant's sales table • Cartridges from packs of cartridges found in raid now have the status " found in the raid” • Error when studying items from the scav box • Fixes in the flea Market • The search will be updated if you delete and add an item to the wish list • Loss of a player's nickname and rating from the offer line after applying filters • The “search by item" option now resets the selected filters • Bug displaying the loading spinner on top of the list of offers • The mount without the “Found in raid" label ceased to be semitransparent (blocked) in the selection of the item for the offer, if you put and remove the mod on it • Bug when the merchant's avatar was flattened • Incorrect tag behavior on marked items for a flea market offer if you select multiple items from the container, closing and opening the container • Horizontal scrollbar on the product sales screen • Bug when the player couldn't put 2 identical weapons on the flea market if one of them was included in the starter kit for pre-order • Error 1508 - You send bad items- when putting an empty pack of cartridges on a flea Market • Bug, when for buying through a flea market goods from npc merchants needed items found in raid Fixed in weapon presets • Displaying the indicator “you have mods to build” when there are no mods for the build in the stash • Bug when the build could have been built with the wrong mod that was not in the preset • Weapon disassembly bug if you build the same preset twice with the same weapon • Ability to select items that are blocked for purchase, via the presets by clicking the button “Select all” • Packs of items are no longer displayed in the purchase lists of preset mods • The purchase lists of presets no longer display items the player's own offers • Added an error about lack of space when purchasing preset mods • Bug when opening presets through the lower panel that caused the game client to freeze Fixed in the hideout • Various fixes in the bitcoin farm • White authorization screen if you improve the pre-order version while in the hideout • Bug when it was possible to install a filter with zero resource in the “Water collector” and it could not be uninstalled • Calculation of fuel consumption time in the “Generator " zone • Bug duplicating the canister icon, when selecting a canister, in the “Generator" zone • Various bugs in group chat • Bugs with the discharge of weapons in the stash • Incorrect position of the fire mod pin and the turn of the barrel of the PPSH • Visual bug for displaying a zero bonus in the base level zones in the Hideout • Visual bug with the availability of time selection before the raid on the Laboratory screen • A bug where the player could spawn outside the location • Spamming error NullReferenceException: MuzzleManager • An error that occurs every time after treatment or getting a fracture • "Failed to create device file" error that occurs during client downtime • Errors when assigning voice commands • Spamming error when a large number of bots are active in the offline mode • Various errors while loading in raid • Various bugs and issues with Customs location • Various bugs and improvements related to AI • Fixed a bug when bots didn't follow a grenade throw with a voiceline • Fixed a handful of bugs related to bots getting stuck • Fixed a bug where a Gluhar would not react to a killed in the head ally • Fixed a bug when bots tried to heal a blacked out body part • Bots are now able to treat debuffs on blacked out body parts again • Fixed a handful of bugs with bots knocking out doors • Other AI related bug fixes and improvements • Various localization fixes and improvements • Other minor bugs and issues --- Changed: --- • Now it is possible to examine items from the construction requirements screen in the Hideout • Added displaying the time before the bleeding effect disappears in the stash • Now if you are not matched to the raid within 45 minutes, the search will be canceled • Updated SV-98 animation, hold, new animations when entering and exiting a sprint, new hold in the menu and on the loading screen • Updated PPSH animation, hold, and new animations when entering and exiting a sprint
Tomorrow [The 27th], at 14.00 Moscow time we plan to start installation of the update 0.12.7. The game will be stopped. Installation of the update will take approximately 4 hours, but can be extended if necessary.
Customs expansion (expansion of industrial area, construction site, added many new explorable buildings, stationary weapons, new location for Reshala spawn etc.)
Added new scav boss - Sanitar.
A former doctor, he worked in the health resort "Lazurny bereg", and before that in the TerraGroup laboratory. After the events that happened in Tarkov, he gathered a gang with former colleagues and operates on the "Shoreline". Actively uses professional skills in combat, quickly healing himself and the gang members. He uses various stimulants and medications, including those of his own production. He can quickly perform surgery by pulling out a bullet or applying a tourniquet on the field. Sometimes he is loyal to the Scavs and can leave a couple of first-aid kits or other medical supplies for his own group members on location
New quests on Shoreline
System for reporting suspicious players, unacceptable nicknames and game bugs abusers (on the post-match screen)
Improved AI behavior:
Bots can pick up items now
Improved AI behavior when they see bodies
Bots now can pick up a second firearm from bodies
AI now can greet each other or player scavs, showing their peaceful intentions
Bots will eat\drink while in peaceful mode
AI will perform a mag check when in peaceful mode
Bots can check someone for friend or foe by aiming at him for some time, if they’re not sure of one’s intentions
Bots will sprint while patrolling if they consider the spot being dangerous
AI will be able to storm the player as a group, if he’s holding position and attacking them
AI will try to avoid dangerous places
FN GL40 Grenade launcher
Mossberg 590A1 Shotgun
.45 ACP Hydr-Shock
9x19 mm QuakeMaker
9x19 mm 7N31
.45 ACP Lasermatch FMJ
.45 ACP AP
7.62x51 mm M993
40x46 мм M381 HE
40x46 мм M386 HE
40x46 мм M406 HE
40x46 мм M433 HEDP
40x46 мм M441 HE
40x46 мм M576 buckshot
Added new stimulants:
P22 (Specimen 22)
Added an additional icon for the network connection status in case of high packet loss
In the container slots window, the container tag is now displayed in the header
Iteration of improving and reworking the skill system:
New skill "Surgery"
Reduces HP penalty for surgery
Improved surgery speed
(Elite) No HP penalty for the restored body part
(Elite) Maximum increase in the speed of surgery
New skill "Aim drills"
Increase of the aiming speed
Decrease the volume of aiming
(Elite) No hand shaking at any stamina value, first 2 seconds after aiming
(Elite) Reduced hands shaking during tremor and fracture, the first 2 seconds after aiming
Rework of the “Strength” skill
Increase all weight limits
Increase the speed of the sprint
Increase the jump height
Increase the strength of the grenade throw
Increase the strength of a melee attack
(Elite) The weight does not take into account the weapons on the sling and on the back
(Elite) Melee attack can be stronger than usual
Rework of the "Endurance" skill
Increased feet stamina
Reduced stamina consumption for jumping
Increased holding breath time when ads
Increased the speed of breath recovery
(Elite) Maximum increase in breathing recovery rate
(Elite) Breathing is no longer dependent on energy
(Elite) Increased stamina reserve
Various fixes in old skills
Added 5 HP to the health of “Chest” zone (from 80 to 85)
Optimized the rendering of decals
Fixed freezes that happened when the sound of thunder or the sound of grenades exploding was played
Optimized the performance of the game server
Fixed an issue with killing the boss of a group of raiders who appeared on the scene after interacting with the trigger was leading to errors on the server
Minor optimizations on the first shot or hit
Optimization of hideout sounds
Fixes of errors that could potentially lead to different freezes
Iteration of fixes and corrections in UI
Bug with the PostFX menu that remains on the screen after closing the settings
Bug playing the sound of contusion if the sound is turned off in the settings
Bug of jerky animation of shooting weapons in the Hideout shooting range
The passage of raiders on the laboratory through the doors
A bug that allowed you to quickly move when constantly tapping the "Run" button when overweight
AS VAL with the handle adapter "Rotor 43" is now impossible to fold
Inability to exit the location via the paid exit “Car”, if you reconnect at the start of the exfil timer
Bug with throwing away the magazine when reloading the weapon via the context menu
Error 228 when receiving items from an expired email
Formulas for calculating prices for items with its resource and its commissions
After the reconnect, the equipment that was not searched become searched
The sound of the visor on/off remained at one point, and does not follow the character
Bug that wouldn't block buttons on the bottom panel after reconnecting as a Scav
Interface block if you go to the “Map” screen without a map
Bug when the "Receive all" button opened only the first and last message with items
Various bugs with switching the sound from “outdoor " to "indoor", and back, when reconnecting
Bug of not blocking an item after it was added to the merchant's sales table
Cartridges from packs of cartridges found in raid now have the status " found in the raid”
Error when studying items from the scav box
Fixes in the flea Market
The search will be updated if you delete and add an item to the wish list
Loss of a player's nickname and rating from the offer line after applying filters
The “search by item" option now resets the selected filters
Bug displaying the loading spinner on top of the list of offers
The mount without the “Found in raid" label ceased to be semitransparent (blocked) in the selection of the item for the offer, if you put and remove the mod on it
Bug when the merchant's avatar was flattened
Incorrect tag behavior on marked items for a flea market offer if you select multiple items from the container, closing and opening the container
Horizontal scrollbar on the product sales screen
Bug when the player couldn't put 2 identical weapons on the flea market if one of them was included in the starter kit for pre-order
Error 1508 - You send bad items- when putting an empty pack of cartridges on a flea Market
Bug, when for buying through a flea market goods from npc merchants needed items found in raid
Fixed in weapon presets
Displaying the indicator “you have mods to build” when there are no mods for the build in the stash
Bug when the build could have been built with the wrong mod that was not in the preset
Weapon disassembly bug if you build the same preset twice with the same weapon
Ability to select items that are blocked for purchase, via the presets by clicking the button “Select all”
Packs of items are no longer displayed in the purchase lists of preset mods
The purchase lists of presets no longer display items the player's own offers
Added an error about lack of space when purchasing preset mods
Bug when opening presets through the lower panel that caused the game client to freeze
Fixed in the hideout
Various fixes in the bitcoin farm
White authorization screen if you improve the pre-order version while in the hideout
Bug when it was possible to install a filter with zero resource in the “Water collector” and it could not be uninstalled
Calculation of fuel consumption time in the “Generator " zone
Bug duplicating the canister icon, when selecting a canister, in the “Generator" zone
Various bugs in group chat
Bugs with the discharge of weapons in the stash
Incorrect position of the fire mod pin and the turn of the barrel of the PPSH
Visual bug for displaying a zero bonus in the base level zones in the Hideout
Visual bug with the availability of time selection before the raid on the Laboratory screen
A bug where the player could spawn outside the location
(please don't laugh at my spaghetti I know it's ugly but it works and my friend who works at Oracle says that means it's good enough to ship) No Mac or Linux support for the moment. Might maybe look into supporting them at some point if anybody really wants it, but I don't have a machine running either OS so I wouldn't be able to test it myself. Over the past few days I taught myself Python by slapping together a downloader for ElvUI that automates the entire download/installation process. I spent more time making this than I will ever save from not having to download/install it manually anymore, so I decided to open-source it and post it here so others can maybe benefit from the time that I wasted!
Autodetects your WoW installation directory - if you installed it normally via the Battle.net launcher, otherwise you can manually set your installation directory!
Supports both Retail and Classic in the same executable, AND remembers which game version(s) you want it to work with! Want it to handle ElvUI for Retail but you prefer the stock UI for Classic? No problem!
After first time setup is complete, every time you run the program it'll automatically download the latest version(s) of ElvUI for you and install them right to your Interface/Addons folder(s)!
Cleans up after itself by deleting the downloaded .zip files after extracting the contents to your game! This was definitely important enough to include in this list I am not just padding to make my garbage program seem more impressive.
Remembers the last build numbers it downloaded so it doesn't waste your precious bandwidth if there's no new update! This way if Classic is updated but not Retail it will only download for Classic, and vice versa.
Easily configurable without having to bother with the config file (located in %APPDATA%/Roaming/ElvUIDownloader ): just hit SHIFT during the 3-second window after launching before it starts to download anything (only options right now are install directory if it can't autodetect, and then downloading for Retail and/or Classic)!
Easy to completely uninstall if you absolutely hate it: run the config as described above, and then set it to not download for either game version (answer 'N' when prompted), and it will delete the configuration file so you can just delete the program and remove all trace of it from your machine exceptforthebitcoinminerIsomehowmanagedtohideina12.2MBexecutable
So long as the TukUI team doesn't change the download page, or change the naming convention for either file, or send me a cease and desist, this should continue to work forever! If I continue to update this I'd like to add a GUI of some sort so it at least looks nice. Perhaps with faction themed skins for you to look at for the 6 seconds the program's open. Lastly, as stated at the top of the post, I don't have the means to really add proper Mac/Linux support for the moment as I can't easily test any changes, but if someone wants to fork this and add it themselves then go for it! EDIT: 10 hours after posting I remembered to set the repo to public. My brain is nice and smooth today. Anyway in the comments some other (better) programs have been shared so you should probably use those instead but I'm still proud of my garbage so I'm keeping the post up.
Edit: Currently writing a new version of this, dont know when it will be done. Edit: Since first post I have updated a few sections with additional information. I recommend reading it all even if it is very long, I might have placed some relevant info in different sections while thinking about what else needed to be added, plenty of steps remains mostly the same except when I comment directly on it. It is not necessary to do 100% security all the time, unless you absolutely need it, combining some high and some lower security ideas for a balance of security and convenience is useful. I will base this mostly on Windows, Linux users probably know this, and I have no idea how apple machines work (tho many things in here are still relevant for other operating systems, as they are just general tips) Disclaimer: There are certainly other steps that can make you more anonymous or safer, however I think for most people this will surfice. Any software I recommend should be independently verified for security, and examples of software are not to be taken as endorsements. I simply use examples and give recommendations when I believe it necessary, or helpful. I will not really differentiate between anonymity and security, they are often the same thing. As such the word security can mean either more anonymous, less vulnerable, or both. -------- Everyday Simple Info Sec:
Password for the device is an obvious one (8+ characters minimum, best if over +12), if there is sensitive information on any of the drives, either encrypt the entire drive or just the sensitive files, and make encrypted backups on a different memory storage device (There many programs to encrypt files and drives I'm sure a search will figure it out)
-There could be a hidden administrator user on your PC, make sure to change its password
Always use the device on a non admin account
a VPN that doesn't log (use with kill switch on, should be enough for everyday stuff, more safe stuff in the high security section) (VPNs that claim they don't log sometimes do, it's bad, but I would like to point out that not using a VPN will always expose your traffic to your ISP and also remove additional encryption. Even if the VPN tracks, there is no downside because your ISP would track anyways, and VPNs can be more anonymous, and also add extra encryption)
disable location tracking (preferably make all your privacy setting to release minimal info, get rid or cortana, change privacy settings in all of your accounts as well, there's no reason why you should allow Facebook to give you target ads. Use the setting they give you.
TOR, Firefox or similar browser, stay the fuck away from Google Chrome.
your preferred search engine should be duckduckgo (other privacy focused search engines exist as well)
use an adblocker that also prevents the adding of tacking cookies
Use pgp with all your friends or messaging services that implemented end to end encryption (Implemented services can still be bypassed, but are way more convenient so for everyday use they should suffice, some examples should be Telegraph, Signal, WhatsApp etc) (more info on pgp in high security section)
(Snapchat msgs, reddit dms, discord msgs, are just a few examples of msgs that are never encrypted) -Any info even send in encrypted msgs (and obviously non encrypted) should still be kept with possible deniability, don't say "I'm gonna do MDMA", say "I'm going out with molly."
use software (like ccleaner) that purges cookies and other data after every use, before shutting down your device
use a virus scanner daily (I like spy bot Search and destroy, many other options also exist)
never use the same password/passphrase twice (I will address what passphrase are below) (Better yet use randomized passwords that are stored in a master key chain, make them as long as possible (tho it is okay to go with the minimum of 12 never go below 7, I recommend 15+ depending on how often you have to manually enter the password instead of copying/pasting it) Don't generate too long keys for things you need to access regularly without copy/paste, except your master key ring)
its ideal to never use the same email or username as well, especially username, email is obviously tricky and also very annoying, but it would be best to always change the email.
-DO NOT STORE ANY PASSWORDS ON GOOGLE, IF GOOGLE LOGIN IS AUTHENTICATED IT WILL AUTFILL ALL PASSWORDS IT HAS SAVED (same with other similar services) (This means if you are logged in to chrome and someone has access to your machine, they can auto fill passwords without entering a single password) -use a rememberable passphrase, especially for your master key ring aka password manager A long sentence that is memorable makes an okay password (decent example,: "I met my wife at Little Ceasers for the first time on 07/09/20" better even if it's just something you know, if its impersonal, and if you can add special characters or numbers that you won't forget) (A better example for a passphrase is: "There is 0nly 0ne letter that d0esn’t appear in any U.S. state nameQ")
for your main password manager(key ring), I highly recommend Keepass 2, make backups of the file save to separate devices and drives (Flash drives, phone, PC, laptop, etc, if you loose that file, you lose all of your passwords) (Other good password managers exist as well, I don't recommend online password managers as you lose the control over passwords)
-Purge your internet activity frequently, there's a reason why I only have one post, and a few comments appearing in my account, but thousands of kama. Exposing information needlessly is not good. -Never post private information publicly, and if you do, do it vaguely as possible. (Example: Not "I'm 15", say "I'm a teenager") Do not post any vital information ever, no birthdays, mother's maiden name, age, or anything you have ever seen in a security question. Never post your current activities while they are ongoing. You going on a vacation? Don't announce it to the world, taking picture there? Post them when you are home.
Any account that is supposed to remain anonymous and as secure as possible should only be used on secured devices. A unsecured device can link you to the account.
always shutdown your machine when leaving it (To prevent access, and to prevent a possible attack vector)
2 factor factor authentication is not great anymore. Unless you can do it over a anonymous source. A cell phone is usually directly connected to you, so it is not a anonymous device. There might still be secure/anonymous 2 factor authentication methods that won't expose you, for example over a secure email. (If there is 2FA that doesn't need a device that removes anonymity and is secure, use it.) (Please don't misunderstand, 2FA is great, however it can remove the anonymity that you worked hard to establish)
-Rethink how you do security questions. Many answers to security questions can be found in your internet history. One could use the first word of the security question as an answer, or a different sceme that will mean you always remember it. (Security question need to go, the amount of personal info an average person puts on the internet makes it easy to attack anything using security question) -------_ High level crimimal information security: The motto here is, "All the Security, All the Time" As one fuck up can end with you leaving a lick of traceability, and you could be fucked. Pre Note: All of your software should always be up to date. Also even perfect info sec does not guarantee you are completely safe, a new zero day (exploit) can still fuck you, but good info security makes you significantly safer, by eliminating as many attacks as possible. -Get a new device (or make a already owned device seem like you never owned it, do this only if you know how to, there's a lot of stuff that goes into that, like changing your mac adress etc) buy with cash, and your face covered, preferably far away from where you live. (Do I need to specify to not bring your phone or anything else that tracks your location to anywhere you want to go anonymously?) (Be aware that even hardware can have vulnerabilities, many cpus have known vulnerabilities, I can't list them all, do some research before buying)
Do not EVER use a high security device at any lower level of security. There are unique identifiers to your device, exposing them once can expose you for everything you do.
-If you know how to use Tails (A linux distro designed for Info sec) use that, preferably on a USB. (Or learn how to use tails, its better, but complicated) Otherwise a clean copy of windows (make sure its not in any way associated with you) can do the job too, tho not as well. (Using a VM might give extra security, since VMs usually erase all data and RAM they were using on shutdown) -Get a non tracking VPN, Enable the kill switch (a setting that disables all traffic that doesn't go through the VPN) (change your firewall settings to only allow the traffic from the VPN, windows guide (Change settings so only traffic from the tor application is send) Edit: (Due to complaints: do not use vpn over tor, use tor over vpn. tor over vpn has no notable downside, if the VPN logs it makes no difference, your ISP will always log anyways, and vpns remove other attack vectors and also provide backup security should tor fail. Again even if the VPN tracks you only change the people doing the tracking, but now you are further removed making it more anonymous and also with less vulnerabilities) -rember privacy settings, cookie cleaner, and antivirus, password (There could be a hidden administrator user on your PC, make sure to change its password) -Always use the device on a non admin account
-Ideally use this device only on networks that are not connected with you. Such as public networks (try to never use the same public networks twice, move around) (a home network should be fine now, as it should never be exposed, but more security is always better) (Its just a conveniences vs security trade) -Never use accounts that have been exposed to lower security on higher security machines -your browser is now TOR (or your preferred security focused browser, if you dont plan on using onion ) Make sure you get the standalone version of tor not the addon build (the standalone is safer, because there are less settings and options to tweak) -Change your tor settings, to safest mode, enable a bridge (to my knowledge there's no difference in security between the build in bridges in tor), enable automatic updates, set duckduckgo onion as your primary browser. Set dark.fail onion page as your home page. (Or your preferred privacy search engine and onion directory)
set up a new pgp (can't use the same one you use for regular use, again less safer accounts are never used on safer devices) Cleopatra is my choice, its simple to use. Make sure you back up the private key multiple times, on safe devices. (Dont let the private key fall into anyone's hands) Give it a generic name like "HighSecurityPGP" do not give the pgp key pair a name that could identify you. (No initials etc) (Some pgp key pair programs want an associated email for a key pair, you can create a safe email, or which I recoend you can use a different program (like Cleopatra) (Feds & LEOs are known to copy private keys if they have your machine, so you will need to set up a new key pair if they ever take a device with a private key copy)
a high security machine that facilitates criminal activity can not use many programs. Many programs collect your devices mac adress, which is a unique identifier, amongst other things. It's should be used only for the activity you want to do.
-------_ How to use dark net markets (DNMs) If you finished your High Security setup, we can dive right in. Otherwise go do that. This is where all that is essential. Quick info on Tor, and onion sites. There is no search engine. It's all based of directories and addresses you are given by others. Tor will likely not be very quick, it has to pass through multiple networks to get to the destination. DNMs sometimes exit scam, an exit scam is when a market shuts down completely and takes all the money, this is a risk when using DNMs, it's not too common but happens maybe 0-4 times a year. The admins of thoese servers need to get out at some point, before they get jailed, so they exit the game, and scam everyone out of their money. -A very useful onion directory is dark.fail it has a lot of links, for all kinds of stuff. News, email, DNMs, Psychonautwiki (harm reduction website), forums etc. (Other directories also exist) -Pick a market, preferably one that handles secure connection server side instead of requiring you to establish the secure connection. Then create an account. Your account once created should include an entry box in your profile for a pgp key, post your PUBLIC key in there. (Verify the link is not a scam, most markets should provide a pgp signature) -Next is currency setup. All major cryptocurrency exchangers can be used, I can recommend coin base but there could be better ones out there. Unless you find a small non U.S., exchange, they will always ask for your identity. So unless you can find a trustworthy exchange that doesn't ID, you will need to give it to them. (Side note, all major crypto exchangers report to the IRS, if the IRS asks you if you bought cryptocurrency and you bought while having IDed yourself SAY YES, DO NOT COMMIT TAX FRAUD WHEN THEY KNOW YOU DID)
I recommend using Monero, it's hard to track, so it makes your job a lot easier. (If you use bitcoin you should run it through a scrambler, because BTC is tracable to anyone who knows what they are doing)
-Transfer (monero you can send directly, btc you should scramble) to your wallet. There are two options a cold wallet (physical) or a software wallet. Software wallets usually dont cost anything so I recommend them, even if often less safe. Electrum is easy to use, and pretty safe. You can also do your own research and find a wallet that fits your needs.
decide where you want to ship it. You can send to your home, to a PO box, to a PO box that you opened with a fake ID (I don't recommend), an abandoned house, general mail (sending to a post office instead of a street adress) pickup up with fake ID, use a remailing service. These are some options, sending it to your own home, isn't ideal, but its pretty much the only easy way.
-now you are ready to buy, only buy using escrow (it means the money is held by the market as a middle man until the product is delivered, they will also handle any issues like wrong quantity, cuts, etc), judge the reviews for a product, and if available look at the history of the vendor, until you find a product from a vendor you trust. (I recommend to buy within your country as much as possible, so it doesn't go through customs, it's very rare that something is found, but it can happen) -now you get to buy, depending on market, you either have cryptocurrency stored in their wallets (not recommend, you will lose it in an exit scam) or you can send it every order. When you send your delivery adress (or the one you want it to go to) encrypt the adress using the sellers public key. Make sure the adress is correct. -wait for the product, make sure to extend the escrow until the product arrives, if you can't extend it anymore dispute the order, and a moderator will step in -test the product, use it, and leave a review. PLEASE LEAVE A REVIEW, DNMs only work because of reviews. Edit: Didn't imagine I would write over 15000 words. Oh well, it was fun. Hope it helps, if you have any questions feel free to ask. No idea how long this will stay up, I might purge it in 7 days, or never.
https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/22.214.171.124 Finally! After over ten months of development and testing, "Fern" has arrived! This is a whopper. 240 pull requests merged. Essentially a complete rewrite that was started with the scraper (the "neural net" rewrite) in "Denise" has now been completed. Practically the ENTIRE Gridcoin specific codebase resting on top of the vanilla Bitcoin/Peercoin/Blackcoin vanilla PoS code has been rewritten. This removes the team requirement at last (see below), although there are many other important improvements besides that. Fern was a monumental undertaking. We had to encode all of the old rules active for the v10 block protocol in new code and ensure that the new code was 100% compatible. This had to be done in such a way as to clear out all of the old spaghetti and ring-fence it with tightly controlled class implementations. We then wrote an entirely new, simplified ruleset for research rewards and reengineered contracts (which includes beacon management, polls, and voting) using properly classed code. The fundamentals of Gridcoin with this release are now on a very sound and maintainable footing, and the developers believe the codebase as updated here will serve as the fundamental basis for Gridcoin's future roadmap. We have been testing this for MONTHS on testnet in various stages. The v10 (legacy) compatibility code has been running on testnet continuously as it was developed to ensure compatibility with existing nodes. During the last few months, we have done two private testnet forks and then the full public testnet testing for v11 code (the new protocol which is what Fern implements). The developers have also been running non-staking "sentinel" nodes on mainnet with this code to verify that the consensus rules are problem-free for the legacy compatibility code on the broader mainnet. We believe this amount of testing is going to result in a smooth rollout. Given the amount of changes in Fern, I am presenting TWO changelogs below. One is high level, which summarizes the most significant changes in the protocol. The second changelog is the detailed one in the usual format, and gives you an inkling of the size of this release.
Note that the protocol changes will not become active until we cross the hard-fork transition height to v11, which has been set at 2053000. Given current average block spacing, this should happen around October 4, about one month from now. Note that to get all of the beacons in the network on the new protocol, we are requiring ALL beacons to be validated. A two week (14 day) grace period is provided by the code, starting at the time of the transition height, for people currently holding a beacon to validate the beacon and prevent it from expiring. That means that EVERY CRUNCHER must advertise and validate their beacon AFTER the v11 transition (around Oct 4th) and BEFORE October 18th (or more precisely, 14 days from the actual date of the v11 transition). If you do not advertise and validate your beacon by this time, your beacon will expire and you will stop earning research rewards until you advertise and validate a new beacon. This process has been made much easier by a brand new beacon "wizard" that helps manage beacon advertisements and renewals. Once a beacon has been validated and is a v11 protocol beacon, the normal 180 day expiration rules apply. Note, however, that the 180 day expiration on research rewards has been removed with the Fern update. This means that while your beacon might expire after 180 days, your earned research rewards will be retained and can be claimed by advertising a beacon with the same CPID and going through the validation process again. In other words, you do not lose any earned research rewards if you do not stake a block within 180 days and keep your beacon up-to-date. The transition height is also when the team requirement will be relaxed for the network.
Besides the beacon wizard, there are a number of improvements to the GUI, including new UI transaction types (and icons) for staking the superblock, sidestake sends, beacon advertisement, voting, poll creation, and transactions with a message. The main screen has been revamped with a better summary section, and better status icons. Several changes under the hood have improved GUI performance. And finally, the diagnostics have been revamped.
The wallet sync speed has been DRASTICALLY improved. A decent machine with a good network connection should be able to sync the entire mainnet blockchain in less than 4 hours. A fast machine with a really fast network connection and a good SSD can do it in about 2.5 hours. One of our goals was to reduce or eliminate the reliance on snapshots for mainnet, and I think we have accomplished that goal with the new sync speed. We have also streamlined the in-memory structures for the blockchain which shaves some memory use. There are so many goodies here it is hard to summarize them all. I would like to thank all of the contributors to this release, but especially thank @cyrossignol, whose incredible contributions formed the backbone of this release. I would also like to pay special thanks to @barton2526, @caraka, and @Quezacoatl1, who tirelessly helped during the testing and polishing phase on testnet with testing and repeated builds for all architectures. The developers are proud to present this release to the community and we believe this represents the starting point for a true renaissance for Gridcoin!
Most significantly, nodes calculate research rewards directly from the magnitudes in EACH superblock between stakes instead of using a two- or three- point average based on a CPID's current magnitude and the magnitude for the CPID when it last staked. For those long-timers in the community, this has been referred to as "Superblock Windows," and was first done in proof-of-concept form by @denravonska.
Network magnitude unit pinned to a static value of 0.25
Max research reward allowed per block raised to 16384 GRC (from 12750 GRC)
New CPIDs begin accruing research rewards from the first superblock that contains the CPID instead of from the time of the beacon advertisement
500 GRC research reward limit for a CPID's first stake
6-month expiration for unclaimed rewards
10-block spacing requirement between research reward claims
Rolling 5-day payment-per-day limit
Legacy tolerances for floating-point error and time drift
The need to include a valid copy of a CPID's magnitude in a claim
10-block emission adjustment interval for the magnitude unit
One-time beacon activation requires that participants temporarily change their usernames to a verification code at one whitelisted BOINC project
Verification codes of pending beacons expire after 3 days
Self-service beacon removal
Burn fee for beacon advertisement increased from 0.00001 GRC to 0.5 GRC
Rain addresses derived from beacon keys instead of a default wallet address
Beacon expiration determined as of the current block instead of the previous block
The ability for developers to remove beacons
The ability to sign research reward claims with non-current but unexpired beacons
As a reminder:
Beacons expire after 6 months pass (180 days)
Beacons can be renewed after 5 months pass (150 days)
Renewed beacons must be signed with the same key as the original beacon
Magnitudes less than 1 include two fractional places
Magnitudes greater than or equal to 1 but less than 10 include one fractional place
A valid superblock must match a scraper convergence
Superblock popularity election mechanics
Yes/no/abstain and single-choice response types (no user-facing support yet)
To create a poll, a maximum of 250 UTXOs for a single address must add up to 100000 GRC. These are selected from the largest downwards.
Burn fee for creating polls scaled by the number of UTXOs claimed
50 GRC for a poll contract
0.001 GRC per claimed UTXO
Burn fee for casting votes scaled by the number of UTXOs claimed
0.01 GRC for a vote contract
0.01 GRC to claim magnitude
0.01 GRC per claimed address
0.001 GRC per claimed UTXO
Maximum length of a poll title: 80 characters
Maximum length of a poll question: 100 characters
Maximum length of a poll discussion website URL: 100 characters
Maximum number of poll choices: 20
Maximum length of a poll choice label: 100 characters
Magnitude, CPID count, and participant count poll weight types
The ability for developers to remove polls and votes
[126.96.36.199] 2020-09-03, mandatory, "Fern"
Backport newer uint256 types from Bitcoin #1570 (@cyrossignol)
Implement project level rain for rainbymagnitude #1580 (@jamescowens)
Upgrade utilities (Update checker and snapshot downloadeapplication) #1576 (@iFoggz)
Provide fees collected in the block by the miner #1601 (@iFoggz)
Add support for generating legacy superblocks from scraper stats #1603 (@cyrossignol)
Port of the Bitcoin Logger to Gridcoin #1600 (@jamescowens)
Implement zapwallettxes #1605 (@jamescowens)
Implements a global event filter to suppress help question mark #1609 (@jamescowens)
Add next target difficulty to RPC output #1615 (@cyrossignol)
Add caching for block hashes to CBlock #1624 (@cyrossignol)
Make toolbars and tray icon red for testnet #1637 (@jamescowens)
Add an rpc call convergencereport #1643 (@jamescowens)
Implement newline filter on config file read in #1645 (@jamescowens)
Implement beacon status icon/button #1646 (@jamescowens)
Add gridcointestnet.png #1649 (@caraka)
Add precision to support magnitudes less than 1 #1651 (@cyrossignol)
Replace research accrual calculations with superblock snapshots #1657 (@cyrossignol)
Publish example gridcoinresearch.conf as a md document to the doc directory #1662 (@jamescowens)
Add options checkbox to disable transaction notifications #1666 (@jamescowens)
Add support for self-service beacon deletion #1695 (@cyrossignol)
Add support for type-specific contract fee amounts #1698 (@cyrossignol)
Add verifiedbeaconreport and pendingbeaconreport #1696 (@jamescowens)
Add preliminary testing option for block v11 height on testnet #1706 (@cyrossignol)
Add verified beacons manifest part to superblock validator #1711 (@cyrossignol)
Implement beacon, vote, and superblock display categories/icons in UI transaction model #1717 (@jamescowens)
Ledger Live adds Coin control: Here's why that matters.
Ledger Live version 2.11.1 (download link) adds Coin control for power users. The coin control feature gives advanced users more granular control over their wallets. It enables them to change how and which coins are selected when making transactions. This increases their ability to manage their privacy and the network fees they will have to pay to spend their account balance. More control over your coins
How does it work?
The account balance for Bitcoin and its derivatives consists of all the unspent transaction outputs (UTXOs) in the account. You can think of UTXOs as the coins in a regular wallet. When you receive money, you collect coins in your wallet. Then, when you want to make a payment, you get to choose which coins you pick from your wallet. Do you pick the largest coins first? Or do you want to spend all the smaller value coins to lighten up your wallet? Similar considerations can be made when creating a Bitcoin or Bitcoin derivative (altcoin) transaction. Before the Coin Control feature was released, all transactions involving Bitcoin (and altcoins) automatically selected their coins using the First-In-First-Out (FIFO) algorithm. This strategy includes the oldest coin in the account, and when the amount is not sufficient the second-oldest coin is added, and so forth. As of Ledger Live version 2.11.1, users are able to make use of a dedicated Coin Control tool to choose the coin selection strategy and the coins that may be spent.
Click on Send, choose an account to debit, and enter a recipient address. Click on Continue.
Enter an amount and click on Advanced options. You will then see: - The currently selected, default coin selection strategy: Oldest coins first (FIFO). - A toggle to enable Replace-By-Fee (RBF). - A toggle to include coins from unconfirmed, replaceable transactions.
Click on Coin control. The coin control modal opens.
Select a Coin selection strategy from the dropdown menu: - Oldest coins first (FIFO). This is the default strategy that spends the oldest coins first. - Minimize fees (optimize size). This strategy tries to minimize the byte size of the transaction by spending the lowest number of UTXOs. This results in a low network fee. - Minimize future fees (merge coins), This strategy includes the maximum number of inputs so that a potential future price rise does not make smaller UTXOs economically unspendable. If the price of a crypto asset increases too much, small UTXOs may become worth less than the cost of the network fees to spend them.
Select which coins may not be included in the selection by unticking their checkbox. The SELECTED indicator shows which coins will be included in the transaction. By changing the selection strategy and/or coins to include, the user has precise control over which coins end up being spent. The Coins to spend and Change to return indicators show how much is spent from and returned to the account.
Click on Done to return to the Send flow to verify and send the transaction.
The following statuses can be displayed for a coin:
Coins received in a transaction with 0 confirmations without RBF enabled: PENDING
Coins received in a transaction with 0 confirmations with RBF enabled: REPLACEABLE
Coins received in a transaction with 1337 confirmations: 1337 CONFIRMATIONS
By enabling the toggle Include coins from unconfirmed, replaceable transactions, replaceable transactions can be selected in the Coin control screen.
The Privacy use case
One of the main use cases for Coin control is to protect one’s privacy. UTXOs are, unfortunately, not perfectly fungible due to their unique history on the blockchain. Therefore, users may want to spend coins from different sources without mixing them together, because this would indicate to an outside observer of the blockchain that these addresses belong to the same account. For instance, if one were to spend coins bought on a KYC exchange, which are associated with the user’s identity, together with coins bought anonymously using cash, the anonymous coins could be linked to the user’s identity. Another example would be that you would like to prevent spending a high-value coin for smaller purchases because this would unnecessarily show the person you’re paying how much you have. This is similar to not showing the boulanger how much is on your bank account when buying a baguette.
Let us know what you think!
We are excited to release this new feature because we think it will fulfill real needs of an important part of our users. This version of Ledger Live marks an important milestone, but we will continue working on more features that our community wants. So, we invite you to try out Coin control in Ledger Live and let us know what you think! All feedback is welcome on this thread, on ledgerwallet, and you can send suggestions or get help through our official contact form. We'd like to close out by underlining our commitment to the Bitcoin community, and our willingness to build the best wallet ecosystem for newbies as well as for power users.
Taproot! Everybody wants to have it, somebody wants to make it, nobody knows how to get it! (If you are asking why everybody wants it, see: Technical: Taproot: Why Activate?) (Pedants: I mostly elide over lockin times) Briefly, Taproot is that neat new thing that gets us:
Multisignatures (n-of-n, k-of-n) that are just 1 signature (1-of-1) in length!! (MuSig/Schnorr)
Better privacy!! If all contract participants can agree, just use a multisignature. If there is a dispute, show the contract publicly and have the Bitcoin network resolve it (Taproot/MAST).
Activation lets devs work get back to work on the even newer stuff like!!!
Cross-input signature aggregation!! (transaction with multiple inputs can have a single signature for all inputs) --- needs Schnorr, but some more work needed to ensure that the interactions with SCRIPT are okay.
Block validation - Schnorr signatures for all taproot spends in a block can be validated in a single operation instead of for each transaction!! Speed up validation and maybe we can actually afford to increase block sizes (maybe)!!
SIGHASH_ANYPREVOUT - you know, for Decker-Russell-Osuntokun ("eltoo") magic!!!
OP_CHECKTEMPLATEVERIFY - vaulty vaults without requiring storing signatures, just transaction details!!
So yes, let's activate taproot!
The SegWit Wars
The biggest problem with activating Taproot is PTSD from the previous softfork, SegWit. Pieter Wuille, one of the authors of the current Taproot proposal, has consistently held the position that he will not discuss activation, and will accept whatever activation process is imposed on Taproot. Other developers have expressed similar opinions. So what happened with SegWit activation that was so traumatic? SegWit used the BIP9 activation method. Let's dive into BIP9!
bit - A field in the block header, the nVersion, has a number of bits. By setting a particular bit, the miner making the block indicates that it has upgraded its software to support a particular soft fork. The bit parameter for a BIP9 activation is which bit in this nVersion is used to indicate that the miner has upgraded software for a particular soft fork.
timeout - a time limit, expressed as an end date. If this timeout is reached without sufficient number of miners signaling that they upgraded, then the activation fails and Bitcoin Core goes back to the drawing board.
Now there are other parameters (name, starttime) but they are not anywhere near as important as the above two. A number that is not a parameter, is 95%. Basically, activation of a BIP9 softfork is considered as actually succeeding if at least 95% of blocks in the last 2 weeks had the specified bit in the nVersion set. If less than 95% had this bit set before the timeout, then the upgrade fails and never goes into the network. This is not a parameter: it is a constant defined by BIP9, and developers using BIP9 activation cannot change this. So, first some simple questions and their answers:
Why not just set a day when everyone starts imposing the new rules of the softfork?
This was done classically (in the days when Satoshi was still among us). But this might argued to put too much power to developers, since there would be no way to reject an upgrade without possible bad consequences. For example, developers might package an upgrade that the users do not want, together with vital security bugfixes. Either you live without vital security bugfixes and hire some other developers to fix it for you (which can be difficult, presumably the best developers are already the ones working on the codebase) or you get the vital security bugfixes and implicitly support the upgrade you might not want.
Sure, you could fork the code yourself (the ultimate threat in the FOSS world) and hire another set of developers who aren't assholes to do the dreary maintenance work of fixing security bugs, but Bitcoin needs strong bug-for-bug compatibility so everyone should really congregate around a single codebase.
Basically: even the devs do not want this power, because they fear being coerced into putting "upgrades" that are detrimental to users. Satoshi got a pass because nobody knew who he was and how to coerce him.
Suppose the threshold were lower, like 51%. If so, after activation, somebody can disrupt the Bitcoin network by creating a transaction that is valid under the pre-softfork rules, but are invalid under the post-softfork rules. Upgraded nodes would reject it, but 49% of miners would accept it and include it in a block (which makes the block invalid) And then the same 49% would accept the invalid block and build on top of that, possibly creating a short chain of doomed invalid blocks that confirm an invalid spend. This can confuse SPV wallets, who might see multiple confirmations of a transaction and accept the funds, but later find that in fact it is invalid under the now-activated softfork rules.
Thus, a very high threshold was imposed. 95% is considered safe. 50% is definitely not safe. Due to variance in the mining process, 80% could also be potentially unsafe (i.e. 80% of blocks signaling might have a good chance of coming from only 60% of miners), so a threshold of 95% was considered "safe enough for Bitcoin work".
Why have a timeout that disables the upgrade?
Before BIP9, what was used was either flag day or BIP34. BIP34 had no flag day of activation or a bit, instead, it was just a 95% threshold to signal an nVersion value greater than a specific value. Actually, it was two thresholds: at 75%, blocks with the new nVersion would have the new softfork rules imposed, but at 95% blocks with the old nVersion would be rejected (and only the new blocks, with the new softfork rules, were accepted). For one, between 75% and 95%, there was a situation where the softfork was only "partially imposed", only blocks signaling the new rules would actually have those rules, but blocks with the old rules were still valid. This was fine for BIP34, which only added rules for miners with negligible use for non-miners.
The reasons miners signalled support was because they felt they were being pressured to signal support. So they signalled support, with plans to actually upgrade later, but because of the widespread signalling, the new BIP66 version locked in before upgrade plans were finished. Thus, the timeout that disables the upgrade was added in BIP9 to allow miners an escape hatch.
The Great Battles of the SegWit Wars
SegWit not only fixed transaction malleability, it also created a practical softforkable blocksize increase that also rebalanced weights so that the cost of spending a UTXO is about the same as the cost of creating UTXOs (and spending UTXOs is "better" since it limits the size of the UTXO set that every fullnode has to maintain). So SegWit was written, the activation was decided to be BIP9, and then.... miner signalling stalled at below 75%. Thus were the Great SegWit Wars started.
BIP9 Feature Hostage
If you are a miner with at least 5% global hashpower, you can hold a BIP9-activated softfork hostage. You might even secretly want the softfork to actually push through. But you might want to extract concession from the users and the developers. Like removing the halvening. Or raising or even removing the block size caps (which helps larger miners more than smaller miners, making it easier to become a bigger fish that eats all the smaller fishes). Or whatever. With BIP9, you can hold the softfork hostage. You just hold out and refuse to signal. You tell everyone you will signal, if and only if certain concessions are given to you. This ability by miners to hold a feature hostage was enabled because of the miner-exit allowed by the timeout on BIP9. Prior to that, miners were considered little more than expendable security guards, paid for the risk they take to secure the network, but not special in the grand scheme of Bitcoin.
ASICBoost was a novel way of optimizing SHA256 mining, by taking advantage of the structure of the 80-byte header that is hashed in order to perform proof-of-work. The details of ASICBoost are out-of-scope here but you can read about it elsewhere Here is a short summary of the two types of ASICBoost, relevant to the activation discussion.
Overt ASICBoost - Manipulates the unused bits in nVersion to reduce power consumption in mining.
Covert ASICBoost - Manipulates the order of transactions in the block to reduce power consumption in mining.
Now, "overt" means "obvious", while "covert" means hidden. Overt ASICBoost is obvious because nVersion bits that are not currently in use for BIP9 activations are usually 0 by default, so setting those bits to 1 makes it obvious that you are doing something weird (namely, Overt ASICBoost). Covert ASICBoost is non-obvious because the order of transactions in a block are up to the miner anyway, so the miner rearranging the transactions in order to get lower power consumption is not going to be detected. Unfortunately, while Overt ASICBoost was compatible with SegWit, Covert ASICBoost was not. This is because, pre-SegWit, only the block header Merkle tree committed to the transaction ordering. However, with SegWit, another Merkle tree exists, which commits to transaction ordering as well. Covert ASICBoost would require more computation to manipulate two Merkle trees, obviating the power benefits of Covert ASICBoost anyway. Now, miners want to use ASICBoost (indeed, about 60->70% of current miners probably use the Overt ASICBoost nowadays; if you have a Bitcoin fullnode running you will see the logs with lots of "60 of last 100 blocks had unexpected versions" which is exactly what you would see with the nVersion manipulation that Overt ASICBoost does). But remember: ASICBoost was, at around the time, a novel improvement. Not all miners had ASICBoost hardware. Those who did, did not want it known that they had ASICBoost hardware, and wanted to do Covert ASICBoost! But Covert ASICBoost is incompatible with SegWit, because SegWit actually has two Merkle trees of transaction data, and Covert ASICBoost works by fudging around with transaction ordering in a block, and recomputing two Merkle Trees is more expensive than recomputing just one (and loses the ASICBoost advantage). Of course, those miners that wanted Covert ASICBoost did not want to openly admit that they had ASICBoost hardware, they wanted to keep their advantage secret because miners are strongly competitive in a very tight market. And doing ASICBoost Covertly was just the ticket, but they could not work post-SegWit. Fortunately, due to the BIP9 activation process, they could hold SegWit hostage while covertly taking advantage of Covert ASICBoost!
UASF: BIP148 and BIP8
When the incompatibility between Covert ASICBoost and SegWit was realized, still, activation of SegWit stalled, and miners were still not openly claiming that ASICBoost was related to non-activation of SegWit. Eventually, a new proposal was created: BIP148. With this rule, 3 months before the end of the SegWit timeout, nodes would reject blocks that did not signal SegWit. Thus, 3 months before SegWit timeout, BIP148 would force activation of SegWit. This proposal was not accepted by Bitcoin Core, due to the shortening of the timeout (it effectively times out 3 months before the initial SegWit timeout). Instead, a fork of Bitcoin Core was created which added the patch to comply with BIP148. This was claimed as a User Activated Soft Fork, UASF, since users could freely download the alternate fork rather than sticking with the developers of Bitcoin Core. Now, BIP148 effectively is just a BIP9 activation, except at its (earlier) timeout, the new rules would be activated anyway (instead of the BIP9-mandated behavior that the upgrade is cancelled at the end of the timeout). BIP148 was actually inspired by the BIP8 proposal (the link here is a historical version; BIP8 has been updated recently, precisely in preparation for Taproot activation). BIP8 is basically BIP9, but at the end of timeout, the softfork is activated anyway rather than cancelled. This removed the ability of miners to hold the softfork hostage. At best, they can delay the activation, but not stop it entirely by holding out as in BIP9. Of course, this implies risk that not all miners have upgraded before activation, leading to possible losses for SPV users, as well as again re-pressuring miners to signal activation, possibly without the miners actually upgrading their software to properly impose the new softfork rules.
BIP91, SegWit2X, and The Aftermath
BIP148 inspired countermeasures, possibly from the Covert ASiCBoost miners, possibly from concerned users who wanted to offer concessions to miners. To this day, the common name for BIP148 - UASF - remains an emotionally-charged rallying cry for parts of the Bitcoin community. One of these was SegWit2X. This was brokered in a deal between some Bitcoin personalities at a conference in New York, and thus part of the so-called "New York Agreement" or NYA, another emotionally-charged acronym. The text of the NYA was basically:
Set up a new activation threshold at 80% signalled at bit 4 (vs bit 1 for SegWit).
When this 80% signalling was reached, miners would require that bit 1 for SegWit be signalled to achive the 95% activation needed for SegWit.
If the bit 4 signalling reached 80%, increase the block weight limit from the SegWit 4000000 to the SegWit2X 8000000, 6 months after bit 1 activation.
The first item above was coded in BIP91. Unfortunately, if you read the BIP91, independently of NYA, you might come to the conclusion that BIP91 was only about lowering the threshold to 80%. In particular, BIP91 never mentions anything about the second point above, it never mentions that bit 4 80% threshold would also signal for a later hardfork increase in weight limit. Because of this, even though there are claims that NYA (SegWit2X) reached 80% dominance, a close reading of BIP91 shows that the 80% dominance was only for SegWit activation, without necessarily a later 2x capacity hardfork (SegWit2X). This ambiguity of bit 4 (NYA says it includes a 2x capacity hardfork, BIP91 says it does not) has continued to be a thorn in blocksize debates later. Economically speaking, Bitcoin futures between SegWit and SegWit2X showed strong economic dominance in favor of SegWit (SegWit2X futures were traded at a fraction in value of SegWit futures: I personally made a tidy but small amount of money betting against SegWit2X in the futures market), so suggesting that NYA achieved 80% dominance even in mining is laughable, but the NYA text that ties bit 4 to SegWit2X still exists. Historically, BIP91 triggered which caused SegWit to activate before the BIP148 shorter timeout. BIP148 proponents continue to hold this day that it was the BIP148 shorter timeout and no-compromises-activate-on-August-1 that made miners flock to BIP91 as a face-saving tactic that actually removed the second clause of NYA. NYA supporters keep pointing to the bit 4 text in the NYA and the historical activation of BIP91 as a failed promise by Bitcoin developers.
We have discussed BIP8: roughly, it has bit and timeout, if 95% of miners signal bit it activates, at the end of timeout it activates. (EDIT: BIP8 has had recent updates: at the end of timeout it can now activate or fail. For the most part, in the below text "BIP8", means BIP8-and-activate-at-timeout, and "BIP9" means BIP8-and-fail-at-timeout) So let's take a look at Modern Softfork Activation!
Modern Softfork Activation
This is a more complex activation method, composed of BIP9 and BIP8 as supcomponents.
First have a 12-month BIP9 (fail at timeout).
If the above fails to activate, have a 6-month discussion period during which users and developers and miners discuss whether to continue to step 3.
Have a 24-month BIP8 (activate at timeout).
The total above is 42 months, if you are counting: 3.5 years worst-case activation. The logic here is that if there are no problems, BIP9 will work just fine anyway. And if there are problems, the 6-month period should weed it out. Finally, miners cannot hold the feature hostage since the 24-month BIP8 period will exist anyway.
PSA: Being Resilient to Upgrades
Software is very birttle. Anyone who has been using software for a long time has experienced something like this:
You hear a new version of your favorite software has a nice new feature.
Excited, you install the new version.
You find that the new version has subtle incompatibilities with your current workflow.
You are sad and downgrade to the older version.
You find out that the new version has changed your files in incompatible ways that the old version cannot work with anymore.
You tearfully reinstall the newer version and figure out how to get your lost productivity now that you have to adapt to a new workflow
If you are a technically-competent user, you might codify your workflow into a bunch of programs. And then you upgrade one of the external pieces of software you are using, and find that it has a subtle incompatibility with your current workflow which is based on a bunch of simple programs you wrote yourself. And if those simple programs are used as the basis of some important production system, you hve just screwed up because you upgraded software on an important production system. And well, one of the issues with new softfork activation is that if not enough people (users and miners) upgrade to the newest Bitcoin software, the security of the new softfork rules are at risk. Upgrading software of any kind is always a risk, and the more software you build on top of the software-being-upgraded, the greater you risk your tower of software collapsing while you change its foundations. So if you have some complex Bitcoin-manipulating system with Bitcoin somewhere at the foundations, consider running two Bitcoin nodes:
One is a "stable-version" Bitcoin node. Once it has synced, set it up to connect=x.x.x.x to the second node below (so that your ISP bandwidth is only spent on the second node). Use this node to run all your software: it's a stable version that you don't change for long periods of time. Enable txiindex, disable pruning, whatever your software needs.
The other is an "always-up-to-date" Bitcoin Node. Keep its stoarge down with pruning (initially sync it off the "stable-version" node). You can't use blocksonly if your "stable-version" node needs to send transactions, but otherwise this "always-up-to-date" Bitcoin node can be kept as a low-resource node, so you can run both nodes in the same machine.
When a new Bitcoin version comes up, you just upgrade the "always-up-to-date" Bitcoin node. This protects you if a future softfork activates, you will only receive valid Bitcoin blocks and transactions. Since this node has nothing running on top of it, it is just a special peer of the "stable-version" node, any software incompatibilities with your system software do not exist. Your "stable-version" Bitcoin node remains the same version until you are ready to actually upgrade this node and are prepared to rewrite most of the software you have running on top of it due to version compatibility problems. When upgrading the "always-up-to-date", you can bring it down safely and then start it later. Your "stable-version" wil keep running, disconnected from the network, but otherwise still available for whatever queries. You do need some system to stop the "always-up-to-date" node if for any reason the "stable-version" goes down (otherwisee if the "always-up-to-date" advances its pruning window past what your "stable-version" has, the "stable-version" cannot sync afterwards), but if you are technically competent enough that you need to do this, you are technically competent enough to write such a trivial monitor program (EDIT: gmax notes you can adjust the pruning window by RPC commands to help with this as well). This recommendation is from gmaxwell on IRC, by the way.
vectorbt - blazingly fast backtesting and interactive data analysis for quants
I want to share with you a tool that I was continuously developing during the last couple of months. https://github.com/polakowo/vectorbt As a data scientist, when I first started flirting with quant trading, I quickly realized that there is a shortage of Python packages that can actually enable me to iterate over a long list of possible strategies and hyper-parameters quickly. Most open-source backtesting libraries are very evolved in terms of functionality, but simply lack speed. Questions like "Which strategy is better: X or Y?" require fast computation and transformation of data. This not only prolongs your lifecycle of designing strategies, but is dangerous after all: limited number of tests is similar to a tunnel vision - it prevents you from seeing the bigger picture and makes you dive into the market blindly. After trying tweaking pandas, multiprocessing, and even evaluating my strategies on a cluster with Spark, I finally found myself using Numba - a Python library that can compile slow Python code to be run at native machine code speed. And since there were no packages in the Python ecosystem that could even closely match the speed of my own backtests, I made vectorbt. vectorbt combines pandas, NumPy and Numba sauce to obtain orders-of-magnitude speedup over other libraries. It builds upon the idea that each instance of a trading strategy can be represented in a vectorized form, so multiple strategy instances can be packed into a single multi-dimensional array. In this form, they can processed in a highly efficient manner and compared easily. It also integrates Plotly and ipywidgets to display complex charts and dashboards akin to Tableau right in the Jupyter notebook. You can find basic examples and explanations in the documentation. Below is an example of doing in total 67,032 tests on three different timeframes of Bitcoin price history to explore how performance of a MACD strategy depends upon various combinations of fast, slow and signal windows:
import vectorbt as vbt import numpy as np import yfinance as yf from itertools import combinations, product # Fetch daily price of Bitcoin price = yf.Ticker("BTC-USD").history(period="max")['Close'] price = price.vbt.split_into_ranges(n=3) # Define hyper-parameter space # 49 fast x 49 slow x 19 signal fast_windows, slow_windows, signal_windows = vbt.indicators.create_param_combs( (product, (combinations, np.arange(2, 51, 1), 2), np.arange(2, 21, 1))) # Run MACD indicator macd_ind = vbt.MACD.from_params( price, fast_window=fast_windows, slow_window=slow_windows, signal_window=signal_windows, hide_params=['macd_ewm', 'signal_ewm'] ) # Long when MACD is above zero AND signal entries = macd_ind.macd_above(0) & macd_ind.macd_above(macd_ind.signal) # Short when MACD is below zero OR signal exits = macd_ind.macd_below(0) | macd_ind.macd_below(macd_ind.signal) # Build portfolio portfolio = vbt.Portfolio.from_signals( price.vbt.tile(len(fast_windows)), entries, exits, fees=0.001, freq='1D') # Draw all window combinations as a 3D volume fig = portfolio.total_return.vbt.volume( x_level='macd_fast_window', y_level='macd_slow_window', z_level='macd_signal_window', slider_level='range_start', template='plotly_dark', trace_kwargs=dict( colorscale='Viridis', colorbar=dict( title='Total return', tickformat='%' ) ) ) fig.show()
Analyze and engineer features for any time series data
Supercharge pandas and your favorite tools to run much faster
Test thousands of strategies, configurations, assets, and time ranges in one go
Test machine learning models
Build interactive charts/dashboards without leaving Jupyter
The current implementation has limitations though:
It's still experimental and fast evolving, thus API can change quickly.
Fast processing means more memory requirements. Above example created multiple DataFrames each taking 46MB of RAM (price, signals, cash, shares, equity, returns, etc). The issue can be mitigated by deleting at least some artifacts as soon as they are created and by disabling caching.
Usage requires intermediate knowledge of pandas and NumPy to understand what's going on. Numba can be learned faster because of it mimicking NumPy. I tried to make lots of small examples in the documentation to get the idea how everything is glued together.
The approach of merging vectorized and iterative code differs significantly from classic OOP approach of designing strategies, and will require you to rethink how strategies are formulated and implemented (which is kinda fun).
Finally, if you're looking for a pure backtesting solution - it's not. It's more of a data mining tool to get to know your market and approach better.
If it sounds cool enough, try it out! I would love if you'd give me some feedback and contribute to it at some point, as the codebase has grown very fast. Cheers.
2975 points: deleted's comment in hentAI: Detecting and removing censors with Deep Learning and Image Segmentation
2772 points: I_DONT_LIE_MUCH's comment in 20GB leak of Intel data: whole Git repositories, dev tools, backdoor mentions in source code
2485 points: api's comment in Stripe Workers Who Relocate Get $20,000 Bonus and a Pay Cut - Stripe Inc. plans to make a one-time payment of $20,000 to employees who opt to move out of San Francisco, New York or Seattle, but also cut their base salary by as much as 10%
2464 points: iloveparagon's comment in Google engineer breaks down the problems he uses when doing technical interviews. Lots of advice on algorithms and programming.
2384 points: why_not_both_bot's comment in During lockdown my wife has been suffering mentally from pressure to stay at her desk 100% of the time otherwise after a few minutes her laptop locks and she is recorded as inactive. I wrote this small app to help her escape her desk by periodically moving the cursor. Hopefully it can help others.
2293 points: ThatInternetGuy's comment in Iranian Maintainer refuses to merge code from Israeli Developer. Cites Iranian regulations.
2268 points: xequae's comment in I'm a software engineer going blind, how should I prepare?
2228 points: turniphat's comment in AWS forked my project and launched it as its own service
2149 points: Rami-Slicer's comment in 20GB leak of Intel data: whole Git repositories, dev tools, backdoor mentions in source code
*New Story* Do autonomous trucks dream of CW McCall?
I've got some serial stories I'd like to tell about living with (and in) technology and the industry. Do autonomous trucks dream of CW McCall? Falstaff’s story “For a bright shining moment, we added a lot of shareholder value”. Falstaff had a comic with that caption in his double sized cubicle, the kind reserved for senior engineers. For a while he thought it showed that he didn’t fully buy into the corporate line, but that he’d still do as he was told as long as he had a shot at the big payout. RSUs, the big acquisition. The end of year bonus. That was the deal in the before time, when things mostly worked out for most people it seemed. Falstaff knew he wasn’t the smartest, but he didn’t complain, didn’t pick fights and lived pretty well. His bad habits didn’t impact his work life and he still might hit it big enough to quit and try something else. To have options. Then everything happened at once. The fires. The diseases. The chaos. Nobody knew who was in charge for a year or so. Things came back. A few years passed and the wealthy parts of the coastal cities looked shiny again. Most people called it normal. To the casual eye, it was. You could still get sushi delivered to the office late at night, ski in the Rockies if you could take the time off. Things were pretty good if you stayed where you belonged and kept your metrics up. Things fell off as you went East or to the not-so-quaint rural areas that couldn’t swing a music festival or good photo opportunities for social media. Go far enough and you found the places where the Feds just walked away. Not our problem any more. That’s how Falstaff saw the world and his place in it. He had’nt had much sleep. Drugs, risky behavior and the self-loathing kept him occupied, making his morning commute that much less pleasant. He stopped staring at the RVs and tents parked on the land next to the on-ramp as he got on the 101. He jabbed the infotainment system to find some noise to sooth or at least distract him. “Today, the Department of Energy announced that repairs have been completed ahead of schedule for the Diablo Canyon Power Plant. Radiation levels are now below acceptable levels for the first time in three years” Click. “We’ve got an autonomous truck accident with a car by Exit 6 on the 280 Eastbound, so expect delays while CHP and a support team from Freightliner gets that cleaned up” Click. It didn’t work. He still felt adrift and unhappy in the morning commute, so he silenced the radio and drove to the office. The office was uneventful. Park, security checkpoint, a long walk to his building, a coffee on the way to his cubicle. He pulled the privacy screen closed behind him and sat down. A quick scan of his eyes and there was his project- a payment processing application that would cut out another payment application for a small percentage of a massive stream of money. He looked over last night’s chatter, split the tasks into ‘do the work’ and ‘show that I’m adding value’ categories. The fear and sadness caught up with him. He wasn’t ever going to get out. If he ran as fast as he could, he’d stay exactly where he was until his rent outpaced his income. His stock options would vest just fast enough to keep him going, but he’d never get out. The morning dragged. Tweak this, report this to someone else. The bureaucratic minutiae and make-work washed over him until lunch. He looked forward to lunch with Tran, hoping that might get him out of his funk. Tran wasn’t so much a friend as one of the few people who admitted how screwed up everything was, so there wasn’t any danger of speaking the obvious and getting a negative reputation. Tran was out today, so Falstaff ate leftovers and instant noodles in his cubicle. His phone buzzed. There was a message on MomTalk, a chat for wealthy mothers to discuss brunch, day drinking and their children. An engineer friend of Falstaff’s set it up as a joke to lampoon the women she couldn’t stand and her friends played along, adopting over the top personae and complaining about nonexistent spouses and domestic staff. After things came back, it was a way to talk freely, if in code. Heather: Hey. I’m in deep trouble. The Nanny’s unhappy and I need someone to pick up the kids. Falstaff sighed. Tran must need something. Sheila: Missed you for lunch. Not feeling well? Heather: Serious. My kid is stuck under my desk and I need him to come home. UNDERSTAND? NOW! Sheila:kk. He got up, took his brown cardboard biodegradable instant noodle container and walked a few rows over to Tran’s cubicle. Where Falstaff’s cube was disorganized and well worn, Tran’s was sparse with better furniture. Falstaff felt under the desk and noticed a decal with one end loose. A quick pull and the label peeled off into his hand, along with a small flash memory card, the size of a fingernail. He stood up and quickly looked up and down the aisle between the cubicles. Nobody noticed. Nobody really paid much attention to him on a good day unless they needed something from him anyway. Back in his own cubicle, he went back to the chat: Sheila: How urgent is this? Chip can have dinner with us or we can drop him off on the way to fencing class. Heather:NO TIME. FAMILY’S HERE AND THINGS ARE TENSE. Heather:RUN. GET OUT NOW. Heather:REALLY. Falstaff was concerned. Tran didn’t make jokes. Laughing at Falstaff’s attempts at humor was enough. He had figured that Tran’s talk of ‘having gangsters in his family’ was an attempt to seem dangerous despite being a cubicle denizen, the way middle aged men bought loud motorcycles that they never rode. He folded the decal over the card, pressed the sides together and dropped it in the instant noodle cup, then pushed it down with the corn-plastic chopsticks. The background chatter got quiet and multiple employees raised their heads prairie-dog like. Several members of the company security detail were looking through Tran’s cubicle. Geoff, the brush-cut ex-cop security guard for this building was standing in the aisle attempting to look like he mattered to the operation as the more polished and definitely better paid detail carefully boxed the contents of Tran’s cubicle. Falstaff picked up his phone and noodle container and started walking towards an exit away from the commotion. Geoff noticed and walked briskly after him. As Falstaff walked out of the building, Geoff called out his real name, then jogged behind him, puffing his half a size too small corporate logo’d golf shirt. Ironed golf shirt. Falstaff heard Geoff behind him, but decided to ignore him. Geoff was a blue-badged contractor, safely ignored. Normally. Geoff ran in front of him and blocked his path to the parking garage. “You wouldn’t happen to know where Tran is, would you? I’ve seen you with him ” Falstaff tapped on his white badge. “You’re not my real dad. You can’t tell me what to do” Falstaff squeezed past him into the parking garage’s doorway. Geoff glared at him while Falstaff got in his car and put the noodle carton in the fancy retracting cupholder. He started his car and drove off as calmly as he could manage. Despite his attempt at seeming indifferent, his mind was racing. He attempted to make good time without getting attention. Luckily, silver Porsches were a cliché and therefore almost invisible in the Valley. Twenty minutes later, he was in his mid-grade two bedroom apartment overlooking the parking lot. His cat, Hank, greeted him with a raised head and half open eyes. Falstaff gave the cat some perfunctory petting, while trying to sequence the next few tasks. He went to the refrigerator in the kitchen, carrying the ramen cup in one hand. He selected a can of energy drink and thought for a second. His smartwatch and phone went in the freezer. Fishing the wrapped memory card out of the cup, he picked up the can and walked to his couch, where a bestickered high end laptop rested. Debating between speed and security, he turned off networking on his laptop, then inserted the card into the laptop gingerly, mounting it read-only in case Tran left something aggressive on the card. Huh. A couple really large encrypted files. And seven smaller files with long filenames of seemingly random numbers and letters. He ejected the card and gingerly placed it on the arm of the couch. The file names were bitcoin addressses. A lookup showed a total value of almost $600 million in value there. The files themselves were encrypted. Falstaff stared at the wall for a minute or two, then realized that Tran had decided to quit and take an unauthorized retirement bonus from their shared employer. Enough money to kill for. Who knew about this, and more importantly, who knew Falstaff had the key? Tran did. Perhaps his gangster friends knew. He pulled his phone out of the freezer. A few project related emails and three MomTalk direct messages. Heather:??? Heather:Where y’at? Heather:I have investors. They’re quite insistent. They’re on their way to you. It was time to go. Now. Falstaff put the laptop down and ran to his bedroom. He pawed through a closet and pulled out the giant duffel he used to carry two week’s laundry from his grad student apartment to the cheaper off-campus laundromat. He quickly shoved a variety of clothes, some scuffed hiking boots and some corporate branded technical outdoors gear into it. Behind a shelf, he found a long, antiquated Russian bolt-action rifle and a few paper-wrapped boxes of bullets. It wasn’t the firearm someone on the run would want, but it’s what he had. It went into the duffle bag, which he dragged into the living room. Hank jumped down and inspected the bag. “Hank, I’ll hook you up in a second” A quick scour of the kitchen and Falstaff had two thick trashbags and a box of water jugs with his current employer’s old logo on them, which he emptied into the sink and turned on the faucet. As the sink filled, he filled the trashbags with whatever looked useful- tools, hobby electronics, his laptop and cat food. He pulled out a fat stack of cash from the bottom of his drug stash box. He contemplated forced sobriety, then carefully closed the box and put it in the bag, along with the cash. Don’t change everything at once, he thought. Now isn’t the time to risk sobriety. Falstaff rummaged around in the hall closet and dug out a bright pink cat carrier and stuffed Hank into it, then turned to the overflowing sink in his kitchen. He opened and filled the bottles in what he hoped was an efficient use of time, then pushed them back into the box. His phone buzzed again. He contemplated throwing it back in the freezer, then thought better of it, shoving it and the watch back in his pocket. Hank started meowing. “We’re not going to the vet today, dude. Shut it for now” Falstaff looked out his window. Typical traffic. Typical parking lot. A few charging stations, a fence and tents on the other side. He opened the window and threw the bags into the bushes below. He picked up Hank’s carrier, his laptop and looked at the box of water bottles. Wait. Stop. Think. Breathe. Tran’s card. A minute of searching found where he left it on the couch. He stuck that in his pocket, then ran out of his apartment. He considered the elevator, then decided on the stairs as they were closer to the bags and his car. A few minutes of pushing and shoving had the trash bags in the front trunk , the oversized duffle in the passenger seat and Hank’s carrier seat belted in the tiny back seat. He spun the tires and entered the flow of traffic, such as it was. He looked at his phone. More people seemed to want a response. Ignoring them, he found the closest florist’s shop and fifteen minutes later, pulled into the strip mall that contained it. A few minutes later, he was in possession of three “Birthday Balloon Extravaganzas”, finishing off the shop’s tank of helium and a bit of Falstaff’s cash. He tied the strings around his smartwatch and let it rise and drift past the confines of the parking lot. The hastily constructed wad of tape and ribbon connecting his phone to the other two Extravaganzas generated a more labored flight, but eventually it drifted away. He looked into the shop’s camera and flipped it the bird as he left and jumped back in his car. Soon he was back on the road, relaxing with his elbow out the window. Despite the stop and go traffic, he felt safe enough to relax and make longer range plans. Even Hank had settled down for the moment. The hot air felt less oppressive somehow. He contemplated the right set of music for an escape from civilization, trying on a few genres to decide. The screen also showed that the freeway was less than a quarter mile on the right and traffic would be light. Good. Then he looked again at the screen and thought about antennas. His radio talked to the cell tower, which talked to the Internet. Every application knew where he was. Which meant Tran’s investors or their ex-employer could know as well. One hand on the wheel, he looked around for something to pull the radio out of the dashboard. Hank meowed. “You have an idea? No? Please be quiet” Rummaging around in the glove box, he noticed an old folding knife. Falstaff slowly pried the radio from the dashboard while occasionally looking up at the tailgate of a modern SUV ahead of him. Realizing there was a rear-facing camera on the SUV staring at him, he slid down below the dash as best he could. A few more stop and go cycles and the radio was free of the dash. He unplugged cables by feel, but one took his attention away from the road while he pried at it with his knife He was distracted by a horn blast by his ear. Another SUV was forcing itself into his lane while the driver gesticulated at him. Falstaff reciprocated by waving angrily at him, knife still in hand. The driver of the SUV held the horn down, angering Falstaff enough to open the window and throw the now free radio at the noise. Feeling the embarrassment, he jerked the wheel to the right and accelerated into the bicycle lane with a chirp of tires and howl from the engine behind him. A minute later, he was on the highway, quickly leaving Silicon Valley. He hoped to make the Nevada line before anyone figured out what he was doing.
Here is how to play the altcoin game - for newbies & champs
I have been here for many previous altcoin seasons (2013,2017 etc) and wanted to share knowedle. It's a LOOONG article. The evaluation of altcoins (i.e not Bitcoin) is one of the most difficult and profitable exercises. Here I will outline my methodology and thinking but we have to take some things as a given. The first is that the whole market is going up or down with forces that we can't predict or control. Bitcoin is correlated with economic environments, money supply increases, safe havens such as Gold, hype and country regulations. This is an impossible mix to analyze and almost everyone fails at it. That's why you see people valuing Bitcoin from $100 to $500k frequently. Although I am bullish on the prospects of Bitcoin and decentralization and smart contract platforms, this is not the game I will be describing. I am talking about a game where you try to maximize your BTC holdings by investing in altcoins. We win this game even if we are at a loss in fiat currency value. To put it another way:
If you are not bullish in general on cryptocurrencies you have no place in investing or trading cryptocurrencies since it's always a losing proposition to trade in bubbles, a scientifically proven fact. If on the other hand you are then your goal is to grow your portfolio more than you would if holding BTC/ETH for example.
Bitcoin is the big boy
How the market works is not easily identifiable if you haven't graduated from the 2017 crypto university. When there is a bull market everything seems amazingly profitable and things keep going up outgrowing Bitcoin by orders of magnitude and you are a genius. The problem with this is that it only works while Bitcoin is going up a little bit or trades sideways. When it decides to move big then altcoins lose value both on the way up and on the way down. The second part is obvious and proven since all altcoins from 2017 are at a fraction of their BTC value (usually in the range of 80% or more down). Also, when BTC is making a big move upwards everyone exits altcoins to ride the wave. It is possible that the altcoin market behaves as an inversed leveraged ETF with leakage where in a certain period while Bitcoin starts at 10k and ends at 10k for example, altcoins have lost a lot of value because of the above things happening.
We are doing it anyway champ!
OK so we understand the risks and just wanna gambol with our money right? I get it. Why do that? Because finding the ideal scenario and period can be extremely profitable. In 2017 several altcoins went up 40x more than BTC. But again, if you don't chose wisely many of them have gone back to zero (the author has first hand experience in this!), they have been delisted and nobody remembers them. The actual mentality to have is very important and resembles poker and other speculative games: A certain altcoin can go up in value indefinitely but can only lose it's starting investment. Think about it. You either lose 1 metric or gain many many more. Now that sounds amazing but firstly as we said we have the goal to outperform our benchmark (BTC) and secondly that going up in value a lot means that the probability is quite low. There is this notion of Expected Value (EV) that poker players apply in these kind of situations and it goes like that. If you think that a certain coin has a probability let's say 10% to go up 10X and 90% probability it goes to zero it's an even bet. If you think that probability is 11% then it's a good bet, a profitable bet and you should take it. You get the point right? It's not that it can only go 10X or 0X, there is a whole range of probability outcomes that are too mathematical to explain here and it doesn't help so much because nobody can do such analysis with altcoins. See below on how we can approximate it.
How to evaluate altcoins
A range of different things to take into account outlined below will form our decision making. Not a single one of them should dictate 100% of our strategy.
It's all about market cap. Repeat after me. The price of a coin doesn't mean anything. Say it 10 times until you believe it. I can't remember how many times I had conversations with people that were comparing coins using their coin price instead of their market cap. To make this easy to get.
If I decide because the sky is blue to make my coin supply 100 Trillion FoolCoins with a price of $0.001 and there is another WiseCoin with a supply of 100 Million and price of $1 then FoolCoins are more expensive. - Alex Fin's Cap Law
This is done usually in the stock world and it means that each company has some fundamental value that includes it's assets, customers, growth prospects, sector prospects and leadership competence but mostly centered in financial measures such as P/E ratios etc. Valuation is a proper economic discipline by itself taught in universities. OK, now throw everything out of the window!. This kind of analysis is impossible in vague concepts and innovations that are currently cryptocurrencies. Ethereum was frequently priced at the fictional price of gas when all financial systems on earth run on the platform after decades (a bit of exaggeration here). No project is currently profitable enough to justify a valuation multiple that is usually equal to P/E in the thousands or more. As such we need to take other things into account. What I do is included in the list below:
Check Github. You need to make sure there is active development for the platform and it's a very bad sign if the project is either keeping the code closed source or even worse there is simply no development. No projects are "complete".
Check Website. If the website is written in bad English the Chinese google translate type it means that they are not serious enough to produce an unbreakable decentralized project. If you can't write English you can't change the world, period. That's a deal breaker.
Check Team's Linkedin. Numerous projects have either fake Linkedin accounts or the team is comprised mainly by unexperienced employees that are even shown to be working in other companies currently.
Check backers. Projects that have Binance, Coinbase or Silicon Valley VC funds backing them are way more legit but way more overpriced too!
One of my favorite ways to value altcoins that is based on the same principle in the stock market is to look at peers and decide what is the maximum cap it can grow to. As an example you take a second layer Ethereum solution that has an ICO and you want to decide if you will enter or not. You can take a look at other coins that are in the same business and compare their market caps. Thinking that your coin will outperform by a lot the top coins currently is overly optimistic so I usually take a lower valuation as a target price. If the initial offering is directly implying a valuation that is more than that then there is no room to grow according to my analysis and I skip it. Many times this has proven me wrong because it's a game theory problem where if many people think irrationally in a market it becomes a self-fulfilling prophecy. But since there is opportunity cost involved, in the long run, getting in initial offerings that have a lot of room to grow will pay off as a strategy.
In 2017 the sexiest sector was platforms and then coins including privacy ones. Platforms are obviously still a highly rated sector because everything is being built on them, but privacy is not as hot as it used to be. In 2018 DEXes were all they hype but still people are massively using centralized exchanges. In 2020 Defi is the hottest sector and it includes platforms, oracles and Defi projects. What I am saying is that a project gets extra points if it's a Defi one in 2020 and minus points if it's a payment system that will conquer the world as it was in 2017 because that's old news. This is closely related to the next section.
Needless to say that the crypto market is a worse FOMO type of inexperienced trigger happy yolo investors , much worse than the Robinhood crowd that drove a bankrupt company's stock 1200% after they declared bankruptcy. The result is that there are numerous projects that are basically either vaporware or just so overhyped that their valuation has no connection to reality. Should we avoid those kind of projects? No and I will explain why. There are many very good technically projects that had zero hype potential due to incompetent marketing departments that made them tank. An example (without shilling because I sold out a while back) is Quantum Resistant Ledger. This project has amazing quantum resistant blockchain, the only one running now, has a platform that people can build tokens and messaging systems and other magnificent stuff. Just check how they fared up to now and you will get the point. A project *needs* to have a hype factor because you cannot judge it as normal stocks that you can do value investing like Warren Buffet does where a company will inevitable post sales and profitability numbers and investors will get dividends. Actually the last sentence is the most important: No dividends. Even projects that give you tokens or coins as dividends are not real dividends because if the coin tanks the value of the dividend tanks. This is NOT the case with company stocks where you get dollars even if the company stock tanks. All that being said, I would advice against betting on projects that have a lot of hype but little substance (but that should be obvious!).
How to construct your portfolio
My strategy and philosophy in investing is that risk should be proportional to investment capital. That means that if you are investing 100K in the crypto market your portfolio should be very different than someone investing 1K because 10% annual gains are nothing in the latter while they are very significant in the former. Starting from this principle each individual needs to construct a portfolio according to how much risk he wants to take. I will emphasize two important concepts that play well with what I said. In the first instance of a big portfolio you should concentrate on this mantra: "Diversification is the only free meal in finance". In the case of a small portfolio then this mantra is more important: "Concentrate to create wealth, diversify to maintain wealth". Usually in a big portfolio you would want to hold some big coins such as BTC and ETH to weather the ups and downs explained in previous paragraphs while generating profits and keep progressively smaller parts of your portfolio for riskier investments. Maybe 50% of this portfolio could be big caps and 10% very risky initial offerings. Adapting risk progressively to smaller portfolios makes sense but I think it would be irrational to keep more than 30% of a portfolio no matter what tied to one coin due to the very high risk of bankruptcy.
The altseason is supposedly coming every 3 months. Truth is that nobody can predict it but altcoins can be profitable no matter what. Forget about maximalists who are stuck in their dogmas. Altcoins deliver different value propositions and it makes sense because we are very far from a situation where some project offers everything like Amazon and we wouldn't even want that in the first place since we are talking about decentralization and not a winner takes all and becomes a monster kind of scenario! Some last minute advice:
Stay out of paid telegram/discord pump groups. They are deadly for your wallet.
Avoid jumping on overhyped coins that have pumped massively during the last days without any very important news.
Don't keep coins in obscure exchanges for too long or you will get burned with certainty.
Stop thinking that your coin will 1000x and overtake Bitcoin!
P.S If you find value in reading this and want more weekly consider subscribing to my newsletterhere
Bitcoin Core is a community-driven free software project, released under the MIT license. Verify release signatures Download torrent Source code Show version history. Bitcoin Core Release Signing Keys v0.8.6 - 0.9.2.1 v0.9.3 - 0.10.2 v0.11.0+ Or choose your operating system. Windows exe - zip. Mac OS X dmg - tar.gz. Linux (tgz) 64 bit. ARM Linux 64 bit - 32 bit. Linux (Snap Store) Support ... Below are some notes on how to build Bitcoin Core for Windows. Most developers use cross-compilation from Ubuntu to build executables for: Windows. This is also used to build the release binaries. Building on Ubuntu Trusty 14.04 is recommended. At the time of writing the Windows Subsystem for Linux installs Ubuntu Xenial 16.04. The default cross : compiler package for Ubuntu Xenial does not ... Bitcoin Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.8+, and Windows Vista and later. Microsoft ended support for Windows XP on April 8th, 2014 , No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk but be aware that there are known instabilities and issues. Build Your Own Portable Bitcoin Mining Rig / Battlestation Introduction: Build Your Own Portable Bitcoin Mining Rig / Battlestation This is XK ; For a really long time since i bought and build my own Bitcoin Miners , I have always wanted to build something more "dedicated " for mining tasks rather than using classical Server cabinets and so on. Something that will change my life entirely ... Bitcoin Core is supported and extensively tested on operating systems using the Linux kernel, macOS 10.12+, and Windows 7 and newer. Bitcoin Core should also work on most other Unix-like systems but is not as frequently tested on them. It is not recommended to use Bitcoin Core on unsupported systems.
The version number gives you the best information on what version of Windows 10 you’re running. The number is based on the date of the most recent large build release and use a YYMM format. For ... Start trading Bitcoin and cryptocurrency here: http://bit.ly/2Vptr2X IMPORTANT!! This method only illustrates how mining works. You will not make any money f... Bitcoin Mining Software Windows 10 ( 2019) FREE DOWNOAD ViaBTC Crypto Auto Miner Ultimate 2019 This is Auto Miner Ultimate Per Day Minimum : 0.05 Earn BTC gu... What it really takes to mine a Bitcoin in 10 Minutes. Firstly I'll show you a special free method to mine Bitcoin and send funds directly to your wallet in 1... The virtual goldrush to mine Bitcoin and other cryptocurrencies leads us to Central Washington state where a Bitcoin mine generates roughly $70,000 a day min...