follow us on twitter . like us on facebook . follow us on instagram . subscribe to our youtube channel . announcements on telegram channel . ask urgent question ONLY . Subscribe to our reddit . Altcoins Talks Shop Shop


This is an Ad. Advertised sites are not endorsement by our Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise Here Ads bidding Bidding Open

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - kudo94

Pages: [1]
1


You’ve probably already heard about Defi and liquidity pools. What is it and how to make money using TBTC?

A liquidity pool is a kind of storage where market participants put their assets together to provide a very large supply of liquidity
for everyone who wants to exchange this asset.
In the traditional financial system, such pools are large banks, they manage the funds of a large number of depositors
and can even “print” additional money.

A cryptocurrency liquidity pool is a stock of tokens that are locked in the account of a special smart contract.
They are used to ensure trading activity (trading) and are intensively used by decentralized exchanges (DEX).

For providing liquidity in pools, members receive rewards, which allows you to earn passively.
One of the first projects that introduced the concept of a liquidity pool was the Bancor project,
but the Uniswap project brought great popularity to the concept of a pool.

About TBTC

A month ago, the Keep, Summa and Cross-Chain Group teams launched the tBTC-an ERC-20 token fully backed
by BTC and tied to its offer.
It allows BTC holders to access the DeFi ecosystem built on Ethereum. Here are its key features:

Backed — Every TBTC is backed 1:1 with BTC
Permissionless — No intermediaries — Redeem TBTC for BTC at any time
Secure — Audited and open-source
Simple — 3 steps to convert from BTC to TBTC and back

Thus, you can transfer your BTC to TBTC and participate in liquidity pools. It is a safe way to earn money with your Bitcoin.

Which pools using TBTC can you participate in?

Despite the fact that only a month has passed since the release of TBTC, you can already earn money right now
by participating in the liquidity reward pools of KEEP partners such as: SushiSwap, Curve, Balancer and Mooniswap.
These sites have launched or will soon launch liquidity pools that offer the opportunity to earn money by providing liquidity for tBTC.

Let’s look at the process of providing liquidity using the example of the WBTC-TBTC pool from Sushiswap:

1.Let’s go to the site: https://sushiswap.fi/pair/0x2dbc7dd86c6cd87b525bd54ea73ebeebbc307f68;

2.Connect your wallet through Metamask;





3.Click + liquidity;



4.Select the pair TBTC-WBTC, select the currency, enter the amount and click add;



5.Done! Now you will passively receive interest on commissions!

With TBTC, you can not only earn commissions in liquidity pools, but also farm completely new tokens!
Last week, Keep’s partners at Harvest added the ability to farm the FARM token for providing liquidity to TBTC.



Summing up the above, we can conclude that despite the fact that the TBTC was launched only about a month ago,
professional market participants have already recognized it and appreciated it
. TBTC is used in leading liquidity pool platforms.
And this is just the beginning! TBTC allows you to earn passively and most importantly safely!

For more information please visit:

Official site: https://keep.network/

Official Discord: https://discord.gg/CzfZx9

TBTC site: https://tbtc.network/

Created by kudo94#3025

2
Other Popular Cryptos / Coins / What is DeFi and how TBTC can impact it
« on: August 24, 2020, 08:23:00 PM »
Decentralized finance (DeFi) has been the latest buzzword in the crypto industry for some time now, and is growing steadily. While many have heard of DeFi, not many know what it entails or how it differs from the traditional financial industry that has been around for over a century.

In traditional finance or centralized finance, people transfer control of their assets to banks and other financial firms so that professional managers can use funds wisely in the markets. Their logic is that they will make higher returns than the average person and therefore those who put their money in will benefit as well.

However, the main problem is that having a centralized system means that the risk is also concentrated in the center. While bankers can be skilled and experienced, they are not perfect and can be wrong as well. An example is the 2008 global financial crisis caused by the US housing bubble.

On the other hand, decentralized finance means that people retain ownership of their assets and have complete autonomy over them, rather than transferring them to a central system.
With this in mind, DeFi solves a fundamental problem associated with the traditional financial industry while increasing its efficiency.

DeFi is financial instruments in the form of services and applications built on the blockchain. The main task of decentralized finance is to become an alternative to the banking sector and replace the traditional technologies of the current financial system with open source protocols. That is, open access to decentralized lending and new investment platforms for a large number of people. And let them receive passive income from crypto assets, as well as save on fees for transfers, loans and deposits.

The argument for decentralized finance (DeFi) has been made even more pressing by allegations of misuse of funds against a centrally controlled cryptocurrency.

Noting the high potential of DeFi, the Keep, Summa and Cross-Chain Group are currently hard at work on their DeFi solution, TBTC, which will take DeFi to the next level.

How will TBTC make Defi better?



