Skip to content

Commit b2b113c

Browse files
committed
[Doc] v5 release notes
Github-Pull: #2114 Rebased-From: a76fdfa
1 parent 3fd22bf commit b2b113c

File tree

1 file changed

+67
-3
lines changed

1 file changed

+67
-3
lines changed

doc/release-notes.md

Lines changed: 67 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,68 @@ Notable Changes
3434

3535
(Developers: add your notes here as part of your pull requests whenever possible)
3636

37+
New SHIELD Protocol Implemented!
38+
--------------------------------
39+
40+
#### Overview
41+
Users will be able to protect their financial information by sending and receiving PIVs privately, as well as sending and receiving encrypted messages attached to the shield transactions.
42+
More visual information about the protocol can be found at https://pivx.org .
43+
44+
#### GUI features
45+
New set of functionalities for usage of the SHIELD protocol:
46+
47+
* Receive screen modified to show, generate and set label of wallet's shield addresses.
48+
* Dashboard transactions list including shield transactions.
49+
* Top bar showing shield PIV balances.
50+
* Send screen modified, implementing shield transaction crafting and broadcast.
51+
* New encrypted memo functionality.
52+
* Transaction detail dialog presenting shield transaction information.
53+
* Spending process moved to a background thread, loading screen connected while the operation is being performed.
54+
* Contacts screen modified to store external shield addresses.
55+
56+
#### Wallet
57+
A brand new manager encapsulating all Sapling related capabilities inside the wallet has been implemented:
58+
59+
* New address type: shield addresses (using bech32 format).
60+
* New derivation path for Sapling keys: Shield addresses are derived from the unique wallet's master seed (same as regular & cold staking addresses. The wallet's seed is able to restore PIVs and Shield PIVs equally).
61+
* Support for Sapling extended full viewing keys, incoming viewing keys, outgoing viewing keys and spending keys.
62+
* Sapling notes management:
63+
- Notes decryption.
64+
- Blockchain scanning protocol: handling when and how to store a Sapling output and its related keys. As well as mark used notes.
65+
- Notes metadata cache: retrieving information without requiring to decrypt notes on-demand.
66+
- Able to filter available notes for spending.
67+
* Sapling witnesses and nullifiers tracking.
68+
* New transaction building process, crafting and signing shield transactions.
69+
70+
#### Block Primitive:
71+
* Block version bumped to 8, the header is storing 32 bytes more for the Sapling incremental merkle tree root.
72+
* Each block index now is tracking the network total value entering and exiting the shield pool.
73+
74+
#### Transaction Primitive:
75+
* Version bumped to 2.
76+
* The "transaction type" concept was introduced, dividing the version field (4 bytes) in version (first 2 bytes) and type (second 2 bytes).
77+
* Sapling data has been included: `valueBalance`, `vShieldedSpend`, `ShieldedSpend` and `bindingSig`.
78+
* Special transactions extra payload introduction (not enabled by consensus).
79+
* A new signature hash for Sapling and Special transactions has been implemented.
80+
81+
Tier Two Network
82+
----------------
83+
A large number of performance and stability improvements over the complete tier two network and masternodes sources have been performed. Re-writing, encapsulating and decoupling workflows, cleaning up an extensive number of redundancies and misalignment.
84+
Plus, tier two and masternodes capabilities have been introduced to regtest, enabling the local testing environment setup and the creation of a functional testing framework for the area.
85+
This work is directly correlated with a substantial efficiency improvement for the entire software, not only for masternodes, and is one of the building blocks for the new tier two network and sync protocol that will be continued post-v5.
86+
87+
Instant Proposal Removal:
88+
The threshold was increased to 30% of negative votes.
89+
The proposal will never be removed before its first superblock.
90+
91+
Maximum Proposal Payment:
92+
The limit was decreased to a maximum of 6 payments.
93+
94+
Concurrency
95+
-----------
96+
A complete overhaul of the thread synchronization area has been done, all of the workflows that were containing locks with cyclic dependencies that could cause a deadlock were reworked.
97+
Solving every circular dependency, a good number of inconsistent states were fixed. The software now can be fully run with the `--enable-debug` configure time flag without crashing for a possible deadlock.
98+
3799
Account API Removed
38100
-------------------
39101

@@ -51,14 +113,16 @@ Detailed release notes follow. This overview includes changes that affect behavi
51113

52114
### Build System
53115

116+
### GUI
117+
118+
### Wallet
119+
54120
### P2P Protocol and Network Code
55121

56-
### GUI
122+
### Tier Two Network
57123

58124
### RPC/REST
59125

60-
### Wallet
61-
62126
### Miscellaneous
63127

64128
## Credits

0 commit comments

Comments
 (0)