You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/release-notes.md
+67-3Lines changed: 67 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,68 @@ Notable Changes
34
34
35
35
(Developers: add your notes here as part of your pull requests whenever possible)
36
36
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.
* 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
+
37
99
Account API Removed
38
100
-------------------
39
101
@@ -51,14 +113,16 @@ Detailed release notes follow. This overview includes changes that affect behavi
0 commit comments