Skip to content

Network Security

Cloud Service implements multiple layers of security to protect the network, nodes, and users from various threats.

Consensus Security

Proof of Work Protection

The ZelHash algorithm provides security through:

  • Economic cost — Mining requires real resources
  • Decentralization — GPU mining is accessible to many
  • ASIC resistance — Prevents mining centralization
  • Battle-tested — PoW secures billions in value

51% Attack Prevention

MechanismDescription
Hash Rate DistributionEncourage diverse mining
Economic DisincentiveAttack would be costly
Network MonitoringDetect unusual hash rate changes
Community ResponseRapid response to attacks

Double-Spend Protection

┌─────────────────────────────────────────────────────────────┐
│               Double-Spend Prevention                        │
│                                                              │
│  Attacker tries to:                                         │
│  1. Send CS to merchant                                    │
│  2. Wait for merchant to deliver goods                      │
│  3. Secretly mine alternative chain without that tx         │
│  4. Broadcast longer chain to reverse transaction           │
│                                                              │
│  Prevention:                                                │
│  • Wait for multiple confirmations                          │
│  • Merchant waits for 6+ confirmations                      │
│  • Network follows longest chain                            │
│  • Attacker needs >50% hash rate                            │
│                                                              │
└─────────────────────────────────────────────────────────────┘
Transaction ValueRecommended Confirmations
< 100 CS6 confirmations (~12 min)
100-1000 CS12 confirmations (~24 min)
1000-10000 CS24 confirmations (~48 min)
> 10000 CS72 confirmations (~2.4 hours)

Node Security

Network Security

ini
# cs.conf security settings

# Restrict RPC access
rpcallowip=127.0.0.1
rpcbind=127.0.0.1

# Use strong credentials
rpcuser=long_random_username_here
rpcpassword=long_random_password_here

# Limit connections
maxconnections=128
maxuploadtarget=5000

# Whitelist trusted peers
whitelist=192.168.1.0/24

Firewall Configuration

bash
# Essential ports
sudo ufw allow 16178/tcp  # P2P

# RPC - restrict to localhost
sudo ufw allow from 127.0.0.1 to any port 16180

# Enable firewall
sudo ufw enable

SSL/TLS for RPC

For remote RPC access, use SSL:

bash
# Generate self-signed certificate
openssl req -x509 -nodes -days 365 \
    -newkey rsa:2048 \
    -keyout rpc.key \
    -out rpc.crt

# Configure nginx as reverse proxy
server {
    listen 16180 ssl;
    ssl_certificate /path/to/rpc.crt;
    ssl_certificate_key /path/to/rpc.key;
    
    location / {
        proxy_pass http://127.0.0.1:16180;
    }
}

Wallet Security

Best Practices

  1. Use strong passwords — Minimum 12 characters
  2. Enable encryption — Encrypt wallet.dat
  3. Regular backups — Backup to multiple locations
  4. Cold storage — Keep large amounts offline
  5. Multi-signature — Require multiple signatures

Wallet Encryption

bash
# Encrypt wallet
cs-cli encryptwallet "your_strong_password"

# Unlock for transactions
cs-cli walletpassphrase "password" 60  # 60 seconds

# Lock immediately
cs-cli walletlock

Backup Strategies

bash
# Automated backup script
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/secure/backup/cscoin"

# Create backup
cp ~/.cs/wallet.dat "$BACKUP_DIR/wallet_$DATE.dat"

# Encrypt backup
gpg --symmetric --cipher-algo AES256 "$BACKUP_DIR/wallet_$DATE.dat"

# Remove unencrypted
rm "$BACKUP_DIR/wallet_$DATE.dat"

# Upload to secure storage
scp "$BACKUP_DIR/wallet_$DATE.dat.gpg" backup-server:/backups/

Network Attack Vectors

DDoS Attacks

Protection:

  • Rate limiting per peer
  • Connection limits per IP
  • Ban score system
  • Traffic analysis

Eclipse Attacks

What is it: Attacker controls all your peer connections

Protection:

  • Maintain diverse peer connections
  • Use DNS seeds
  • Add manual peers
  • Monitor peer diversity

Sybil Attacks

What is it: Attacker creates many fake nodes

Protection:

  • IP-based connection limits
  • Proof of Work cost
  • Peer scoring
  • Ban misbehaving nodes

Spam Attacks

What is it: Flooding network with invalid transactions

Protection:

  • Transaction fee requirements
  • Mempool size limits
  • Rate limiting
  • Orphan transaction limits

Security Monitoring

Node Monitoring

bash
#!/bin/bash
# Security monitoring script

# Check for unusual peer count
PEERS=$(cs-cli getconnectioncount)
if [ "$PEERS" -lt 5 ]; then
    echo "WARNING: Low peer count: $PEERS"
fi

# Check for banned peers
BANNED=$(cs-cli listbanned | grep -c "address")
if [ "$BANNED" -gt 10 ]; then
    echo "WARNING: Many banned peers: $BANNED"
fi

# Check mempool size
MEMPOOL=$(cs-cli getmempoolinfo | grep '"bytes"' | grep -o '[0-9]*')
if [ "$MEMPOOL" -gt 500000000 ]; then
    echo "WARNING: Large mempool: $((MEMPOOL/1024/1024))MB"
fi

Log Analysis

bash
# Check for suspicious activity
grep -i "ban" ~/.cs/debug.log | tail -20

# Monitor connection attempts
grep "connection" ~/.cs/debug.log | tail -50

# Check for errors
grep -i "error" ~/.cs/debug.log | tail -20

Incident Response

If Compromised

  1. Stop the nodecs-cli stop
  2. Disconnect from network — Unplug network
  3. Assess damage — Check logs and wallet
  4. Backup remaining — Copy wallet.dat securely
  5. Rebuild — Fresh install, restore wallet
  6. Monitor — Watch for unauthorized transactions

Reporting Security Issues

  • Email: security@cscoin.network
  • PGP Key: Available on website
  • Bug Bounty: Up to 10,000 CS for critical vulnerabilities

Security Checklist

Node Operators

  • [ ] Strong RPC password
  • [ ] Firewall configured
  • [ ] Regular software updates
  • [ ] Log monitoring enabled
  • [ ] Automated backups
  • [ ] SSL for remote RPC
  • [ ] Limited port exposure

Wallet Users

  • [ ] Wallet encrypted
  • [ ] Backup created
  • [ ] Password stored securely
  • [ ] Software up to date
  • [ ] Anti-virus installed
  • [ ] Large amounts in cold storage

Miners

  • [ ] Mining pool secured
  • [ ] Worker passwords unique
  • [ ] Regular payout verification
  • [ ] Monitoring alerts enabled
  • [ ] Backup mining configuration

Next Steps

Released under the MIT License.