The term DeFi is closely related to Ethereum as it is the most popular platform for launching decentralized applications. However, Ethereum's capitalization is $ 45.5 billion. For comparison, the capitalization of bitcoin is $ 217.5 billion. (4.7 times higher)

A product developed by the Keep Summa and the Cross-Chain Group team - tBTC is a fully Bitcoin-backed ERC-20 token pegged to the price of Bitcoin. This token allows you to exchange your BTC for an ERC-20 token in a 1: 1 ratio, provide it as collateral and receive rewards.
Thus, TBTC will bring additional liquidity to the market. More liquidity will allow for more collateral and will have a strong impact on the development of the DeFi industry.
At the same time, bitcoin itself will receive another use case.

The main difference between TBTC and its competitors is true decentralization. This means that any user can issue a TBTC in exchange for their BTC using a network of signers. Signers are selected at random. Blocked BTC have no central custodian holdings.

Steven Becker, president of MakerDAO, once said: “tBTC is brilliant because ultimately it links two major concepts together. [Bitcoin and Ethereum working together] is how all these networks are going to come together to create the on-chain economy.

Summarizing the above, we can conclude that DeFi technology is very promising and necessary. However, at the moment it has limitations associated with low liquidity. TBTC can solve this problem, which will attract a lot of money to the Defi market and thereby contribute to the strong progress of this area.


Learn more about TBTC:

Website: https://tbtc.network/

Keep website: https://keep.network/

Twitter: https://twitter.com/keep_project

Discord: https://discord.com/invite/wYezN7v

3

Decentralized finance (DeFi) has been the latest buzzword in the crypto industry for some time now, and is growing steadily.

DeFi is financial instruments in the form of services and applications built on the blockchain. The main task of decentralized finance is to become an alternative to the banking sector and replace the traditional technologies of the current financial system with open source protocols. That is, open access to decentralized lending and new investment platforms for a large number of people. And let them receive passive income from crypto assets, as well as save on fees for transfers, loans and deposits.

The argument for decentralized finance (DeFi) has been made even more pressing by allegations of misuse of funds against a centrally controlled cryptocurrency.

Noting the high potential of DeFi, the Radix team is currently working hard on its DeFi solution that will take DeFi technology to the next level.
 
DeFi advantages and disadvantages

Despite the fact that the decentralized application sector is just developing, there are already quite a few benefits. The main thing is that any user can get one or another financial service, for example, lending, bypassing the bank. Decentralized landing protocols minimize risks and open access to borrowed funds 24/7. New products are especially relevant for borrowers from countries with expensive bank loans.

The procedure for creating your own digital asset and its introduction to the market has become noticeably easier and has become available to almost everyone. Payment processing does not last for several days, but a maximum of a couple of hours, interest rates and commissions have become much lower. Also, users have new ways to make money on cryptocurrency.

For developers, the simplicity of creating applications becomes a clear advantage due to transparency and open source, in addition, projects in the decentralized finance sector can be developed on any platform that interacts with smart contracts.

Of course, DeFi is not without its drawbacks:

1. Since most DeFi projects are built on the Ethereum platform, they are not very suitable for high-frequency trading as they are limited in terms of scalability.

2. Due to sharp jumps in the load on the Ethereum network, transaction fees can rise sharply, making high-frequency trading less affordable.

3. Poor security. There is a known case of a project called Bancor that used to rely on an authorization contract type to handle ERC20. However, there was an error in the contract that allowed the contract to transfer tokens from the user's wallet to any address specified by the hacker after the user was authorized, resulting in the loss of nearly $ 100,000.

4. Not friendly to developers.

How will Radix make Defi better?

The radix team is currently working hard to offer the best DeFi platform, addressing the above DeFi disadvantages on the Ethereum platform and offering:

1. Better safety:
Reducing the number of hacks, exploits and failures of smart contract applications. This became possible thanks to The Radix form of smart contracts, Components.

2. Build DeFi dApps faster
This is made possible by the Component Catalog. This technology is a register of already released components Components in the Catalog are like inactive templates or blueprints that anyone may use to create multiple active Components patterned after the original in the Catalog. It will make application development much easier and faster

3. Development of a decentralized developer community
The best platform Defi requires a strong developer community. Therefore Radix offers the Developer Royalty System program. The essence of this program is that developers can set royalties for using the components they create. Royalty payments are based on the actual utility that the Component brings to the network.

4. Unlimited scalability.
Radix uses build technologies for unlimited scalability without compromising security, decentralization, or composability. This is made possible thanks to the unique Cerberus consensus algorithm developed by the Radix team. Cerberus is a new consensus algorithm designed specifically for large, diverse networks of simultaneous applications and transactions.
Unlimited scalability will make transaction fees cheap.

Summing up the above, we can conclude that DeFi technology is very promising and necessary. However, at the moment it is at an early stage of development and has a number of problems, including those related to the Ethereum network. Radix's DeFi solution aims to eliminate them and make DeFi technology better.

