submitted by D-platform to u/D-platform [link] [comments]
1. What is Bitcoin (BTC)?
2. Bitcoin’s core featuresFor a more beginner’s introduction to Bitcoin, please visit Binance Academy’s guide to Bitcoin.
Unspent Transaction Output (UTXO) modelA UTXO transaction works like cash payment between two parties: Alice gives money to Bob and receives change (i.e., unspent amount). In comparison, blockchains like Ethereum rely on the account model.
Nakamoto consensusIn the Bitcoin network, anyone can join the network and become a bookkeeping service provider i.e., a validator. All validators are allowed in the race to become the block producer for the next block, yet only the first to complete a computationally heavy task will win. This feature is called Proof of Work (PoW).
The probability of any single validator to finish the task first is equal to the percentage of the total network computation power, or hash power, the validator has. For instance, a validator with 5% of the total network computation power will have a 5% chance of completing the task first, and therefore becoming the next block producer.
Since anyone can join the race, competition is prone to increase. In the early days, Bitcoin mining was mostly done by personal computer CPUs.
As of today, Bitcoin validators, or miners, have opted for dedicated and more powerful devices such as machines based on Application-Specific Integrated Circuit (“ASIC”).
Proof of Work secures the network as block producers must have spent resources external to the network (i.e., money to pay electricity), and can provide proof to other participants that they did so.
With various miners competing for block rewards, it becomes difficult for one single malicious party to gain network majority (defined as more than 51% of the network’s hash power in the Nakamoto consensus mechanism). The ability to rearrange transactions via 51% attacks indicates another feature of the Nakamoto consensus: the finality of transactions is only probabilistic.
Once a block is produced, it is then propagated by the block producer to all other validators to check on the validity of all transactions in that block. The block producer will receive rewards in the network’s native currency (i.e., bitcoin) as all validators approve the block and update their ledgers.
Block productionThe Bitcoin protocol utilizes the Merkle tree data structure in order to organize hashes of numerous individual transactions into each block. This concept is named after Ralph Merkle, who patented it in 1979.
With the use of a Merkle tree, though each block might contain thousands of transactions, it will have the ability to combine all of their hashes and condense them into one, allowing efficient and secure verification of this group of transactions. This single hash called is a Merkle root, which is stored in the Block Header of a block. The Block Header also stores other meta information of a block, such as a hash of the previous Block Header, which enables blocks to be associated in a chain-like structure (hence the name “blockchain”).
An illustration of block production in the Bitcoin Protocol is demonstrated below.
Block time and mining difficultyBlock time is the period required to create the next block in a network. As mentioned above, the node who solves the computationally intensive task will be allowed to produce the next block. Therefore, block time is directly correlated to the amount of time it takes for a node to find a solution to the task. The Bitcoin protocol sets a target block time of 10 minutes, and attempts to achieve this by introducing a variable named mining difficulty.
Mining difficulty refers to how difficult it is for the node to solve the computationally intensive task. If the network sets a high difficulty for the task, while miners have low computational power, which is often referred to as “hashrate”, it would statistically take longer for the nodes to get an answer for the task. If the difficulty is low, but miners have rather strong computational power, statistically, some nodes will be able to solve the task quickly.
Therefore, the 10 minute target block time is achieved by constantly and automatically adjusting the mining difficulty according to how much computational power there is amongst the nodes. The average block time of the network is evaluated after a certain number of blocks, and if it is greater than the expected block time, the difficulty level will decrease; if it is less than the expected block time, the difficulty level will increase.
What are orphan blocks?In a PoW blockchain network, if the block time is too low, it would increase the likelihood of nodes producingorphan blocks, for which they would receive no reward. Orphan blocks are produced by nodes who solved the task but did not broadcast their results to the whole network the quickest due to network latency.
It takes time for a message to travel through a network, and it is entirely possible for 2 nodes to complete the task and start to broadcast their results to the network at roughly the same time, while one’s messages are received by all other nodes earlier as the node has low latency.
Imagine there is a network latency of 1 minute and a target block time of 2 minutes. A node could solve the task in around 1 minute but his message would take 1 minute to reach the rest of the nodes that are still working on the solution. While his message travels through the network, all the work done by all other nodes during that 1 minute, even if these nodes also complete the task, would go to waste. In this case, 50% of the computational power contributed to the network is wasted.
The percentage of wasted computational power would proportionally decrease if the mining difficulty were higher, as it would statistically take longer for miners to complete the task. In other words, if the mining difficulty, and therefore targeted block time is low, miners with powerful and often centralized mining facilities would get a higher chance of becoming the block producer, while the participation of weaker miners would become in vain. This introduces possible centralization and weakens the overall security of the network.
However, given a limited amount of transactions that can be stored in a block, making the block time too longwould decrease the number of transactions the network can process per second, negatively affecting network scalability.
3. Bitcoin’s additional features
Segregated Witness (SegWit)Segregated Witness, often abbreviated as SegWit, is a protocol upgrade proposal that went live in August 2017.
SegWit separates witness signatures from transaction-related data. Witness signatures in legacy Bitcoin blocks often take more than 50% of the block size. By removing witness signatures from the transaction block, this protocol upgrade effectively increases the number of transactions that can be stored in a single block, enabling the network to handle more transactions per second. As a result, SegWit increases the scalability of Nakamoto consensus-based blockchain networks like Bitcoin and Litecoin.
SegWit also makes transactions cheaper. Since transaction fees are derived from how much data is being processed by the block producer, the more transactions that can be stored in a 1MB block, the cheaper individual transactions become.
The legacy Bitcoin block has a block size limit of 1 megabyte, and any change on the block size would require a network hard-fork. On August 1st 2017, the first hard-fork occurred, leading to the creation of Bitcoin Cash (“BCH”), which introduced an 8 megabyte block size limit.
Conversely, Segregated Witness was a soft-fork: it never changed the transaction block size limit of the network. Instead, it added an extended block with an upper limit of 3 megabytes, which contains solely witness signatures, to the 1 megabyte block that contains only transaction data. This new block type can be processed even by nodes that have not completed the SegWit protocol upgrade.
Furthermore, the separation of witness signatures from transaction data solves the malleability issue with the original Bitcoin protocol. Without Segregated Witness, these signatures could be altered before the block is validated by miners. Indeed, alterations can be done in such a way that if the system does a mathematical check, the signature would still be valid. However, since the values in the signature are changed, the two signatures would create vastly different hash values.
For instance, if a witness signature states “6,” it has a mathematical value of 6, and would create a hash value of 12345. However, if the witness signature were changed to “06”, it would maintain a mathematical value of 6 while creating a (faulty) hash value of 67890.
Since the mathematical values are the same, the altered signature remains a valid signature. This would create a bookkeeping issue, as transactions in Nakamoto consensus-based blockchain networks are documented with these hash values, or transaction IDs. Effectively, one can alter a transaction ID to a new one, and the new ID can still be valid.
This can create many issues, as illustrated in the below example:
Since the transaction malleability issue is fixed, Segregated Witness also enables the proper functioning of second-layer scalability solutions on the Bitcoin protocol, such as the Lightning Network.
Lightning NetworkLightning Network is a second-layer micropayment solution for scalability.
Specifically, Lightning Network aims to enable near-instant and low-cost payments between merchants and customers that wish to use bitcoins.
Lightning Network was conceptualized in a whitepaper by Joseph Poon and Thaddeus Dryja in 2015. Since then, it has been implemented by multiple companies. The most prominent of them include Blockstream, Lightning Labs, and ACINQ.
A list of curated resources relevant to Lightning Network can be found here.
In the Lightning Network, if a customer wishes to transact with a merchant, both of them need to open a payment channel, which operates off the Bitcoin blockchain (i.e., off-chain vs. on-chain). None of the transaction details from this payment channel are recorded on the blockchain, and only when the channel is closed will the end result of both party’s wallet balances be updated to the blockchain. The blockchain only serves as a settlement layer for Lightning transactions.
Since all transactions done via the payment channel are conducted independently of the Nakamoto consensus, both parties involved in transactions do not need to wait for network confirmation on transactions. Instead, transacting parties would pay transaction fees to Bitcoin miners only when they decide to close the channel.
One limitation to the Lightning Network is that it requires a person to be online to receive transactions attributing towards him. Another limitation in user experience could be that one needs to lock up some funds every time he wishes to open a payment channel, and is only able to use that fund within the channel.
However, this does not mean he needs to create new channels every time he wishes to transact with a different person on the Lightning Network. If Alice wants to send money to Carol, but they do not have a payment channel open, they can ask Bob, who has payment channels open to both Alice and Carol, to help make that transaction. Alice will be able to send funds to Bob, and Bob to Carol. Hence, the number of “payment hubs” (i.e., Bob in the previous example) correlates with both the convenience and the usability of the Lightning Network for real-world applications.
Schnorr Signature upgrade proposalElliptic Curve Digital Signature Algorithm (“ECDSA”) signatures are used to sign transactions on the Bitcoin blockchain.
However, many developers now advocate for replacing ECDSA with Schnorr Signature. Once Schnorr Signatures are implemented, multiple parties can collaborate in producing a signature that is valid for the sum of their public keys.
This would primarily be beneficial for network scalability. When multiple addresses were to conduct transactions to a single address, each transaction would require their own signature. With Schnorr Signature, all these signatures would be combined into one. As a result, the network would be able to store more transactions in a single block.
The reduced size in signatures implies a reduced cost on transaction fees. The group of senders can split the transaction fees for that one group signature, instead of paying for one personal signature individually.
Schnorr Signature also improves network privacy and token fungibility. A third-party observer will not be able to detect if a user is sending a multi-signature transaction, since the signature will be in the same format as a single-signature transaction.
4. Economics and supply distributionThe Bitcoin protocol utilizes the Nakamoto consensus, and nodes validate blocks via Proof-of-Work mining. The bitcoin token was not pre-mined, and has a maximum supply of 21 million. The initial reward for a block was 50 BTC per block. Block mining rewards halve every 210,000 blocks. Since the average time for block production on the blockchain is 10 minutes, it implies that the block reward halving events will approximately take place every 4 years.
As of May 12th 2020, the block mining rewards are 6.25 BTC per block. Transaction fees also represent a minor revenue stream for miners.
submitted by tkeycoin to Tkeycoin_Official [link] [comments]
Version 1.3.0 is a powerful update to TkeySpace that our team has been carefully preparing. since version 1.2.0, we have been laying the foundation for implementing new features that are already available in the current version.
Who cares about the security and privacy of their assets is an update for you.
TkeySpace — was designed to give You full control over your digital assets while maintaining an exceptional level of security, which is why there is no personal data in the wallet: phone number, the email address that could be compromised by hackers — no identity checks and other hassles, just securely save the backup phrase consisting of 12 words.
Briefly about the TkeySpace 1.3.0 update :
Code optimization and switching to AndroidXA lot of work has been done on optimizing the code to speed up the application, improving the logic, synchronization speed, calculating the hash of cryptocurrencies, and successfully switching to AndroidX.
New section: Privacy
TORStarting with the current update, the TkeySpace wallet can communicate via the TOR network, includes new privacy algorithms, and supports 59 different currencies.
Tor is a powerful privacy feature for those who own large assets or live in places where the Internet is heavily censored.
Tor technology provides protection against traffic analysis mechanisms that compromise not only Internet privacy, but also the confidentiality of trade secrets, business contacts, and communications in General.When you enable TOR settings, all outgoing traffic from the wallet will be encrypted and routed through an anonymous network of servers, periodically forming a chain through the Tor network, which uses multi-level encryption, effectively hiding any information about the sender: location, IP address, and other data.
This means that if your provider blocks the connection, you can rest easy — after all, by running this function, you will get an encrypted connection to the network without restrictions.
In TOR mode, the wallet may work noticeably slower and in some cases, there may be problems with the network, due to encryption, some blockchain browsers may temporarily not work. However, TOR encryption is very important when Internet providers completely block traffic and switching to this mode, you get complete freedom and no blocks for transactions.
Confidentiality of transactions (the Blockchain transaction)The wallet can change the model of a standard transaction, mixing inputs and outputs, making it difficult to identify certain cryptocurrencies. In the current update, you can select one of several modes for the transaction privacy level: deterministic lexicographic sorting or shuffle mode.
Mode: Lexicographic indexingImplemented deterministic lexicographic sorting using hashes of previous transactions and output indexes for sorting transaction input data, as well as values and scriptPubKeys for sorting transaction output data;
We understand that information must remain confidential not only in the interests of consumers but also in higher orders, financial systems must be kept secret to prevent fraud. One way to address these privacy shortcomings is to randomize the order of inputs and outputs.
Lexicographic ordering is a comparison algorithm used to sort two sets based on their Cartesian order within their common superset. Lexicographic order is also often referred to as alphabetical order or dictionary order. The hashes of previous transactions (in reverse byte order) are sorted in ascending order, lexicographically.In the case of two matching transaction hashes, the corresponding previous output indexes will be compared by their integer value in ascending order. If the previous output indexes match, the input data is considered equal.
Shuffle Mode: mixing (random indexing)To learn more about how “shuffle mode” works, we will first analyze the mechanisms using the example of a classic transaction. Current balance Of your wallet: 100 TKEY, coins are stored at different addresses:
x1. Address-contains 10 TKEY. x2. Address-contains 20 TKEY. x3. Address-contains 30 TKEY. x4. Address-contains 15 TKEY. x5. Address-contains 25 TKEY.
Addresses in the blockchain are identifiers that you use to send cryptocurrency to another person or to receive digital currency.In a classic transaction, if you need to send, for example, 19 TKEY — 100 TKEY will be sent to the network for “melting” coins, 19 TKEY will be sent to the Recipient, and ~80.9 TKEY will return to the newly generated address for “change” in your wallet.
In the blockchain explorer, you will see the transaction amount in the amount of 100 TKEY, where 80.99999679 TKEY is your change, 19 TKEY is the amount you sent and 0.00000321 is the transaction fee. Thus, in the blockchain search engine, most of your balance is shown in the transaction.
How does the shuffle mode work?Let’s look at a similar example: you have 100 TKEY on your balance, and you need to send 19 TKEY.
x1. Address-contains 10 TKEY. x2. Address-contains 20 TKEY. x3. Address-contains 30 TKEY. x4. Address-contains 15 TKEY. x5. Address-contains 25 TKEY.
You send 19 TKEY, the system analyzes all your addresses and balances on them and selects the most suitable ones for the transaction. To send 19 TKEY, the miners will be given coins with x2. Addresses, for a total of 20 TKEY. Of these, 19 TKEY will be sent to the recipient, and 0.99999679 TKEY will be returned to Your new address as change minus the transaction fee.
In the blockchain explorer, you will see the transaction amount in the amount of 20 TKEY, where 0.99999679 TKEY is Your change, 19 TKEY is the amount you sent and 0.00000321 is the transaction fee.
The shuffle mode has a cumulative effect. with each new transaction, delivery Addresses will be created and the selection of debit addresses/s that are most suitable for the transaction will change. Thus, if you store 1,000,000 TKEY in your wallet and want to send 1 TKEY to the recipient, the transaction amount will not display most of your balance but will select 1 or more addresses for the transaction.
Selecting the recovery method for each digital currency (Blockchain restore)Now you can choose the recovery method for each currency: API + Blockchain or blockchain.
Note: This is not a syncing process, but rather the choice of a recovery method for your wallet. Syncing takes place with the blockchain — regardless of the method you choose.https://preview.redd.it/gxsssuxrttx41.png?width=1080&format=png&auto=webp&s=cd9fe383618dda0e990e86485652ff95652a8481
What are the differences between recovery methods?
API + BlockchainIn order not to load the entire history of the blockchain, i.e. block and transaction headers, the API helps you quickly get point information about previous transactions. For example, If your transactions are located in block 67325 and block 71775, the API will indicate to the node the necessary points for restoring Your balance, which will speed up the “recovery” process.
As soon as the information is received, communication with the peers takes place and synchronization begins from the control point, then from this moment, all subsequent block loading is carried out through the blockchain. This method allows you to quickly restore Your existing wallet.
‘’-’’ The API server may fail.
BlockchainThis method loads all block headers (block headers + Merkle) starting from the BIP44 checkpoint and manually validates transactions.
‘’+’’ It always works and is decentralized. ‘’-’’ Loading the entire blockchain may take a long time.
Why do I need to switch the recovery method?If when creating a wallet or restoring it, a notification (!) lights up in red near the selected cryptocurrency, then most likely the API has failed, so go to Settings — Security Center — Privacy — Blockchain Restore — switch to Blockchain. Syncing will be successful.
Selecting the address formatYou can choose the address format not only for Bitcoin but also for Litecoin. Legacy, SegWit, Native SegWit. Go to Settings — Manage Wallets — Address Format.
Working at the code level
Enhanced validation of transactions and blocks in the networkDue to the increased complexity in the Tkeycoin network, we have implemented enhanced validation of the tkeycoin consensus algorithm, and this algorithm is also available for other cryptocurrencies.
What is the advantage of the enhanced validation algorithm for the userFirst, the name itself speaks for itself — it increases the security of the network, and second, by implementing the function — we have accelerated the work of the TkeySpace blockchain node, the application consumes even fewer resources than before.
High complexity is converted to 3 bytes, which ensures fast code processing and the least resource consumption on your device.
SynchronizationThe synchronization process has been upgraded. Node addresses are added to the local storage, and instant synchronization with nodes occurs when you log in again.
Checking for double-spendingTkeySpace eliminates “double-spending” in blockchains, which is very valuable in the Bitcoin and Litecoin networks.
For example, using another application, you may be sent a fake transaction, and the funds will eventually disappear from the network and your wallet because this feature is almost absent in most applications.Using TkeySpace — you are 100% sure that your funds are safe and protected from fraudulent transactions in the form of “fake” transactions.
The bloom filter to check for nodesAll nodes are checked through the bloom filter. This allows you to exclude fraudulent nodes that try to connect to the network as real nodes of a particular blockchain.
In practice, this verification is not available in applications, Tkeycoin — decided to follow a new trend and change the stereotypes, so new features such as node verification using the bloom filter and double-spending verification are a kind of innovation in applications that work with cryptocurrencies.
Updating the Binance and Ethereum librariesUpdated Binance and Ethereum libraries for interaction with the TOR network.
Function — to hide the balanceThis function allows you to hide the entire balance from the main screen.
Advanced currency charts and charts without authenticationDetailed market statistics are available, including volumes, both for 1 day and several years. Select the period of interest: 1 day, 7 days, 1 month, 3 months, 6 months, 1 year, 2 years.
In version 1.3.0, you can access charts without authentication. You can monitor the cryptocurrency exchange rate without even logging in to the app. If you have a pin code for logging in, when you open the app, swipe to the left and you will see a list of currencies.
NewsIn the market data section — in the tkeyspace added a section with current news of the cryptocurrency market.
Blockchain Explorer for TkeycoinTransaction verification for Tkeycoin is now available directly in the app.
Independent Commission entry for BitcoinTaking into account the large volume of the Bitcoin network, we have implemented independent Commission entry — you can specify any Commission amount.
For other currencies, smart Commission calculation is enabled based on data from the network. The network independently regulates the most profitable Commission for the sender.
New digital currenciesThe TkeySpace wallet supports +59 cryptocurrencies and tokens.
CryptocurrenciesTkeycoin (TKEY), Bitcoin (BTC), Litecoin (LTC), Ethereum (ETH), Bitcoin Cash (BCH), DASH, Binance (BNB), EOS.
StablecoinsTrueUSD (TUSD), Tether USD (USDT), USD Coin (USDC), Gemini Dollar (GUSD), STASIS EURO (EURS), Digix Gold Token (DGX), Paxos Standard (PAX), PAX Gold (PAXG), Binance USD (BUSD), EOSDT, Prospectors Gold (PGL).
ERC-20, BEP2, and EOS tokensNewdex (NDX), DigixDAO ERC-20 (DGD), Chainlink ERC-20 (LINK), Decentraland ERC-20 (MANA), EnjinCoin ERC-20 (ENJ), the Native Utility (NUT), 0x Protocol ERC-20 (ZRX), Aelf ERC-20 (ELF), Dawn DAO ERC-20 (AURA), Cashaaa BEP2 (CAS), Bancor ERC-20 (BNT), the Basic Attention Token ERC-20 (BAT), Golem ERC-20 (GNT), Mithril ERC-20 (MITH), MEETONE, NEXO ERC-20, Holo ERC-20 (HOT), Huobi Token ERC-20 (HT), IDEX ERC-20, IDEX Membership ERC-20 (IDXM), Bitcoin BEP2 (BTCB), Waltonchain ERC-20 (WTC), KuCoin Shares ERC-20 (KCS), Kyber Network Crystal ERC-20 (KNC), Loom Network ERC-20 (LOOM), Ripple (XRP), Everipedia (IQ), Loopring ERC-20 (LRC), Maker ERC-20 (MKR), the Status of the ERC-20 (SNT), Ankr Network BEP2 (ANKR), OmiseGO ERC-20 (OMG), ^ american English ERC-20 (^american English), Polymath ERC-20 (POLY), Populous ERC-20 (PPT), Pundi X ERC-20 (NPXS), Parser ERC-20 (REP), Revain ERC-20 (R), Binance ERC20 (BNB-ERC20), Gifto BEP2 (GTO).
Exchange of cryptocurrencyThe “Limitless Crypto Exchange” tab is available for a quick transition to an unlimited exchange in 200 digital currencies — 10,000 currency pairs.
How do I update TkeySpace to version 1.3.0?
Dev meeting? Would say so, yes The people are still exhausted from the payment ID meeting :) Guess we could ping some people vtnerd, moneromooo, hyc, gingeropolous, TheCharlatan, sarang, suraeNoether, jtgrassie Anyone up for a meeting? Yep I'm here Here o/ Perhaps we should just start and people will eventually hop in? oof sorry guys, I'm working on the new FFS and I forgot all about this. Got a couple of new volunteers. This literally might be able to launch tomorrow. I know that. It's called "flow" :) I could run if you're out of time? go for it dEBRUYNE you guys are going to like this new FFS. We're like 99% done. Hi rehrar: someone else do the milestone thing already? All right, jtgrassie, perhaps you'd to start w/ briefly describing your most recent PR? https://github.com/monero-project/monero/pull/5091 oneiric, xiphon did everything like....everything As far as I can see, it allows the user to push his transaction over I2P, thereby masking the origin IP of the sendeuser great And it hooks into vtnerd's PR right? Sure. It basically just builds on vtnerds Tor stuff. sorry dEBRUYNE Really not much added. I have it running and tested. From the perspective of the user, what needs to be configured exactly? Nice Assuming the PR is included in the release binaries I'm using knacccs i2p-zero duirng testing but will of course work with any i2p setup sorry dEBRUYNE <= Np Looks a little like dams breaking, now that we have some dark clouds over Kovri and people take matters into their own hands ... User needs to run i2p, expose a socks service and and inbound tunnel. Basically same as Tor Okay, so should be reasonable as long as we write proper documentation for it (e.g. an elaborate guide) rbrunner, yes, knaccc credit for jumping on i2p-zero really dEBRUYNE: documentation monero side is kindof done. i2p side is very much implementation specific. I suppose we could write some guides for the most popular implementations? e.g. i2p-zero aims to be zero conf, but i2pd or Kovri would be differnet. I see, great vtnerd___: Do you want to add anything? could amend the current kovri guide for monero use from --exclusive-peer to the new proxy support Now I have i2p-zero running and tested with the #5091, I plan to jump back over to helping knaccc on getting that polished. I added support for socks proxy in the basic wallets ^ excellent Yes vtnerd___ I havent tested it yet but looks sweet. So connections to `monerod` over Toi2p are possible within wallet cli and wallet rpc Awesome This also implies auth+encryption even if ssl is not in use (when using an onion or i2p address) All right moneromooo: are you here? If so, could you perhaps share what you've been working on? I am. I revived the SSL PR, more stuff on multi sender txes, an implementation of ArticMine's new block size algorithm. I presume a multi sender tx works similar to multisig insofar as the senders have to exchange data before the transaction can be performed right? Yes. There are 2 SSL PRs. What's the diff? Theoretically this would also allow the sender to provide an output right? Which would be kind of similar to Bitcoin's P2EP The second one adds some things like selecting a cert by fingerprint. Yes. (for the first sentence) All right, awesome For anyone reading, this breaks the assumption of the inputs belonging to a single sender, which makes analysis more difficult Nice side-effect. Much work coming for the various wallets to support that rbrunner: Anything you'd like to share in the meeting btw? Yes, just a little info I have started to seriously investigate what it would mean to integrate Monero into OpenBazaar I have already talked with 2 of their devs, was very interesting In maybe 2 or 3 weeks I intend to write a report Too early to tell much more :) Soon^tm I guess :) Yep Currently wrestling with Go debugging whole new world moneromooo: Has pony recently shared any insights regarding the upcoming 0.14 release btw? No. All right I would love to see the tor & i2p PR's merged sooner rather than later so we can get more testing done. ^ +1 Isn't that famous early code freeze already on the horizon? fluffypony, luigi1111 ^ I suppose I could provide a little update regarding the GUI btw As always, lots of bug fixes and improvements :-P selsta has recently added a feature to support multi accounts dsc_ has revamped the wizard and will now start working on implementing the different modes and a white theme dsc_ is working fulltime on the GUI already? yes :) dsc_ is bae In light of the recent payment ID discussion, we've also, by default, disabled the option to add a payment ID unless the user explicitely activates the option on the settings page rehrar ^ nice I spoke about this yesterday at the coffee chat, this is not a good decision. How does it handle integrated addresses? The same way? rehrar ? For the next many months, we are still stuck with PAyment IDs in the ecosystem. Making it harder for people to access them will make Monero suck so hard to use for the average person for many months. i agree with rehrar Remove the option of Payment IDs when we remove Payment IDs rehrar: The new GUI release won't be live until probably mid march though Which is a few weeks in advance of the scheduled protocol upgrade Payment ID removal comes in October right, but Payment IDs are not removed in March Did we not have loose consensus on removing the old, unencrypted payment IDs in march? they are removed in October We had discussed a deprecation in March and a ban in October ok, then if we are going to do that, we have to commit to it and contact the exchanges like Binance that use them and get rid of them in the next few months (of unencrypted) Binance is huge, and if they still use them, then people will be very upset that they can't deposit or use Payment IDs easily I'm just speaking from a UX perspective. I thought it was unencrypted in April and possibly encrypted in October Yes I do agree Timeline and notes: https://github.com/monero-project/meta/issues/299 impossible to remove them for march, many exchanges still use them We can defer it to the 0.15 release if needed Well, that wasn't the impression for them log that I just read today This was all discussed in the earlier meeting linked above We have to force the ecosystem off of Payment IDs before we remove them from the UI, is all I'm saying Remove != make difficult to use ... or make them more difficult there, right? ping sgp_ sarang, I understand, and I agreed with you during that meeting. But then I started thinking of it as a UX person, which I am. And that huge massive problem leapt out at me i think making them difficult to generate is a good idea but making them difficult to consume and use is a bad idea well, maybe not a good idea, but a better idea ^ If we defer the decision to depriciate long payment IDs to october, won't we have the same issue then? The UI can gave an expandable payment ID field like MyMonero and we can still call it deprecated It is foolhardy to remove an option that the ecosystem uses. So I suggest we keep the Payment ID in the UI until October when they are completely banned. no dEBRYUNE, because they will be banned via consensus sgp_ imo it may be a misdirection of dev resources to add that since things are proceeding in the short term rather than long term but this is a relatively minor point Nothing matters til exchanges change All right The issue is that consensus will still have them in April, and exchanges won't upgrade because they are still allowed. Thus they must still be in the UI. endogenic these changes are already merged in the GUI to hide it like you do ok But when they are banned, exchanges are forced to upgrade or stop using Monero, so we can remove them safely because they won't be in use rehrar: that's a strong assumption sarang that they will upgrade? yes if they don't, then they can't use Monero If exchanges require pid, users need a way to set a pid. Making it hard for the user in the interim is just going to be a nightmare. we have decided to take our "stand" in October A way that is not too hard, then To be clear, we still intend to deprecate long encrypted payment IDs in April right? But no enforcement until October the term "deprecated" doesn't mean much if it's still allowed, and used in popular places yes, as far as I understand it jtgrassie, exactly True I suppose dEBRUYNE: we need to be more specific when talking about deprecation the person who suffers is the user There are two proposals for GUI deprecation: 1. Hide it in the send screen with a simple option to expand (currently merged iirc) 2. Hide it completely in the send screen unless users enable the field in advanced settings (PR'd but not merged yet iirc) What are the arguments for 2? Both are poor options, but 1 is better than 2 by a long shot Well the people who need to be made to "suffer" are the exchanges. And I don't see a way to make exchanges "suffer" other than by having their suffering customers complain to them constantly that they need to update. ^ CLI has something similar where users need to set a manual payment ID transfer mode. Not sure if it's merged yet the way to make the exchanges suffer is when we ban PIDs. They either upgrade or don't use Monero. exact;y Agree with rerahr here have exchanges been provided with clear, practical, sufficient technical upgrade plans for supporting what they're doing with PIDs but with subaddrs? Both are poor options, but 1 is better than 2 by a long shot <= I wouldn't call 1. a poor option. Have you actually checked how it looks? Because it states "Payment ID" and a user has to click on the + to expand the field endogenic: yes the email when out. Blog post coming soon, but contains the same info as the email also the exhcnages' users are often using wallets that don't support subaddresses ok great as well, it should be noted that the timeline for exchanges to upgrade is September, not October when the fork is. Which wallets are that? Rehrar: I don't see option 1. causing any issues/confusion i guess it doesnt matter too much if withdrawing as a personal user the main address should suffice Because September is when the new versions will be coming out without PIDs in the UI If there's opposition to 2, 1 is fine. We can still call it deprecated which is the optics we need anyway exchange users are often just using other exchanges lol. No wallets involved. dsc_ dEBRUYNE, ok, I trust you guys here then rbrunner: i was thinking mymonero last i heard Ok pigeons: rbrunner yes receiving on subaddresses won't be supported yet sending to them has been possible though and yes as learnandlurkin says often they withdraw to other systems like exhcnages that also dont yet support subaddresses I really can't come up with any good argument for 2. right now endogenic: seems not much of an issue then. Exchanges will typically support withdrawals to both subaddresses and plain addresses (especially if we are going to force them to use subaddresses) For deposits, MyMonero works properly if the user sends to a subaddress Actually the second solution was already merged: https://github.com/monero-project/monero-gui/pull/1866 Maybe not enough eyes watching :) The important thing is to have done something to justify having a big "DEPRECATED IN APRIL" stamp on PIDs to spook exchanges in the interim This was for solution 1: https://github.com/monero-project/monero-gui/pull/1855 The Monero Community Workgroup will start making noise everywhere we can to exchanges, and everywhere else that will listen. Try to get on those garbage news sites also. So everyone knows that deprecated in April, and banned in September Hey, for solution 1, write "Payment ID (optional, deprecated)" or similar there rbrunner: noted rehrar: probably wait until the blog post, but it should only be a few days Maybe a Reddit sticky post would be useful? With the blog post If people are over freaking out about the hashrate or terabyte blockchain :) sigh Any questions for the MRL side? Is someone checking ArticMine's block size changes for weird behaviour in some cases etc ? How would such testing work? Private blockchain?