How Offline Transfers Work
How Offline Transfers Work in Roru
Roru enables true offline transfers, allowing you to send and receive cryptocurrency without any network connectivity. This is made possible through Roru One hardware device and encrypted proof bundles that can be transferred device-to-device.
Overview of Offline Transfers
What Makes Offline Transfers Possible
Offline transfers are made possible through a combination of hardware security, cryptographic proof bundles, and direct device-to-device communication. These three components work together to enable transactions without any network infrastructure.
Hardware Security:
Roru One's hardware secure element enables offline transaction signing by storing cryptographic keys in tamper-resistant hardware. The device can sign transactions and generate zero-knowledge proofs entirely offline, without requiring any network connection for these critical operations.
Roru One stores keys in secure element
Can sign transactions offline
Generates proofs locally
No network required for signing
Proof Bundles:
Proof bundles are self-contained packages that include all the information needed to validate and settle a transaction. These bundles contain encrypted transaction data and zero-knowledge proofs that can be transferred between devices offline and later validated when network connectivity is available.
Encrypted transaction data
Zero-knowledge proofs
Can be transferred offline
Validated when network available
Device-to-Device Communication:
Offline transfers use direct communication between devices, bypassing network infrastructure entirely. Roru One supports NFC and Bluetooth for wireless transfers, while the wallet application can also use QR codes for visual transfer methods.
NFC for contactless transfer (Roru One)
Bluetooth for wireless transfer (Roru One)
QR codes for visual transfer (Wallet only)
Encrypted and secure
Offline Transfer Architecture
Components
The offline transfer system consists of three main components that work together to enable secure, private transactions without network connectivity.
Roru One Device:
Roru One provides the hardware foundation for offline transfers through its secure element, which enables offline proof generation. The device includes encrypted storage for transaction data and multiple communication interfaces for transferring proof bundles.
Hardware secure element
Offline proof generation
Encrypted storage
Communication interfaces
Proof Bundle:
A proof bundle is a self-contained package that includes all the cryptographic information needed to validate and settle a transaction. It contains the transaction data, zero-knowledge proof, encryption metadata, and other information required for network validation.
Transaction data
Zero-knowledge proof
Encryption
Metadata
Transfer Mechanism:
The transfer mechanism handles the secure transmission of proof bundles between devices. It establishes encrypted channels, performs secure handshakes to verify device authenticity, and ensures the bundle is transferred correctly.
NFC or Bluetooth (Roru One)
QR codes (Wallet only)
Encrypted channel
Secure handshake
Verification
Process Flow
The offline transfer process follows a four-step flow that enables complete transaction functionality without network connectivity, with final settlement occurring when connectivity is restored.
1. Transaction Creation (Offline)
The process begins when a user creates a transaction on Roru One while offline. The device signs the transaction using keys stored in its secure element, generates a zero-knowledge proof locally, and creates an encrypted proof bundle containing all necessary information.
User creates transaction on Roru One
Device signs transaction offline
Proof generated locally
Bundle created and encrypted
2. Device-to-Device Transfer
The proof bundle is transferred directly from the sender's device to the recipient's device using NFC, Bluetooth, or QR codes. The transfer is encrypted, and a secure handshake verifies both devices before the bundle is transmitted.
Proof bundle transferred via NFC or Bluetooth (Roru One)
Wallet can also use QR codes
Encrypted during transfer
Secure handshake established
Bundle received by recipient
3. Local Validation (Offline)
Upon receiving the bundle, the recipient's device validates it locally without requiring network connectivity. The device verifies the proof structure, checks encryption integrity, and stores the bundle for later broadcast to the network.
Recipient validates bundle locally
Verifies proof structure
Checks encryption
Stores for later broadcast
4. Network Sync (When Online)
When network connectivity is restored, the stored proof bundle is broadcast to the network. The network verifies the zero-knowledge proof, updates the shielded state, and finalizes the transaction settlement.
When connectivity restored
Bundle broadcast to network
Network verifies proof
State updated
Transaction settled
Creating Offline Transfers
On Roru One
Step 1: Access Offline Mode
To create an offline transfer, first enable offline mode on Roru One. In this mode, the device operates completely air-gapped with no network connections, ensuring maximum security and true offline capability.
Enable offline mode on Roru One
Device operates air-gapped
No network connections
Full offline capability
Step 2: Create Transaction
Create the transaction by selecting the recipient from your address book or entering a new address, then enter the amount you wish to send. Review all transaction details carefully before confirming on the device.
Select recipient (from address book or new)
Enter amount
Review transaction details
Confirm on device
Step 3: Generate Proof
Once confirmed, Roru One generates a zero-knowledge proof locally on the device. This proof generation happens entirely offline and typically takes 1-5 seconds, depending on the transaction complexity.
Device generates zero-knowledge proof
Proof created locally
No network required
Takes 1-5 seconds
Step 4: Create Bundle
The device creates a proof bundle by encrypting the transaction data, including the zero-knowledge proof, and adding necessary metadata. The bundle is then finalized and ready for transfer.
Transaction data encrypted
Proof included
Metadata added
Bundle finalized
Step 5: Transfer Bundle
Choose your preferred transfer method—NFC or Bluetooth for Roru One, or QR codes if using the wallet. Initiate the transfer, and the bundle will be encrypted during transmission to the recipient's device.
Choose transfer method (NFC or Bluetooth for Roru One)
Wallet can also use QR codes
Initiate transfer
Bundle encrypted during transfer
Transfer completes
Transaction Details
Understanding what's included in a proof bundle and how it's encrypted helps clarify how privacy is maintained even during offline transfers.
What's Included:
A proof bundle contains all the information needed to validate and settle the transaction. The transaction amount is hidden within the zero-knowledge proof, while sender information is encrypted. The bundle also includes recipient information, a timestamp, and a cryptographic signature to prove authenticity.
Encrypted transaction data
Zero-knowledge proof
Sender information (encrypted)
Recipient information
Amount (hidden in proof)
Timestamp
Bundle signature
Encryption:
The entire proof bundle is encrypted using the recipient's public key, ensuring that only the intended recipient can decrypt and access the transaction information. This end-to-end encryption maintains privacy throughout the transfer process.
Bundle encrypted with recipient's key
Only recipient can decrypt
End-to-end encryption
Secure transfer
Receiving Offline Transfers
On Recipient Device
Step 1: Prepare to Receive
To receive an offline transfer, open receive mode on your device and enable the appropriate communication method—NFC or Bluetooth for Roru One transfers, or the QR scanner if using the wallet. Your device is now ready to receive the proof bundle.
Open receive mode
Enable NFC/Bluetooth (for Roru One transfers)
Wallet can also use QR scanner
Device ready to receive
Waiting for transfer
Step 2: Receive Bundle
The proof bundle is received through your chosen transfer method. The bundle remains encrypted during transfer and is stored locally on your device once the transfer completes.
Bundle received via chosen method
Encrypted during transfer
Stored locally
Transfer complete
Step 3: Validate Bundle
Your device decrypts the bundle using your private key and validates its contents. This includes verifying the proof structure, checking encryption integrity, and validating the bundle signature to ensure authenticity.
Decrypt bundle (using your key)
Verify proof structure
Check encryption
Validate signature
Step 4: Store for Broadcast
Once validated, the bundle is stored in a queue on your device, waiting for network connectivity. You can validate your balance locally based on the received transaction, and the bundle is ready to be broadcast when you go online.
Bundle stored in queue
Waiting for network connectivity
Can validate balance locally
Ready to broadcast
Step 5: Broadcast (When Online)
When network connectivity becomes available, your device automatically broadcasts the proof bundle to the network. The network verifies the zero-knowledge proof, updates the shielded state, and confirms the transaction.
When network available
Bundle broadcast to network
Network verifies proof
State updated
Transaction confirmed
Local Validation
Local validation allows recipients to verify proof bundles immediately upon receipt, even without network connectivity. However, some validation steps require network access to check against the global state.
What Can Be Validated Offline:
Your device can validate several aspects of a proof bundle completely offline. This includes checking the proof structure, verifying encryption integrity, validating signatures, and ensuring the bundle format is correct.
Proof structure
Encryption integrity
Signature validity
Bundle format
What Requires Network:
Certain validation steps require network connectivity to check against the global shielded state. These include final proof verification by the network, updating the global state, checking for double-spending, and finalizing settlement.
Final proof verification
State update
Double-spend check
Settlement
Transfer Methods
NFC (Near Field Communication)
NFC enables contactless transfers by bringing devices into close proximity. This method is ideal for in-person transactions where both parties are physically present.
How It Works:
NFC transfers work by bringing the two devices close together—typically within a few centimeters. The NFC interface automatically establishes a connection, transfers the proof bundle, and completes the transfer quickly and conveniently.
Devices brought close together
NFC establishes connection
Bundle transferred
Fast and convenient
Advantages:
NFC transfers are very fast and don't require prior pairing between devices. The close proximity requirement provides inherent security, and the process is straightforward and easy to use.
Very fast transfer
No pairing needed
Secure (close proximity)
Easy to use
Limitations:
NFC requires devices to be in very close proximity, and both devices must have NFC capability. The limited range means it's only suitable for in-person transfers.
Requires close proximity
Both devices need NFC
Limited range
Bluetooth
Bluetooth provides wireless communication over longer distances than NFC, making it suitable for transfers where devices aren't in direct contact.
How It Works:
Bluetooth transfers begin by establishing a pairing between the two devices. Once paired, an encrypted connection is created, the proof bundle is transferred, and the connection is closed after completion.
Bluetooth pairing established
Encrypted connection
Bundle transferred
Connection closed
Advantages:
Bluetooth offers longer range than NFC and is a standard technology available on most devices. It provides reliable transfers and is well-suited for scenarios where multiple transfers might occur between the same devices.
Longer range than NFC
Standard technology
Reliable transfer
Good for multiple transfers
Limitations:
Bluetooth requires initial pairing between devices, which takes a bit more time than NFC. The transfer is slightly slower than NFC, and Bluetooth communication does consume battery power.
Requires pairing
Slightly slower than NFC
Battery usage
QR Codes (Wallet Only)
QR codes provide a visual transfer method that doesn't require direct device-to-device communication. This method is only available in the wallet application, as Roru One doesn't have a screen or camera.
How It Works:
The sender's wallet generates a QR code containing the proof bundle data. The recipient scans this QR code using their wallet's camera, and the bundle is decoded from the QR code image to complete the transfer.
Wallet generates QR code for bundle
Recipient scans QR code with wallet
Bundle decoded from QR
Transfer complete
Advantages:
QR codes don't require direct device connection and work with any device that has a camera. The QR code can be printed or displayed on a screen, providing universal compatibility across different device types.
No direct connection needed
Works with any camera
Can be printed/displayed
Universal compatibility
Limitations:
QR code transfers are slower than NFC or Bluetooth due to the data size limitations of QR codes. They require a good camera for reliable scanning and need visual line of sight between the QR code and the scanning device.
Slower transfer (data size)
Requires good camera
Visual line of sight needed
Wallet only (Roru One has no screen/camera)
Note: Roru One does not support QR codes as it has no screen or camera. QR codes are only available when using the wallet application.
Proof Bundle Structure
Bundle Components
A proof bundle is structured into several components that work together to enable secure, private offline transfers. Each component serves a specific purpose in maintaining privacy and enabling validation.
Header:
The bundle header contains metadata about the bundle itself, including the bundle version, encryption method used, transfer method, and other metadata needed for proper processing and validation.
Bundle version
Encryption method
Transfer method
Metadata
Transaction Data:
The transaction data section contains the encrypted transaction details, including encrypted sender information, recipient information, and the transaction amount (which is hidden within the zero-knowledge proof and not directly visible).
Encrypted transaction details
Sender information (encrypted)
Recipient information
Amount (in proof, not visible)
Zero-Knowledge Proof:
The zero-knowledge proof is the cryptographic proof that validates the transaction without revealing any private information. This proof is verifiable by the network and is compact in size, typically around 1-2 KB.
Proof of transaction validity
Hides all private information
Verifiable by network
Small size (~1-2 KB)
Signature:
The bundle signature cryptographically proves the authenticity of the bundle and prevents tampering. This signature can be verified to ensure the bundle hasn't been modified since creation.
Bundle signature
Proves authenticity
Prevents tampering
Verifiable
Encryption
The encryption scheme ensures that proof bundles remain private and can only be accessed by the intended recipient, maintaining privacy throughout the offline transfer process.
Encryption Scheme:
Proof bundles use public key encryption, where the bundle is encrypted using the recipient's public key. This ensures that only the recipient, who possesses the corresponding private key, can decrypt and access the transaction information. This provides end-to-end security.
Public key encryption
Recipient's public key
Only recipient can decrypt
End-to-end secure
Key Management:
Encryption keys are derived from the wallet's master key material, ensuring secure key management without requiring key transmission. The system is designed to be secure by default, with keys never exposed during the transfer process.
Keys derived from wallet
Secure key exchange
No key transmission
Secure by design
Security Properties
Offline Security
Key Protection:
Keys never leave secure element
Offline signing
No network exposure
Hardware security
Proof Security:
Proofs generated securely
Cryptographically sound
Cannot be forged
Privacy preserved
Bundle Security:
Encrypted bundles
Signed bundles
Tamper-resistant
Secure transfer
Network Security
Broadcast Security:
Encrypted broadcast
Secure channels
Relayer privacy
Infrastructure security
Verification Security:
Network verifies proofs
Double-spend prevention
State integrity
Complete security
Use Cases
Offline Commerce
Physical Payments:
Pay at physical stores
No internet required
Fast and convenient
Private transactions
Remote Locations:
Areas without connectivity
Emergency situations
Travel scenarios
Offline-first environments
Air-Gapped Security
Maximum Security:
Complete air-gap
No network exposure
Hardware security
Ultimate privacy
High-Value Transactions:
Large amounts
Security-critical
Privacy-critical
Institutional use
Backup and Recovery
Offline Backup:
Store bundles offline
Backup transactions
Recovery scenarios
Redundancy
Limitations and Considerations
What Works Offline
Fully Offline:
Creating transactions
Signing transactions
Generating proofs
Transferring bundles
Receiving bundles
Local validation
What Requires Network
Requires Connectivity:
Final proof verification
State updates
Double-spend checking
Settlement
Balance updates (from network)
Network Sync
When Connectivity Restored:
Bundles broadcast automatically
Network verifies and processes
State updated
Transactions confirmed
Balance updated
Sync Process:
Automatic when online
Manual sync option
Batch processing
Efficient updates
Best Practices
Creating Offline Transfers
Verify Recipient: Verify recipient before creating
Check Balance: Ensure sufficient balance
Review Details: Review all transaction details
Secure Transfer: Use secure transfer method
Confirm Receipt: Confirm recipient received bundle
Receiving Offline Transfers
Validate Bundle: Validate bundle immediately
Store Securely: Store bundle securely
Monitor Sync: Monitor network sync
Verify Settlement: Verify settlement when online
Check Balance: Verify balance updated
Security Practices
Secure Environment: Use in secure environment
Verify Devices: Verify device authenticity
Check Encryption: Ensure encryption is working
Monitor Transfers: Monitor all transfers
Report Issues: Report any security issues
Troubleshooting
Common Issues
Transfer Fails:
Check device proximity (NFC)
Verify Bluetooth pairing
Check QR code quality
Retry transfer
Bundle Invalid:
Verify bundle format
Check encryption
Validate signature
Contact support
Sync Issues:
Check network connection
Manually trigger sync
Verify network status
Wait and retry
Advanced Features
Batch Offline Transfers
Multiple Transfers:
Create multiple transfers offline
Batch into single operation
Transfer all at once
Efficient processing
Offline Address Book
Stored Addresses:
Addresses stored on device
Accessible offline
Encrypted storage
Quick selection
Offline Balance View
Cached Balance:
Balance cached locally
Viewable offline
Updated when online
Approximate when offline
Conclusion
Offline transfers provide:
True Offline Capability: Complete functionality without network
Hardware Security: Keys protected by secure element
Privacy: Private transactions even offline
Flexibility: Multiple transfer methods
Security: Encrypted and secure transfers
Offline transfers make Roru truly portable and sovereign, enabling cryptocurrency transactions anywhere, even without internet connectivity, while maintaining complete privacy and security.
Last updated