Learn more about Radix:

Website: https://www.radixdlt.com/

Twitter: https://twitter.com/RadixDLT

Telegram: https://t.me/radix_dlt

4
Multi-Native token contract - is a unique contract developed by the Quarkchain team that allows users to issue their own tokens in the Quarkchain ecosystem.

What are the benefits of Multi-Native token technology?


•   Multi-Native tokens have the same rights as QKC tokens. Thus, the problem of two tokens with different rights has been solved. Application development has become more convenient.
•   Ability to deploy smart contracts, cross-chains
•   Ability to pay transaction fees. Token creators can choose whether to equip the token with the ability to pay them a transaction fee.
•   Simple procedure for creating tokens

How will a Multi-Native token improve Defi technology?


The Quarkchain team is working hard to deliver the best DeFi product. As you know, DeFi applications built on the Ethereum platform face a number of problems, namely: high fees, low scalability, low security.
With Multi-Native tokens, DeFi technology will receive:

1. Higher level of security
Unlike the ERC-20 standard, if the main network is hacked, your user assets will not be stolen

2. Better User Experience
Everyone can issue their own token, which will have the same rights as QKC

3. Better scalability
Quarkchain has an edge over its main competitor Ethereum as it has more scalability and aims for 10,000+ TPS (roughly 1,000 times faster than ETH)

4. Better Developer experience
QuarkChain multi-native token will lower development costs, allowing more DeFi applications to emerge.

Based on the above, we can conclude that Quarkchain's DeFi solution is very promising and capable of revolutionizing the DeFi field.

Upcoming DeFi bounty company


The Quarkchain team announced that in August there will be a Defi company, within which any user will be able to issue their own Multi-Native token and earn QKC tokens.

Will you take part?

5
In this article, I want to tell you why I believe that Quarkchain (362nd CMC) can easily enter the top 100 CoinMarketCap soon. To do this, Quarkchain has everything you need:

1. Low price and capitalization.

At the moment, the capitalization of Quarkchain is $ 16.2 million (according to CMC data). For comparison, the capitalization of Quarkchain's competitor, Zilliqa, is $ 251 million, while Ethereum's is $ 44 billion. Moreover, as you can see on the chart, QKC has a huge upside potential, since the accumulation phase has been going on for a long time.



2. Excellent technology

Quarkchain has an edge over its main competitor Ethereum as it has more bandwidth and aims for 10,000+ TPS (roughly 1,000 times faster than ETH), and also has much lower transaction fees. Moreover, Quarkchain is currently actively developing in the DeFi field in order to offer the best solution.

3. DeFi product

Over the last month, DeFi - tokens have risen in price by 500-1000%. For example, in early July, the founder of the Just token announced the launch of 3 DeFi products: JUST Lend, JUST Swap and JUST BTC. Since then, the Just coin, which will become a key link in this ecosystem, has grown by about 750%. At the moment, the Quarkchain team has announced the development of a DeFi product that will soon be presented to the public. During the month, the price of QKC has grown by only 15% (from $ 0.006534 to $ 0.007585), which leaves even more room for growth.

Summarizing all of the above, we can assume that soon we will see a strong rise in the price and capitalization of Quarkchain, which will help it easily get into the top 100 CoinMarketCap. With products and technologies like this, QKC is now greatly undervalued.

6
          Decentralized finance (DeFi) has been the latest buzzword in the crypto industry for some time now, and is growing steadily. While many have heard of DeFi, not many know what it entails or how it differs from the traditional financial industry that has been around for over a century.
In traditional finance or centralized finance, people transfer control of their assets to banks and other financial firms so that professional managers can use funds wisely in the markets. Their logic is that they will make higher returns than the average person and therefore those who put their money in will benefit as well.
However, the main problem is that having a centralized system means that the risk is also concentrated in the center. While bankers can be skilled and experienced, they are not perfect and can be wrong as well. An example is the 2008 global financial crisis caused by the US housing bubble.
On the other hand, decentralized finance means that people retain ownership of their assets and have complete autonomy over them, rather than transferring them to a central system.
With this in mind, DeFi solves a fundamental problem associated with the traditional financial industry while increasing its efficiency.

          DeFi is financial instruments in the form of services and applications built on the blockchain. The main task of decentralized finance is to become an alternative to the banking sector and replace the traditional technologies of the current financial system with open source protocols. That is, open access to decentralized lending and new investment platforms for a large number of people. And let them receive passive income from crypto assets, as well as save on fees for transfers, loans and deposits.
The argument for decentralized finance (DeFi) has been made even more pressing by allegations of misuse of funds against a centrally controlled cryptocurrency.

Noting the high potential of DeFi, the Quarkchain team is currently working hard on its DeFi product, which will soon be presented to the public. This product will offer improvements to DeFi due to the unique features of Quarkchain technology.

