Spectre @ GitHub
Welcome again to the Spectre bi-weekly newsletter and development summary. We have had a very busy two weeks and we have made some real progress both in terms of debugging the updated wallet and with regards to exploring aspects of the code in more detail. We have tested the anonymous transactions and we are just about finished preparing for a professional audit of key aspects of the Spectre code base and in particular the code dealing with anonymous transactions. As you can see from the GitHub weekly summary we pressing on and we are attracting more interest from developers.
At this point I think it’s pertinent to remind everyone of what we are trying to achieve and how we are proposing to reach our goals with Spectre.
Spectre strives for real-world anonymous transactions that will withstand any kind of blockchain analysis by the most aggressive and determined attacker. We will achieve this through constantly working to test / audit the source code and seek to improve the anonymity of our transactions. In this context it is important to understand and appreciate that any cryptocurrency aiming for anonymous transactions will also be up against increasingly sophisticated ways to analyse the blockchain and increasingly sophisticated analytical tools. It is in fact an arms race and we must therefore not sit back and claim that our anonymity is beyond criticism, but we must conduct an honest and fearless audit of the algorithms and methods behind the anonymous transactions and discover our own weaknesses and vulnerabilities. We then need to work to improve our code to stay at the front of the arms race. We will then become a trusted and functional cryptocurrency with real-world anonymity, one of the few out there, beyond just the hype.
This kind of effort and work requires experts, academics, developers and other specialists to work on understanding the evolving world of anonymity technology and find ways to implement this in the Spectre code base.
The best way to understand Spectre today is to think of Bitcoin + Proof-of-Stake.v3 + anonymous transactions (using similar technology to Monero) + Tor to hide your IP. These are very strong features to build on.
We need to highlight the fact that Spectre actually has the ability to let it’s users conduct anonymous-transactions on the blockchain, TODAY. For some strange reason this aspect of Spectre has been somewhat forgotten, but it is at the heart of what we are trying to achieve and at the heart of our philosophy. We have been hard at work to study and document the way in which Spectre achieves anonymous-transactions and we have done extensive testing and we have identified the code and principles used. Below is a detailed description of how to use anonymous transactions and we suggest that you use it as much as possible. The more we use this system the more secure it becomes and the less likely it will be that transactions can be linked.
4 Types of Transactions
The Spectre software allows 4 different types of transactions and it is important to understand the difference between those. We need to remind you that the network has two coins, ‘normal‘ XSPEC, much like Bitcoin and associated with ‘normal‘ UTXOs and where transactions can be linked to each other. Then we have the anonymous SPECTRE, a different type of coin that can only be spent using ring signatures and where transactions cannot be linked and where the sender / receiver cannot be determined. We are in the process of updating the graphics in the wallet to make this clearer.
XSPEC > XSPEC : These are ‘normal‘ transactions, much like Bitcoin, where the transaction is visible on the blockchain and can be traced from sender to receiver by the public keys but not to your real life identify or IP address. You can send XSPEC to a ‘normal‘ address or a stealth address. The stealth address in this case will act to generate a new ‘normal‘ address every-time.
XSPEC > SPECTRE : These transactions create anonymous SPECTRE coins that can subsequently be used for anonymous transactions. The balance of SPECTRE coins will show in your ‘PRIVATE’ balance.
SPECTRE > SPECTRE : These are fully anonymous transactions using ring signatures and these transactions sends SPECTRE from a ‘PRIVATE’ balance to another ‘PRIVATE’ balance using a stealth address only! The minimum ring size for all transactions can now be set at 8 and that ensures very good privacy.
SPECTRE > XSPEC : These transactions generate XSPEC from SPECTRE and spends anonymous outputs to generate new coins. These newly generated XSPEC has no transaction history.
How to conduct an anonymous transaction
As mentioned above, an anonymous transaction is created when you send an amount of SPECTRE from your ‘PRIVATE’ balance to another ‘PRIVATE’ balance using a Stealth Address. In these types of transactions anonymous coins are sent using ring signatures and there is no way to link the sender to the receiver or what exact amount is being sent (in most cases). This guide has been written for the most recent version of the wallet available from GitHub.
Firstly, go to you ‘Send‘ tab and select ‘PRIVATE‘ as the source of your funds (if you don’t have any coins in your private balance then use the ‘BALANCE TRANSFER‘ tab to transfer some coins into your private balance.) You then need to select ‘Advanced Options‘ to open additional options and make sure that you send to another ‘PRIVATE‘ account. See below:
How do you choose your ring size? The default is set to 16 which will make transactions very secure and un-linkable. The higher the ring size the more secure your transaction will be, but we have set the maximum to 32. The first way to determine the possible ring size for a transaction input is to have a look at the ‘Chain Data‘ tab in your wallet. On the left you will find all the different denominations of anonymous SPECTRE on the blockchain. The first column shows the denomination, and you can see how many of that particular denomination you own (that you can spend) in the second column. The third column shows how many SPECTRE of that particular denomination exists on the blockchain and the value in parenthesis, for value “0.05” this is 183, is what is known as ‘mature‘ inputs. That basically means that there are 183 value “0.05” SPECTRE that can be used in the ring signature. You can also obtain this information by using the ‘anoninfo‘ function in the console. If you are trying to spend an anonymous output with less ‘mature’ coins than the ring size you will get an error. Most denominations will support a minimum ring size of 16.
Once you you then click ‘Send Payment‘ you get a dialog to confirm the payment
Here you can see the transaction above on the Spectre blockchain explorer:
The ‘picking algorithm‘ chose an input of value “400” and split it down into smaller denominations:
In this case an observer can not determine which output is actually being spent and does not know therefore that 50 SPECTRE was sent to the receiver.
Stealth addresses protect the recipient’s privacy.
Ring Signatures protect the sender’s privacy.
Some Guidelines for Balance Transfers
The SPECTRE creating / splitting algorithm currently creates SPECTRE denominations from 50,000 SPECTRE down to 0.00000001 SPECTRE. We will remove the largest denominations in the next version of the wallet, so 50,000 SPECTRE, 40,000 SPECTRE and 30,000 SPECTRE will no longer be created. The largest denomination will be 10,000 SPECTRE. There are no issues with sending larger amounts as the algorithm will combine inputs to make up the amount you wish to send as long as your balance covers it. The reason we are doing this is to be able to set a minimum ring size of 8 and later increase the minimum ring size to 16 and as there are too few very large inputs so coins might get stuck and it serves not real purpose. So follow these basic guidelines for balance transfers into SPECTRE:
- Do not create more than 10,000 SPECTRE in any one ‘Balance Transfer‘ transaction until we can change the algorithms responsible for creating SPECTRE. If you want to create more than 10,000 SPECTRE, then do it in several transactions.
- If you get an error message about ring size, make sure ring size is set to 8 as all the denominations will support a ring size of 8 at the moment. Check ‘Chain Data‘.
- As long as you have not created any SPECTRE inputs larger than 10,000 SPECTRE you should be able to send any amount (if your PRIVATE balance covers it + fee) of SPECTRE with a minimum ring size of 8.
- Inputs used in a ring signature must have at least 10 confirmations.
So, in summary, please start using the anonymous transactions as more they are used the more entropy is created on the blockchain and the harder it will be for any attacker / observer to link and analyse transactions.
I have noticed that Spectre has been mentioned by independent media and I will mention this as it is not generated by us but shows that people discover Spectre for themselves.
The article written by Thomas Glavinic, Spectre is mentioned as one the cryptocurrency projects that has the potential to be the next Amazon, Google etc. which may be wishful thinking but it clearly shows that people not associated with Spectre in any way are taking notice.
This is unfortunately a pay-wall paper but I have put links below to a PDF version of the original article in German and also a translated version in English.
Funding Gap currently stands at around: £18.500,-
If you want to see this project succeed and in particular if you are a Spectre ‘whale‘ consider donating or at the very least run the latest wallet to stake with donations. If you are a Spectre ‘whale‘, consider the options; a progressive well funded top-tier anonymity project with at least a double digit USD price or a slow paced underfunded project in relative obscurity that may or may not make it. Would you rather hold 100,000 XSPEC worth $10,- each or 120,000 XSPEC worth $1,- each. You do the math! Consider donating!!!
The below are the donation addresses that you can also find in the Discord server:
Bitcoin (BTC): `3QVSE3hiimHrq6HcKtfQejYeK1Zax9fWsQ`
Bitcoin Cash (BCH): `188NniMchAoSTiXhXnb4BqfRSjmiDxoBm5`
Bitcoin Gold (BTG): `ALDRyNRgmFqsW1RfkRzA5BiRHs3WndYoev`
Litecoin (LTC): `MUVATA3Rpuwq3L2u8wAxYgW8LXXbwrCoxs`
If you would like to donate in any other way please speak to us on Discord
We have some exciting things on the horizon but we are not able to say too much at this stage for reasons that will become obvious soon. We are working on the code and the forthcoming release of v.1.4.1 and we have moved forward with the code audit but we can not disclose the details of this right now. We have added the very competent @Tek to the dev team so we now have 3 devs working on different aspects of the code. So, these are some of the things to look forward to:
- Release of v1.4.1 w/ some significant updates
- Code audit and improvements to the anon transactions
- Improved GUI
- New website - 90% completed
- More detailed road map
- White paper
- New exchanges
We are also currently researching the following and will provide further updates:
- Improved anonymous methods / algorithms
- Can we integrate RingCT?
- Work on a new Stealth Staking mechanism
- Integration into DEX
We are Hiring!!
We are always looking for skilled developers. We are in particular looking for a permanent developer with excellent C++ skills, cryptocurrency / blockchain background and an understanding of cryptography. We are about to enter into a very exciting period and we have plans for further development that will present a unique opportunity to work with a highly specialised team and get your name known and work with some top cryptographers. We can offer pay and/or benefits (stake in the project).
Tor Integration Consultant
We are looking for an individual with extensive experience of Tor (Tor project) integrations / implementations and a deep understanding of Tor. We are looking for someone who will be able to analyse / audit the way in which Tor is integrated into the Spectre software and discover vulnerabilities, weaknesses and possible attack vectors and document this and suggest upgrades and security improvements. This would also include research into the best possible way to integrate Tor pluggable transports and which pluggable transports might best serve the Spectre network in different environments. We can offer pay and/or benefits (stake in the project).
If you want a unique opportunity to develop this exciting project then join the Discord (Discord) server and message: @Mandica#9367
Until next time, take care and try out some anonymous transactions to see for yourself.