From 489df1c47cad55da2e9071a98a403ca9389758ba Mon Sep 17 00:00:00 2001 From: emergent-reasons Date: Wed, 8 May 2019 01:17:33 +0900 Subject: [PATCH] clarify transaction requirements --- SPECIFICATION.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/SPECIFICATION.md b/SPECIFICATION.md index 0a9eb7f..c0bcfe9 100644 --- a/SPECIFICATION.md +++ b/SPECIFICATION.md @@ -1,5 +1,7 @@ # CashShuffle specification +This specification is for version 300 of the CashShuffle protocol. + ## Communication - 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. 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 - 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.