DeFi advantages and disadvantages

          Despite the fact that the decentralized application sector is just developing, there are already quite a few benefits. The main thing is that any user can get one or another financial service, for example, lending, bypassing the bank. Decentralized landing protocols minimize risks and open access to borrowed funds 24/7. New products are especially relevant for borrowers from countries with expensive bank loans.
The procedure for creating your own digital asset and its introduction to the market has become noticeably easier and has become available to almost everyone. Payment processing does not last for several days, but a maximum of a couple of hours, interest rates and commissions have become much lower. Also, users have new ways to make money on cryptocurrency.
For developers, the simplicity of creating applications becomes a clear advantage due to transparency and open source, in addition, projects in the decentralized finance sector can be developed on any platform that interacts with smart contracts.

Of course, DeFi is not without its drawbacks:

1. Since most DeFi projects are built on the Ethereum platform, they are not very suitable for high-frequency trading as they are limited in terms of computation speed.
It is this problem that Defi Quarkchain product can solve, since the computing speed in the Quarkchain network is about a thousand times higher than in the Ethereum network.
2. Due to sharp jumps in the load on the Ethereum network, transaction fees can rise sharply, making high-frequency trading less affordable. Thanks to the use of Quarkchain technology, commissions will be much lower, which will allow you to trade more often.

          Summing up the above, we can conclude that DeFi technology is very promising and necessary. However, at the moment it is at an early stage of development and has a number of problems, including those related to the Ethereum network. Quarkchain's DeFi solution aims to eliminate them and make DeFi technology better.

7
Quarkchain recently introduced Heterogeneous Sharding. In this article I want to tell you about the key features of this technology.
1.   Heterogeneous sharding increases public chain throughput.
The public blockchain chain is a channel with a certain bandwidth limit. The higher the traffic, the lower the transaction speed. Sharding technology allows you to create additional throughput channels for equal traffic distribution. This increases the throughput of the chain, and hence the speed of transactions.
2.   Sharding is dynamic technology.
This technology allows not only creating additional channels to accelerate transactions, but also dynamically adjusts their number depending on traffic. The maximum number of shards can be added is about 20000.
3.   It is possible to use different blockchain components.
Depending on demand, Heterogeneous sharding allows you to create additional channels with different blockchain components. For example, POW can be used in one channel, and POS in another.
4.   More options for chains.
Quarkchain Heterogeneous Sharding allows you to run chains in one click, also supports cross-chains.
5.   Customization option.
The single chain does not support customization. All the four components cannot be modified once the chain is launched. Quarkchain Heterogeneous Sharding can customize for public chains as well as alliance chains and allows cross-chains.
Conclusion: summing up the above, we can conclude that the Heterogeneous Sharding technology provides more opportunities when using the blockchain, which will allow it to be used in business with greater productivity.


8
Today let us proudly introduce QuarkChain Staking 1.0, a product that offers a way for miners to find the staked QKC tokens and the QKC holders to get extra income.

In addition to improve the flexibility through heterogeneous sharding technology, QuarkChain’s unique consensus algorithm, PoSW (Proof of Staked Work), becomes the basis to realize a cutting-edge DeFi system, which enables a division-and-cooperation mechanism that miners and token holders can work together on mining efficiently and share the profit afterward.

Unlike the high inflation rate of PoS with an obvious Matthew effect, PoSW still requires miners to compete with hash power. The total mining amount of QKC is 4 billion, and ~245 million has been mined in the first year. The annual mining output will be fixed to 88% of the previous year. that is to say, the new-generated token rate by PoSW will be much lower than PoS.

PoSW allows miners to enjoy the benefits of lower mining difficulty by staking mainnet QKC tokens. After the mining function on QuarkChain mainnet is enabled, miners and token holders have spontaneously formed a cooperative relationship that benefits both of them. However, a lot of small token holders are hard to meet the minimum requirement of the staking amount set by miners, which prevents them from participating in staking activities. After the QuarkChain Staking 1.0 smart contract is launched, multiple small and medium-sized token holders can stake QKC together into the same contract which cumulatively meets the requirement of minimum staking amount. More QKC holders can participate and share mining rewards, and the miners can also find enough staking tokens more easily.

Reward base: The reward is based on the efficiency difference between QuarkChain mainnet staking mining and non-deposit mining.

Miner participation: Minors provide mining machines, deploy the contracts according to the consensus, and set a revenue share ratio.

Token holder participation: Token holders choose a credible contract with official verification and transfer the mainnet QKC into the contract address after confirming the profit-sharing percentage with miner after confirming the profit-sharing percentage with miner(s).

Return ratio: It should be negotiated by both parties.

