BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
July 05, 2020, 11:58:06 PM |
|
Proof of Work(PoW)
PoW(Proof of Work) distributes digital currency according to the workload of miners. The higher the performance and the more the number of the mining machine, the greater the workload, the more digital currency will be distributed. Bitcoin is a typical example of using the PoW scheme. Miner gets the right of packaging through mining that solved a mathematical problem. If successful, the miner receives bitcoin reward because of costing computing power. To control the currency rule, mining is set to a more complex model. Because the possibility of solving the problem by one miner depends on his calculating power, the difficulty of mining is determined by the sum of all the calculating power in the system. For the cryptocurrency of PoW, miners confirm transactions by competing to solve a mathematical problem. The first miner solved mathematical problem receives the reward. The complexity of the problem is designed to control the currency rule. This method solved the Byzantine general problem very well, but it was criticized by others as inefficient due to the waste of resources. At the same time, the only PoW consensus also faces security problems such as the 51% attack. With the development of the BTC and blockchain industry, the disadvantages of PoW are also exposed. For example, the currency owner cannot participate in any decision-making, and rights concentrated on miners. This runs counter to the idea of decentralization that decision-making right is concentrated on a few miners.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
July 12, 2020, 10:16:41 PM Last edit: July 12, 2020, 11:00:49 PM by BigBangCore |
|
Delegated Proof of Stake(DPoS)
DPoS is a new consensus algorithm to guarantee the security of the digital currency network based on PoW and PoS. It can not only solve the problem of excessive energy consumption caused by PoW in the mining process but also avoid the problem of "trust balance" of PoS. Then, DPoS has become the representative of consensus 3.0. DPoS allows many users to participate in mining, which means that each currency owner can vote. And then generate some delegates of the same rights which understood as some nodes or pools. Their rights to each other are exactly equal. Currency owners can change these delegates at any time by voting to maintain the “long purity” of the chain system.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
July 19, 2020, 09:01:15 PM |
|
What is EDPoS+CPoW?Why BigBang Core uses those two consensus?
CPoW (ContinuityProof of Work) and EDPoS (Extensible Delegated Proof of Stake) came into being to prevent the entire ecological operation stopping from the collapse of a single consensus node, and prevent the block network as a whole is not available from the collective stopping of DPoS nodes. BigBang Core's security consensus mechanism is EDPoS + CPoW. Block reward is the mining reward plus the total transaction fee of block transactions. Voting for an EDPoS node by token can increase the probability of the node packaging. Then Voters share the block reward by vote. The node needs to raise more than 2% of the total Token supply to become an EDPoS node. CPoW is the supplement to EDPoS. Each round of EDPoS consensus has a certain probability to decide to package by CPoW consensus. The fewer token involved in the EDPoS process, the lower the security and reliability of the EDPoS, and the higher the probability of packaging by CPoW. Hybrid CPoW and EDPoS will enhance system security and reliability.
In BigBang Core's tree-based structure, except for the security primary, other forks are equal and independent. EDPoS nodes jointly establish a packaging sequence through secure computing and generate a true random number beacon. According to the principle of Byzantine fault-tolerance, less than 1/3 of bad nodes will not be disturbed during the entire secure computing process. If chose reasonable negotiation algorithm and parameters, the safe computing process will not be controlled unless the 51% attack. The consensus can achieve higher consistency in BigBang Core, and systemic forks are very rare. So three-block confirmations ensure that the historical data of the primary chain is not rollable when the number of bad nodes token is less than 50%.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
July 26, 2020, 08:33:22 PM |
|
Network Introduction
The BigBang Core network is a P2P network composed of nodes that running BigBang Core software. BigBang Core network architecture can be divided into three layers: the node network layer, terminal service layer, and IoT terminal layer. The Node network is composed of nodes that running BigBang core program, which synchronously checks blocks and transactions, at the same time, making consensus. The terminal service network as a distributed terminal backend to provide access services for IoT(Internet of Things) terminals. In order to support the huge IoT (Internet of Things) service, the node network and the terminal service network constitute the BigBang Core service platform together. The IoT terminal layer includes intelligent sensors, controllers and mobile terminals. A light client program which saves the private key to complete transaction construction and verification is embedded in the IoT terminal.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
August 03, 2020, 12:20:11 AM |
|
System software composition
To better support multiple application scenarios in the complex IoT environment, while ensuring the reliability of blockchain services operation and usage requirements of ordinary users. The overall design of BigBang Core system software includes five part: core wallet program, light wallet background service system, mobile light wallet program, embedded system light wallet SDK and online block explorer.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
August 09, 2020, 07:52:33 PM |
|
The introduction of Wallet in BigBang Core (Part 1)The core wallet program is used for backbone network nodes and common users. It has certain requirements for the running environment and hardware, and can completely use all the functional modules of the blockchain system. LWS is an acronym for "light wallet service", which connects the BigBang Core blockchain backbone network with terminal of data acquisition sensor. Through it, blocks and transactions of BigBang Core wallet are updated and cached in time to LWS high-speed memory database and local database. Based on these data, it calculates the latest UTXO of the public key address corresponding to the private key saved on different terminal devices and publishes this information to the Amazon cloud through the MQTT connection with AWS's IoT Core. The message broker forwards it to the terminal devices subscribed. Correspondingly, the terminal devices will package the monitoring and collecting data into a transaction according to the UTXO list, and publish it to the Amazon IoT Core through MQTT. The transactions are forwarded to the LWS that has subscribed topics of these devices via the Amazon IoT Core's message broker. LWS will verify these transactions. If successful, the transactions will be forwarded to the BigBang Core wallet through the Socket API. After the BigBang Core wallet receives these transactions, it broadcasts them to the BigBang Core network through the P2P network interface. The producing node collects these transactions and packages them into blocks. LWS uses the persistent-connected, two-way pub/sub message broker provided by AWS to decouple the huge number of connections with devices, which solves the high concurrency and high scalability of the devices. LWS uses AWS's Amazon DynamoDB service to store the key-value pairs, such as blocks, transactions, and UTXO data. Due to the massive transaction data, packaged block data and UTXO data generated by the high-concurrency TPS on the multifork of the BigBang Core, Amazon DynamoDB that uses AWS's mslevel response-delay storage service can create a block database and a UTXO database for each application fork, thereby speed up the retrieval of data. While LWS synchronizes the blockchain data of the BigBang Core, caches huge block files to Amazon S3's highly scalable, highly persistent, and highly available distributed data storage using highthroughput and resilient Amazon Kinesis services. After collecting and processing block real-time data, it can be used by other LWS in the neighborhood of local physical addresses, and even provide retrieval services to LWS worldwide. On the other hand, when the LWS occur synchronization error with the core wallet or data, it can be quickly recovered from S3. In addition, LWS uses AWS's rules engine to convert information, and then use Kinesis services or Lambda services to divert data to different AWS services. There can also use AWS's CloudFront service to provide CDN-like functionality in an unstable network environment. Use structured PB-level Amazon Redshift relational databases to store structured blockchain data. It can be used for BigBang Core blockchain web browsers, smart device wallet apps, and the data views that BigBang Core developers and testers debug on running program. LWS is developed by the high-concurrency language golang. The program uses goroutine and channel to ensure that a large number of concurrent device-side sending transactions can be processed in a timely and efficient manner, thus achieving the packaging of massive transactions.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
August 15, 2020, 06:53:19 PM |
|
The Introduction of BigBang Core wallet (Part 2) The mobile light wallet program can make the terminal node not run the full wallet program. It is also possible to verify transactions. It is mainly used for IOS and Android mobile terminals, providing users with secure wallet services in case of limited network bandwidth and hardware performance. - Embedded System Light Wallet
The embedded system light wallet SDK provides a light wallet API for IoT smart hardware that can be accessed through the terminal server to the BigBang Core network. Instead of local block synchronization and block data storage, focus on business-related transaction data construction and authentication. - Online Blockchain Browser
The online block browser cooperates with the wallet node to display the status of the block system in real time, and queries historical blocks and transactions data.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
August 23, 2020, 12:26:53 PM |
|
The System Features of BigBang CoreUnlike traditional single-chain systems such as Bitcoin, BigBang Core uses a tree structure to represent and store block data. For the massive data transactions of IoT, the horizontal expansion of system is achieved by the infinitely forked tree structure. The TPS(Transaction Per Second) of each application fork can reach 5,200. A transaction can be packaged as soon as 2S. This can satisfy the characteristics of frequent transactions and low latency in the IoT. With a good system design, stable interfaces and backend services are provided for both streaming data and persistent data. The BigBang Core chain stores data identification and transfers records. Data identification can't be changed once it is packaged, providing consistency proof and notarization data to both the demander and the provider. - IoT Value Circulation Platform
As the underlying infrastructure of the IoT technology, it provides a stable and reliable technology platform for data transmission and value transfer on the IoT.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
August 30, 2020, 12:23:09 PM |
|
Tree-Based Block Structure
In common block-chain projects now, all transactions are stored in single-chain. The lack of flexibility in the system in the face of growing transaction scale. In BigBang Core, the primary chain data is separated from the application data. Block data is stored in a tree-based structure of "security primary chain + multiple application fork". The security primary chain mainly stores transactions and security consensus related data. The application forks organize and store the data related to the application business by forking from any chain. As the expansion of the transaction scale, the fork can continue to create child forks. Similar to vertical partition, it avoids the disadvantage of filling all transactions in the primary chain in the traditional single-chain structure and achieves the horizontal expansion of the whole system. The more forks on BigBang Core, the more TPS (Transaction Per Second) the system can support. With enough forks, BigBang Core can carry tens of millions or even billions of TPS loads as a whole.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
September 06, 2020, 05:58:59 PM |
|
Fork Identity
The blocks of the BigBang Core system are connected in chronological order to form a tree structure with multiple forks. In BigBang Core, the security primary chain and application fork are collectively referred to as "fork". Each fork will have a unique fork identifier for marking. The security primary chain uses the genesis block hash as the fork ID, and the application fork uses the hash of the first block after fork as the fork ID. Before the fork point, the parent chain and the application fork have the same chain structure and transaction; the fork points are independent of each other and do not interfere with each other. The same Token that appears before the fork point can create different transactions in the parent chain and the fork after the fork point to send to different addresses; The block data before the fork point can also be used in the parent chain and the fork chain. The user needs to specify an anchor block when creating the transaction, and all branches that are calibrated after this block are valid. In Figure 2.1, if the anchor block is set to Block n-1, the created transaction will be included in two forks; If set to Block n, the transaction is only valid in the parent chain, and a new transaction can be created in the fork to send the Token to another address.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
September 11, 2020, 05:10:44 PM |
|
Security Primary Chain
The security primary chain is the main chain of BigBang Core tree structure, and all its forks are its "descendants", which are used to support the security and consensus of the whole block system. In P2P network, the priority of synchronous broadcast message forwarding of the main chain is higher than that of the application fork. In addition to recording Token transfer of the main chain, the security primary chain also retains the data of key process negotiation of EDPoS nodes.
Security primary chain blocks can not be inserted between sub-blocks, can only according to the given block interval growth. As a considerable part of the capacity records consensus negotiation process data (take 23 EDPoS nodes as an example, negotiation data will occupy about 115KB of each block), the transaction capacity of the security primary chain is lower than that of the application branch chain. The security primary chain starts from the block system creation block and generates the block through the EDPoS+CPoW consensus sequence. The security primary chain is used to support the security and consensus of the whole block system. All application fork nodes need to synchronize and verify the block header information of the main chain. After the new node is connected to the network, the main chain synchronization is completed first, and then the corresponding application fork synchronization is started.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
September 20, 2020, 07:26:25 PM |
|
Main Chain Special Transaction TypeIn the security primary chain, there are three types of consensus-related transactions that are unique to the security primary chain in view of the particularity of functions: EDPoS node voting transaction; EDPoS node registers transactions; CPoW block bonus trading. - EDPoS Node Voting Transaction
The EDPoS node generates a Delegate template address. For the first time, it needs to send Token to this address to finish publishing Delegate address on the chain. The user uses the same parameters as the EDPoS node to create Delegate address, and stores Token in the Delegate address to complete Token voting. An EDPoS node can participate in the EDPoS negotiation process using a Delegate address vote as a weight. When a user deposits a Delegate address to vote, the ownership of the coin remains with the user and can be removed at any time, but once removed, the number of votes of the corresponding node is subtracted. - EDPoS Node Registers Transactions
In each round of negotiation, EDPoS node needs to raise enough Token votes to create a registered transaction to register and publish its initial negotiation parameters on the chain in advance, Only the node that completes the registration before the negotiation round (more than 2% of the total votes) is allowed to enter the negotiation process and obtain the right to give blocks. By default, CPoW consensus is only used for main chain consensus to create block, and the block reward is provided to participants through such transactions. The transaction is similar to the coinbase transaction in Bitcoin.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
September 26, 2020, 10:42:44 PM |
|
Application Fork
In BigBang Core, a user can creates an application fork by sending a special type of transaction in the parent chain -- a fork transaction. The block generation interval of the branch chain should be consistent with the security primary chain. Other main parameters can be configured by the creator in the process of branch creation initialization. Configurable parameters include the total amount and the distribution of tokens, block reward and additional issuance. The first block of the newly created branch chain (the branch starting block) is saved in the fork trade.The Token distribution of forked chains can be defined by the creator in three ways:
1. Create an independent fork, and reset the total Token amount and allocation method of the fork starting block; 2. Complete inheritance of fork point Token distribution; 3. Inherit the distribution of fork points Token, and make additional issuance on this basis. The distribution mode of additional issuance is defined in the fork starting block.
Since the forking point, the forked chain Token and the parent chain arecompletely isolated.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
October 08, 2020, 08:54:09 PM |
|
Mortgage Mechanism
In order to prevent the resource loss caused by high frequency forking to the parent chain by malicious personnel, the parent chain Token should be used for collateral in each fork chain establishment, and the Token used for collateral in the forking transaction is sent to a special address for freezing. The Token is thawed in stages according to the difference between the height of the parent chain block and the initial height of the parent chain block. The Token required to create a branch chain decreases with the difference between the height of the block and the initial height, and is completed in half every 525,600 blocks. Where the cardinality N of the pledged Token is determined by the initial Token supply of the parent chain.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
October 18, 2020, 06:20:43 PM |
|
Applation Fork To Make Block
The security of the fork chain is dependent on the consensus mechanism of the security primary chain. In BigBang Core, there are three main ways to apply branch chain:
1)block of EDPoS node. This mode can not set up block nodes, and the EDPoS node can generate new blocks for forks while obtaining the block right of the main chain. This mode corresponds to the open business model.
2) block from the set up node. The application side can also set up the block node in the application fork chain and use the random beacon generated by the security primary chain to set up the block mechanism of the fork. This approach corresponds to a closed business model.
3) custom consensus mechanism. In addition to the above two block-making methods, the application side can also customize the consensus mechanism, which can be used for the generation of application fork chain blocks and sub-blocks. Application fork chain compared to the security primary chain, in addition to the production of normal fork chain blocks, in the normal every minute of the block interval, which can also produce sub-blocks, for low delay transaction on the chain. Sub-blocks are not less than 2 seconds apart, And no empty blocks can be generated. The nodes that generate sub-blocks are determined by independent random beacons of blocks of the same height of the security main chain. Sub-blocks have no additional block reward, but can obtain high transaction fee income. Considering the sub-blocks in the application branch chain, the transaction capacity of each application branch chain can be increased by 30 times and the TPS can reach 5200. When data services require higher transaction capacity and concurrency, multiple branch chains can be created for the current application branch chain to achieve high order TPS.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
October 25, 2020, 07:07:05 PM |
|
Application Fork Empty Block
In BigBang Core, the block height of the application fork chain is in sync with the block height of the security primary chain, used to support the application fork across the fork transactions and convenient fork block reference to the main chain of the same height of the consensus results, reduce the number of convenient query. Therefore, in order to maintain high consistency, the application fork may produce empty blocks. And between the empty block and the next fork block, no sub-block can be generated.
When the fork is applied to select the EDPoS node of the main chain to release the block, the EDPoS node of the main chain will take the Token value of the fork as the priority reference, and independently choose the supporting application fork.Lower value application fork may be part of the main chain EDPoS node excluded from the block list. In order to maintain the high synchronization of the main chain, the fork chain will automatically fill an empty block.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
November 01, 2020, 07:02:27 PM |
|
User Key And Address There are two types of addresses for BigBang Core: public key addresses and template addresses, which correspond to specific public keys and templates respectively. The address length is fixed at 33 bytes, and the encoded address is used as input/output parameter in the interactive interface.
BASE32Encode uses the Crockford scheme character set, but does not carry out the symbols check process in this scheme.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
November 08, 2020, 08:17:21 PM |
|
Key And Public Key Addresses
BigBang Core system uses curve25519 as the basic security algorithm,the user's private key and public key are both 32 bytes, and the private key signature is 64 bytes. The security of curve25519 is the same as that of P256, which is the most efficient asymmetric security algorithm at present. Take the type prefix + public key as the wallet public key address.
In order to ensure the security of the user's private key, chacha20 and poly1305 algorithm is adopted to encrypt the local storage, and users need to input the password before signing with the private key.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
November 15, 2020, 11:26:25 PM |
|
Parametric Template
The popular blockchain system can provide scripts or intelligent contracts running on different VMS (Virtual Machines), which can expand the basic ledger of the block system with powerful and flexible functions. However, so far, it seems that the VM module in the block system is still in the initial stage. In addition to inherent security vulnerabilities, operating efficiency and usage rate also limit the application scope of intelligent contract to some extent. BigBang Core system does not provide scripts and intelligent contract systems, but uses parametric process templates to implement commonly used scripts and intelligent contract functions. Use the corresponding template address to provide function calls for users.
|
|
|
|
BigBangCore (OP)
Copper Member
Jr. Member
Offline
Activity: 43
Merit: 2
|
|
November 22, 2020, 06:18:28 PM |
|
BigBang Core Cross Fork Transaction
Cross-branch transactions can be used to implement synchronous value exchange between BigBang Core fork without trust.In practical pplications, business can often be divided into multiple branches according to business process, equipment type, spatial region and other relevant factors.Devices with frequent interactions usually have the same fork Token for data transaction in the same fork.But as a business as a whole, the needs to interact with Token devices holding other forks also exists objectively. In this case, cross-fork transaction can be realized the Token exchange between branch chains. On the one hand, crossbranch transactions can be completed in the case of no trust, and the fairness of both parties is guaranteed by using technical principles. On the other hand, cross-fork transactions enter the block synchronously between two fork chains to ensure high efficiency and effectiveness.This provides a good technical support for the application of decentralized exchange and Token exchange gateway.
|
|
|
|
|