The Crypto Trading Game is simulated cryptocurrency trading using real market prices. Each game has its own post in /CryptoTradingGame. The object of the game is to have the highest value portfolio before the game's end time. Everyone starts the game with $10,000 USD to trade as they wish.
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
Recently I decided to change all my professional and personal plans. I left my job. I left my friends and family. I left my country. All for Bitcoin. Here is why.
Discovering my core values I was born and raised in an upper-middle income family in Mexico City under catholic values but turned agnostic as I grew older. I kept the values that made sense, such as the importance of charity and giving back, and threw away the ones that were outdated, such as the focus on guilt as a motivator of change. As a kid, I remember how conflicting it was to see other kids working in the streets, starving, drugged, and abused. I couldn’t understand why they couldn’t focus on their education the way I did. That planted a seed in my spirit that still grows. Seeing in economics hope As a teenager, I entered the rabbit hole of economics with hope. Economics seemed to be this mystical force capable of solving the world’s biggest problems: poverty, corruption, global warming, and many more. I knew that the way we were doing economics was wrong and I wanted to change that. Just think about the horrible things that have been done under the name of communism, such as the Cambodian genocide, or how the United States, the crown jewel of capitalism, makes of fundamental rights, such as healthcare and education, profitable businesses instead of granting everyone equal access to them. While studying my undergrad, I quickly fell out of love with the idealistic idea of economics as an almighty force that can conquer all evils. I saw how economics was often used as an excuse to force simplistic representations of culture and society into complex problems. I never understood how that approach of thinking about problems in a vacuum could be useful. Understanding the power of financial services Later in my life, while working as a consultant for McKinsey, I finally understood the importance of financial institutions. They decide who should do business and have access to goods and services and who shouldn’t. And financial institutions don’t grant everyone that right. It was clear to me that that was a problem that needed fixing. That’s why I devoted so much time studying this industry back then. I came to Berkeley to Business School more out of inertia than out of will. I was sponsored by McKinsey and had an offer to go back. I didn’t know exactly what to do with the experience, but I knew I wanted to keep exploring financial services. During my MBA, I heard about Bitcoin in a serious academic environment for the first time and it immediately caught my interest. Via Berkeley-SkyDeck, a startup school, I heard about lastbit (lasbit.io) for the first time. I read everything I could about the project and about the founder, this cool, heavy-metal lover, who wanted to change the world with the disruptive power of Bitcoin. I could see myself in him. I had to meet him. After failing to meet him in person at an event, I just cold emailed him praying for him to answer. He did. That’s how I came in contact with Prashanth for the first time, this impressive 25-year-old genius who managed to get Charlie Lee on board of his project with little more than a prototype. There’s a reason why he managed to do this. Today Bitcoin is almost impossible to spend. With Prashanth’s his solution, anyone will be able to swipe a card or tap their phone and pay with Bitcoin instantly anywhere where they are able to pay with their credit card today. Something not so long ago possible only in bitcoiners’ dreams. Through Prashanth I finally understood what Bitcoin really is. It blew my mind. Unveiling the real meaning of Bitcoin Bitcoin is not an investment asset, it’s the possibility of a new social contract. Bitcoin is a decentralized, transparent, and auditable network to store and transmit value to which everyone in the world can have access to. This presents a real opportunity to redefine money, which today is inherently centralized, first by central banks, and then by financial institutions. The centralization of money has at least three critical problems that Bitcoin solves. First, there is a macroeconomic problem that has to do with monetary policy and that today with the COVID-19 economic crisis is more relevant than ever. Money is supposed to be a reflection of real economic value, but some central banks print money arbitrarily. Bitcoin’s monetary supply is limited by design. Second, centralized financial services are discriminatory and don’t allow free access to everyone. Bitcoin is universal and free. This means that for the first time in human history, everyone will be able to participate in the global economy. And participation is the pillar of democracy. Third, central authorities control private information. The recent attacks to high profile account on Twitter illustrate how vulnerable private information is when stored in centralized networks. Bitcoin allows people to have full ownership and control of their personal and financial information, protecting both their identity and their wealth. As such, Bitcoin emerged in front of my eyes as a way to instrument basic democratic principles in a way in which everyone can have equal representation. Money as we know it will soon be a thing of the past because money as we know it not fair nor egalitarian and now people can choose. I had to quit McKinsey. I had to leave Mexico. I had to stay with lastbit. I had to give this project my all.
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 upgrade