Earnings acquisition: Token holders deposit the returns into the contract real-time, and withdraw the tokens at the agreed time with the miner(s).
Redemption: After negotiating with miners, shut down the mining machine for redemption.

This cooperation model is simple and user-friendly. The token holders only need officially verified contracts and QKC tokens on the mainnet. There is no need for other tokens during the whole process. The currently launched contract is our first available version. QuarkChain will make further improvements on it, and bring to our users a dApp with customization and matching functions in the coming two quarters. Then miners can issue staking smart contracts more easily, and token holders can directly select contracts on the dApp page and complete the deposit with fewer steps.
The most important thing to the public chain is the forward-looking layout of specific functions. QuarkChain has realized the value of DeFi and joined in this game from the first day we set off. Now, we are creating future DeFi with the eco-partners from various fields together.
In the next generation of DeFi, QuarkChain will achieve more breakthroughs in efficiency, ease of use, and security.

You can learn more about Staking Pool Contract User Guide in official Quarkchain Medium page.

9
Other Popular Cryptos / Coins / QuarkChain 2020 Plan
« on: June 18, 2020, 07:27:02 PM »
QuarkChain’s plan for the second half of 2020: launch staking DeFi products and the new mainnet BigBang with multi-native tokens.

Members of QuarkChain community:

Although the epidemic is raging around the world and our work is inevitably affected to some extent, the tasks of QuarkChain in the first half of 2020 have been successfully completed, including upgrading the major functions of the mainnet, reducing production, and launching QPool which can support the mining in QuarkChain mainnet. Besides, many breakthroughs have also been made in the blockchain solutions of enterprises and the government.

Half of the tough year 2020 has passed. Although we do not know what challenges lie ahead, our original intention of building an ecological world of blockchain remains unchanged. Hence, we will launch two major functions which are milestones for the development of the community and project in the second half of 2020.

1. Open staking DeFi products based on PoSW Consensus

QuarkChain proposes a new consensus algorithm called PoSW, which combines PoW and PoS to realize a more human-friendly consensus mechanism. Firstly, PoSW, like PoW, requires the competition of hash rate. Miners can join without admission. However, if the mainnet token of QuarkChain called QKC is staked during mining, the preferential benefit of reducing mining difficulty can be enjoyed. Similar to PoS, the more tokens you hold, the higher accounting right you will have. The opening of staking will allow miners and holders to work together for more rewards, and make the network safer and more resilient to attacks.

Staking 1.0 (At the end of June): bring the StakingPool smart contracts online
In the first half of this year, QPool, the mining pool which supports the QuarkChain mainnet, has been launched. By the end of June, the StakingPool smart contracts will be launched together with QPool. Ordinary token holders can deposit QKC into the address of the smart contract and cooperate with miners to mine and share profit. Based on the existing network data, the monthly rate is about 2% and the annual rate is about 27%. Please pay attention to the QPool announcement after the official launch.

Staking 2.0 (Q3 — Q4): DeFi products online
It is expected to launch an open source DApp with the functions of staking and mining in Q3, which will be modified and used by high-level users to realize the function of online staking of the StakingPool smart contracts.
It is expected that the online platform of DeFi will be launched in Q4, where miners can freely publish staking contracts and users can choose the staking through the different rewards promised in the contracts. Cooperation between miners and token holders is achieved through contract products, which will be QuarkChain’s unique DeFi product based on PoSW consensus.

2. The mainnet of BigBang with multi-native token function will be officially launched in Q3
In addition to the multi-chain heterogeneous blockchain structure from the heterogeneous sharding technology, the mainnet BigBang will also have the unique function of multi-native token, which means that except for QKC, the tokens published on the QuarkChain mainnet can have the same functions as QKC, including invoking contracts, paying transaction fees, and realizing the release of multi-native tokens with one click. In this way, projects on this network can have more flexible ecology than the contract tokens in some projects which can only rely on the network’s native tokens.

Currently, the associated functions for multi-tokens, such as staking, auction, and storage, have been developed. Now the final stage for security test and audit on the mainnet is underway. In Q3 of 2020, this function will be online together with a new generation of QuarkChain mainnet, called BigBang.
Acquisition mechanism of QuarkChain multi-native tokens:
In the early stage of the project development, we will hold regular auctions on the chain. Participants need to bid with QKC and there will be only one winner in each auction, who can have the minting right.

The token obtained by auction will have a unique token ID on the whole network, and the only way to obtain the token ID is to get the ownership of the token.

Schedule for auction: once a week or a month, please pay attention to the auction announcements on the official channel.
The launch of multi-native tokens, staking and DeFi functions will improve the QuarkChain ecology and provide more opportunities for the applications on the chain in the future. In addition to these major functions, we will add or update more important functions according to the development of the industry and the implementation of blockchain technology, so as to make QuarkChain continue to become a leader in the public chain with a multi-chain heterogeneous structure based on heterogeneous sharding technology.

