Is ParallelChain a service or a software? Requirements for the running environment?
Parallelchain™ is a software product.
It runs on Linux. The Linux nodes can be a virtual machine in private or public cloud such as AWS/Azure/Alibaba Cloud, or in premise servers of customers. The ParallelChain should be able to connect to the internet to request a license from DTL's licensing server.
The fully tested Linux is Ubuntu 18.04x86-64.
The "older" blockchain technologies like Hyperledger and Ethereum use mining to reach consensus. How does ParallelChain avoid such kind of operation?
Mining (or proof of work, PoW) is usually for public blockchain open for anyone to join. PoW protects the "decentralization" and hence the "security" of the blockchain system against attacks such as Sybil attacks. incentive economy models so built around that. However, this causes a lot of problems for most business applications. Hyperledger-like blockchain use consortium which leads to heavy dependencies.
ParallelChain's unique combined permissioned and permissionless design ensures the data and logic immutability and tamper proof without the heavy problems and requirements like other blockchains.
What is the data security?
Is it publicly readable like public blockchains?
ParallelChain is a private/permissioned blockchain. Its read/writes are through invoking smart contracts. Access to invoke smart contracts are controlled and permissioned.
Application clients or programs need to have an account with an access ID and credential (a password like text string) to authenticate itself and invoke smart contract to ParallelChain. The ParallelChain instance's system administrators create accounts and control access rights of accounts to smart contracts.
ParallelChain can be connected from the Internet or configured to be available to internal network only, depending on the configuration. Connectioins to ParallelChain can be limited by the traditional firewall/network isolation as well.
Can DTL read/receive my data on ParallelChain? Is my data secure?
DTL cannot read/receive any data unless the customer's ParallelChain opens access to DTL. Your data is secure and is always under your own control.
ParallelChain only sends basic system configuration and statistics information to DTL's license server through the Internet to request software license. The application data are never sent to DTL.
What interfaces do applications use to connect to parallelChain?
ParallelChain provides RESTful API and gRPC API.
Can ParallelChain scale up for workload peaks? Any downtime during scaling up?
The servers to run smart contracts and run the underlying Key/Value store can be dynamically added by the system administrator to increase the throughput. The scaling up is done online without having to shut down the ParallelChain (zero offline time).
After the workload pressure is lower, the ParallelChain system can be shrunk online to save resources and cost.
Do I need DTL to customize ParallelChain for changes of blockchain functions?
No, for most of the time.
Your application logic in blockchain should be implemented as smart conrtacts. The smart contracts are implemented on top of ParallelChain instead of being part of the ParallelChain. You own the IP of the smart contracts you write, and you can always upgrade/add smart contracts, without having to change or modify the ParallelChain software itself.
Can ParallelChain support my applications' query/scan functions?
You can write smart contract code to support the logic/functions.
ParallelChain provides a programming model of combined Key/Value store with ACID semantics. Common Key/Value store programming techniques apply here. ParallelChain APIs also support efficient searching against keyword, regular expression or JSON matching for values in a key range and scanning of key/values. The ACID semantics make the programming much easier than on normal Key/Value stores.
The programming models like those in Ethereum is quite complex requiring one to define contracts using Solidity, then perform actions when acting on the contract. It's quite had to relate to app development. Will your SDK present an easier interface to developers?
Compared to other blockchains' asynchronous programming model which does not really provide the D (Durability) property, ParallelChain gives an RDBMS like development experience by providing synchronous programming model with real ACID properties for applications.
Transactions are confirmed on blockchain immediately before replying the applications’ invocation request. The 0.1 second transaction time makes real interactive applications on blockchain possible.