Merge pull request #10 from emergent-reasons/tx-requirements

clarify transaction requirements
This commit is contained in:
Josh Ellithorpe
2019-05-08 01:19:51 -07:00
committed by GitHub
+11
View File
@@ -1,5 +1,7 @@
# CashShuffle specification # CashShuffle specification
This specification is for version 300 of the CashShuffle protocol.
## Communication ## Communication
- The server should support TLSv1.2 between the client and server. - The server should support TLSv1.2 between the client and server.
@@ -8,6 +10,15 @@
2. 4-bytes specifying the length of the message in bytes in big endian order. 2. 4-bytes specifying the length of the message in bytes in big endian order.
3. The protobuf payload. 3. The protobuf payload.
## Shuffle transaction
In order to avoid client identification and ensure compatibility:
- Transactions should use only ECDSA signing.
- Transactions should use `nLockTime = 0`.
- Transactions should use `nVersion = 1`.
- Each input should use `nSequence = 0xfffffffe`.
## Protobuf payload ## Protobuf payload
- The client and server should communicate according to the [protobuf specification](https://github.com/Electron-Cash/Electron-Cash/blob/master/plugins/shuffle/protobuf/message.proto) for messages. - The client and server should communicate according to the [protobuf specification](https://github.com/Electron-Cash/Electron-Cash/blob/master/plugins/shuffle/protobuf/message.proto) for messages.