10
Introduction
In this article, we propose a blockchain network that acts as a centralized append-only distributed file system (DFS) such as Hadoop Distributed File System (HDFS) or Google File System (GFS). The potential advantages of blockchain as a distributed file system (BaaDFS) include:
High availability: a user can tolerate failures of ⅓ full nodes and enjoy almost 100% high availability on read unless all nodes are down without worry about the single-point of failure of metadata servers (such as namenodes in HDFS) of traditional systems;
High data integrity: a node could fully validate the integrity of any piece of the data written to the DFS. The validation can be very efficient: given the position of the data (filename, offset, len), the cost of validating the data has the same order of the cost of a client read operation.
Highly trustworthy storage for clients: a writer can check the integrity of the written data and ensure immunity, and any reader could verify such integrity and immunity.
Currently, the blockchain network is designed for private use (as the target DFS is centralized), but it should be able to extend to public/consortium use with some modifications.
DFS Semantics Supported
The BaaDFS supports single-writer multiple-reader append-only DFS semantics, which has been widely used in existing DFSs such as HDFS and GFS. To be more specific, for a given file, we only allow to write from a writer at any time, but multiple readers may open and read the same file simultaneously. The writer could only append data to a file. Such DFS semantics is highly suitable for high-performance batch processing.
Client Operation Semantics
The BaaDFS supports the following file operations from client perspective:
create(filename): create a file for write operation, return a file object upon success or throw if filename exists or other IO exception.
open(filename, isReadonly): open a file for read or read/write, return a file object upon success or throw if filename is not found or other IO exception.
read(file_object, buffer, offset, len): read the data of the file starting from offset and up to len bytes to buffer. Return the number of bytes read or -1 if the EOF is reached.
append(file_object, buffer): append the data from buffer to the end file. Throw if a concurrent append is detected.
flush(file_object): flush all cached append data to the network, and wait until the data are visible to all readers. Throw if concurrent append/flush is detected.
close(file_object): flush if necessary and close the file.
Representation of the File System as a Blockchain Ledger
Similar to HDFS/GFS, a file in BaaDFS is represented as a list of data chunks

Representation of a file
where the file content is equally divided into chunks with the same size (chunk_size) except the last chunk, whose size, namely, last_chunk_size, is file_size % chunk_size.
In the proposed BaaDFS, a chunk of data is stored as part of a blockchain block, where the block consists of
a header
a list of write transactions, where each transaction is
tx := (filename, chunk_idx, chunk_num, chunk_data_0, chunk_data_1, chunk_data_${chunk_num — 1}),
which means that the data chunk_data_0, chunk_data_1, …, chunk_data_${chunk_num — 1} are written to the file with the offset starting from chunk_idx * chunk_size. The size of chunk_data’s in a transaction must be chunk_size, except the last one, whose size, last_chunk_size <= chunk_size. The resulting new file_size after applying the write transaction becomes (chunk_idx + chunk_num — 1) * chunk_size + last_chunk_size. The hash of the list of transactions (likely in a Merkle tree way) will be stored in a field of the block header as conventional blockchain does.
Note that since we implement an append-only file system, the write transactions must satisfy the following constraints (assuming file_size’ is the pre-write file size, and file_size is the post-write file size)
(Chunks unchanged except the last one) chunk_idx > file_size’ // chunk_size (// is the integer division operator)
(Last chunk write must be append) if chunk_idx == file_size’ // chunk_size + 1, then chunk_data_0 must contain last_chunk_data’, where last_chunk_data’ is the last chunk of the file before the write transaction.
To lookup the chunk, we define a chunk_info, which tells where the chunk data can be read as
chunk_info := (block_index, tx_index, tx_chunk_index)
where block_index is the height of the block that contains the corresponding write operation/transaction, tx_index is the position of the write transaction in the block, and tx_chunk_index is the position of the chunk_data in the transaction.
As a result, given the history of the ledger, i.e., blocks, a reader could fully read any part of the file by a list of chunk_info’s together with file_size and chunk_size, where the list of chunk_info can be efficiently implemented as a Merkle tree (likely an accumulator) for fast update (only the last item), append, and read.
The tuple of (file_size, chunk_size, and chunk_info_trie_hash) is defined as the metadata of the file as:
metadata := (file_size, chunk_size, chunk_info_trie_hash),
and the state of the ledger given a block is basically a mapping as:
state := filename -> metadata
which could be implemented as another Merkle tree (e.g., Patricia Merkle Tree or Sparse Merkle Tree), whose hash value will be stored in the header of the block.
Summarizing the aforementioned details, the diagram of the ledger of a BaaDFS looks like

Diagram of a BaaDFS Ledger
A good property of such a file system representation is that given the hash of the state trie or a block hash, a reader or writer could uniquely determine a snapshot of the filesystem and check the integrity or immunity of the filesystem.
Components of the BaaDFS Network
In this subsection, we illustrate a blockchain network and its components for the BaaDFS
Full node: A node that maintains a replica of the blockchain ledger. For better performance, the node may be implemented as a cluster — a group of servers that act as a single node in the network. The full nodes are connected via a network protocol (P2P or membership managed by a configuration service such as ZooKeeper). Upon observing a new valid block is produced, it will synchronize the block from its peers and append it to the ledger. The nodes may not necessarily trust each other in the network.
Consensus: We will employ a fast-finality consensus, which may be Paxos/Raft for private/consortium usage or Tendermint for consortium/public usage.
Finalized block: A finalized block is that a block that reaches finality and will be irreversible by the consensus. This means that if a block is finalized, all the write transactions of the block (and previous blocks) and the resulting file content, i.e., bytes in offset [0, filesize], will be immutable and be consistent among new readers. Furthermore, we denote the finalized block with the highest index and its index as LAST_FINALIZED_BLOCK and LAST_FINALIZED_BLOCK_INDEX, respectively.
DFSClient: A DFSClient is a client run by a user that performs the interface of aforementioned file operations and translates the operations to blockchain operations. It will connect to one or multiple full nodes in the network.
Example Implementations of Supported Operations
We assume a full node has the following RPC service to a DFSClient:
QUERY_FINALIZED_INFO: Query and return LAST_FINALIZED_BLOCK or LAST_FINALIZED_BLOCK_INDEX;
QUERY_METADATA: Given a filename and a block index/hash, return the metadata of the filename of the block;
QUERY_CHUNK_INFO: Given a chunk_info_trie_hash and chunk_index, return a chunk_info;
QUERY_CHUNK_DATA: Given a chunk_info, return a chunk data;
SUBMIT_TX_AND_WAIT: Given a transaction (tx), return success if the tx is included by a block before or equal to FINALZED_BLOCK, otherwise error.
Given above RPCs, the file operations can be supported by a DFSClient in BaaDFS as follows:
open(filename, isReadonly): The DFSClient will look up the metadata of file in the LAST_FINALIZED_BLOCK from the network, store the metadata in a file_object, and return the file_object.
read(file_object, buf, offset, len): The DFSClient will look up the chunk_info’s associated with the chunk_info_trie_hash from the cached metadata and the read range of the file. For each chunk_info, DFSClient will read the corresponding chunk data, write the data to the user-provided buffer, and return to the user.
write(file_object, buf): An optimized DFSClient will likely cache all contents from a write operation in the internal buffer and return immediately. After collecting several full chunks, the DFSClient will issue an actual write tx. This will reduce the number of writing tx on the last chunk with size < chunk_size, which requires read-modify-write and could be expensive.
flush(file_object): This will forcibly issue write transactions and synchronously wait until the transaction is finalized (i.e., included by a finalized block).
close(file_object): The operation will call flush(file_object) and destroy the file_object.
Advantages over HDFS/GFS
High availability
Consider the network adopts a BFT consensus that tolerates up to f byzantine failures with 3f + 1 full nodes
The network can continuously perform writing even f full nodes have byzantine failures;
For consistent read, as long as the DFSClient reads the metadata of the file in the LAST_FINALIZED_BLOCK from the network and read the content of the file from a full node with LAST_FINALIZED_BLOCK, the network will continue serving reading. Suppose a reader needs to read at least f + 1 full nodes to determine LAST_FINALIZED_BLOCK, read operation can tolerate 2f byzantine failures;
If the consistency of read can be relaxed, the DFSClient may just read the metadata of the file in the last FINALIZED_BLOCK from any node and read the content of the file from the same full node, the network will continue serving reading until all full nodes are down.
High data integrity
Given the position of the data to be validated (filename, offset, len), the node could validate the integrity of the data as follows (assuming the LAST_FINALIZED_BLOCK and its hash is valid (agreed by consensus)):
Read the metadata of the file from the state_trie_hash of LAST_FINALIZED_BLOCK, and validate all cryptographic proofs that the metadata is indeed in the state_trie.
Read the chunk_info’s from the chunk_info_trie_hash in the metadata, and validate all cryptographic proofs that the chunk_info’s are included in the chunk_info_trie.
Read the data chunk for each chunk_info, and verify that each data chunk is included in the corresponding blocks.
Validate the blocks containing the data chunks are part of the history of the ledger (i.e., previous blocks of LAST_FINALIZED_BLOCK)
Note that obtaining cryptographic proofs of steps 1–3 only traverses O(log(|tree|)) elements in the Merkle tree, while for step 4, a standard hashed linked list of blocks may take linear time to cryptographically verify if a block is ahead of LAST_FINALIZED_BLOCK in the ledger. An improvement can be done by using a Merkle tree accumulator to store all the blocks as also adopted by Facebook Libra, and as a result, verifying the block relationship can be done in O(log(|blocks|)) time.
Highly trustworthy storage for clients
A writer can check the integrity of the written data according the cryptographic proofs of the blockchain without trusting the node that writes the data. For readers, assuming no writer challenges the proofs, any reader could use the proofs and verify such integrity and immunity of data from any node. Again, a reader only needs to trust the consensus and the ledger instead of a specific node. As a comparison, for traditional systems such as HDFS/GFS, we have to trust the systems are properly implemented and operated (e.g., a chunk of a file in a datanode in HDFS is corrupted (with checksum disabled) or the datanode is hacked, and the DFSClient has no way to verify the corrupted data after reading the chunk from the datanode).
Scalability
Scalability on Storage
To scale storage, a full node can be implemented as a cluster (server farms) and the block can be distributedly stored on the servers in the cluster. The cluster may or may not implement HA. If an HA feature is implemented, the full node itself may replicate the blocks to multiple servers in the cluster.
Scalability on Read
Similar to HDFS/GFS, scalability on read can be achieved in the way that a full node will respond to a data chunk read request with an IP address of the server that stores the actual data chunk in the cluster, and the following data read operation will be performed on that server instead of the full node itself.
Scalability on Write
All full nodes must reach the same view on all the blocks, and if the amount of requests of write operation is high and the blocks are large, synchronizing the blocks among the full nodes may be costly or even prohibited. To optimize write performance, we could have the following optimizations:
(Transaction Submit Optimization). Instead of submitting the write transactions to the full node, a full node can instruct a DFSClient with a server in the cluster that receives the write transactions.
(Transaction Broadcast Optimization). Conventional public blockchain network using Gossip protocol to broadcast transactions, which create extra traffic and is inefficiency. For a private/consortium blockchain, we could implement a pipeline protocol between the full nodes, where each full node assigns a server in its cluster to receive a write transaction and forwards the write transaction to another server in the next cluster in the pipeline similar to HDFS/GFS does.
(Block Broadcast Optimization). When broadcasting a valid block, a block producer may assume most of the write transactions are already synchronized among full nodes, and thus it will only broadcast a compact version of the block where all transactions are replaced by their hashes in the compacted block. Upon receiving a compacted block, a node will check the existence of the transactions in the cluster, and if a transaction is missing, the node will instruct one of its servers to download the transaction from the peer. As a result, if multiple transactions are missing, downloading the missing transactions can be done in a parallel fashion.
(Parallel Blockchains). Multi-chain/Sharding technology can be employed to increase the throughput and storage capacity (such as Boson Consensus). One extreme case is that each file is represented by a chain and a root chain only collects the hashes of the updated tips of the sub-chains for newly changed files.
Further Enhancements
Mutual exclusion between writers upon open: When opening a file for write or create operation, the operation will be prohibited if the file has already been open for write by another writer.
Deletion: Support delete(file_object). This operation prevents the file from opening, but the content of the file may still be accessible in the blockchain ledger.
Access control: The network can define the access (read/write) rights of each file.
Directory: Directory objects can be implemented in addition to file objects.
Multiple writers: We may allow multiple writers that append to a file concurrently. If multiple appends are called by multiple writers, we only ensure that the append is atomic (i.e., the appended data will not be interleaved by other data) if the data size is smaller than a threshold (e.g., chunk size).
Write-any semantics: Support write(file_object, buf, offset, len) operation. Note that any write operation with len greater than a threshold may not be atomic if multiple writers write the same part. Similarly, truncate(file_object) operation may also supported.
Quota management: The system can limit the space used by a user and prevent spamming.
Garbage collect (GC): Garbage data on blocks may be produced if a), A file is deleted; or b) A write transaction overwrites the last chunk of the previous write transaction, and thus the overwritten last chunk can be discarded. To discard the garbage and reclaim the storage, a GC can be implemented by creating a new block that reclaims the space of the first unGCed block. This will replay the transactions of the first unGCed block (starting from genesis block) by updating the chunk_info trie accordingly without performing actual write. This will also increase the index of the first unGCed, which can be written in a field in the block header.
Further Extensions
We may extend the idea to the blockchain as a distributed key-value store (BaaDKYS).

Qi Zhou
Follow
Creator of QuarkChain

Pages: [1]
ETH & ERC20 Tokens Donations: 0x2143F7146F0AadC0F9d85ea98F23273Da0e002Ab
BNB & BEP20 Tokens Donations: 0xcbDAB774B5659cB905d4db5487F9e2057b96147F
BTC Donations: bc1qjf99wr3dz9jn9fr43q28x0r50zeyxewcq8swng
BTC Tips for Moderators: 1Pz1S3d4Aiq7QE4m3MmuoUPEvKaAYbZRoG
Powered by SMFPacks Social Login Mod