Bitcoin Forum
October 05, 2024, 04:03:50 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 [2]
21  Bitcoin / Development & Technical Discussion / Re: Can you secure a sidechain with it's main chain? on: January 30, 2019, 05:04:31 AM
Hey so I am researching sidechains, I see how useful they can be for new coins that want to remain independent but still draw power from an already established network, but one problem I saw is that "Sidechains are responsible for securing their own network". Does this mean that it's impossible for a side chain to use the securing power of it's main chain to secure itself and it's transactions or is there a way around this?

Regardless of re-org rules. All nodes should reach consensus. This is the main point.
22  Bitcoin / Development & Technical Discussion / Re: Can you secure a sidechain with it's main chain? on: January 30, 2019, 04:57:08 AM
Hey so I am researching sidechains, I see how useful they can be for new coins that want to remain independent but still draw power from an already established network, but one problem I saw is that "Sidechains are responsible for securing their own network". Does this mean that it's impossible for a side chain to use the securing power of it's main chain to secure itself and it's transactions or is there a way around this?

Hey there. I did thought about the same thing. It should not be like that. look at my tweet to @TruthCoin

https://twitter.com/hosseamin/status/1090459542364848133

Edit: I'm wrong here,

Take a look at page to for the explanation
23  Bitcoin / Development & Technical Discussion / Re: Speed up syncing of bitcoin core when the blockchain becomes colossal on: January 29, 2019, 09:54:03 PM
Chips are cheap for one.

Quote

Or we can offer our Clarke ASIC chip 90 GH/s, 75mJ/GH at USD 3.50 per chip.


I made an enquiry as to the price of a bit fury chip. A while ago.



That's mining chip. ASIC (Application Specific Integrated Circuit). It's only for mining. Doing it for validation needs alot more capital. Some estimated about 100mUSD.
24  Bitcoin / Development & Technical Discussion / Re: Speed up syncing of bitcoin core when the blockchain becomes colossal on: January 29, 2019, 09:32:29 PM

I agree implementing GPU validation is the cheapest and simplest way to increase validation speed. I have limited experience on writing code for GPU. But I'm interested.

When I run a program on Windows it spossible to run the executable on a gpu. Given Linux has its talents of multitasking I'd have thought it already pushes that sort of process onto a gpu?

@carlton, isn't there something on the Intel instruction set that increases the efficiency of hashing algorithms also. I'm sure someone mentioned that a while back.

Baking ASICs for validating bitcoin would give the highest efficiency. There are two reason for not doing it.

1. ASIC cannot be changed once it's out there.
2. Cost of manufacturing an ASIC is not realistic at the moment. Also it may raise a security issue.

Instead using small compute units is the perfect solution to scale. It improves efficiency against a CPU core. And it's general purpose computing unit.
Look at the thread i did open. https://bitcointalk.org/index.php?topic=5103538.0
25  Bitcoin / Development & Technical Discussion / Re: Speed up syncing of bitcoin core when the blockchain becomes colossal on: January 29, 2019, 09:25:06 PM

I agree implementing GPU validation is the cheapest and simplest way to increase validation speed. I have limited experience on writing code for GPU. But I'm interested.

When I run a program on Windows it spossible to run the executable on a gpu. Given Linux has its talents of multitasking I'd have thought it already pushes that sort of process onto a gpu?

@carlton, isn't there something on the Intel instruction set that increases the efficiency of hashing algorithms also. I'm sure someone mentioned that a while back.

bitcoin scripting language should get ported to opencl. For it to be able to run on GPU. I'm sure we can find shortcuts to automate most of the process of porting.
26  Bitcoin / Development & Technical Discussion / Re: Speed up syncing of bitcoin core when the blockchain becomes colossal on: January 29, 2019, 07:03:03 PM
Storage I/O speed and network connectivity usually are the main bottleneck on most cases. Computational power bottleneck usually only happen on barebone PC (which have few cores and .5-2GB) such as Raspberry Pi, at least on initial sync, not when on full nodes.

Bitcoin core already use multi-core/thread for signature verification anyway & ASIC for hashing or/and signature verification only useful for initial sync as CPU should be good enough. IMO GPGPU / GPU acceleration is better and few core developer suggest it, but no one contribute to do it until now since it was suggested on 2013 (https://bitcointalk.org/index.php?topic=3238.msg1451582#msg1451582)

I agree implementing GPU validation is the cheapest and simplest way to increase validation speed. I have limited experience on writing code for GPU. But I'm interested.
27  Bitcoin / Development & Technical Discussion / Re: concurrent validation engine for bitcoin-core on: January 29, 2019, 06:07:13 PM
For anyone interested in manycores. Take a look at this site. http://bjump.org/manycore/
28  Bitcoin / Development & Technical Discussion / Re: con-current validation engine for bitcoin-core on: January 29, 2019, 04:19:29 PM
There are couple of reasons i see the validation process is done linearly. First of all leveldb (database of UTXO set) does not support multi-threading. And there are static variables defined inside `validation.h` keeping track of state of blockchain. Maybe I'm wrong.
The state of the blockchain must be updated synchronously and in order of blocks. Otherwise you will run into concurrent update issues which will affect consensus.

That's not a requirement to reach consensus. One can do so after evaluating asynchronously. And merging the result to take final decision.
This is certainly possible. The question is, Is it needed. As domob did point out. It will probably have no effect with current CPUs available. I reckon many cores can change the game. In which verification time of input coins are done faster than validating a block and fetching UTXOs.
If you validate blocks out of order, then a block may contain a transaction which spends an output that is in a block that you have not yet validated.

Merge process will take care of that. I have somewhat good understanding of how validation process is taking place. Same goes for child pays for parent.
29  Bitcoin / Development & Technical Discussion / Re: con-current validation engine for bitcoin-core on: January 29, 2019, 03:57:20 PM
There are couple of reasons i see the validation process is done linearly. First of all leveldb (database of UTXO set) does not support multi-threading. And there are static variables defined inside `validation.h` keeping track of state of blockchain. Maybe I'm wrong.
The state of the blockchain must be updated synchronously and in order of blocks. Otherwise you will run into concurrent update issues which will affect consensus.

That's not a requirement to reach consensus. One can do so after evaluating asynchronously. And merging the result to take final decision.
This is certainly possible. The question is, Is it needed. As domob did point out. It will probably have no effect with current CPUs available. I reckon many cores can change the game. In which verification time of input coins are done faster than validating a block and fetching UTXOs.
30  Bitcoin / Development & Technical Discussion / Re: concurrent validation engine for bitcoin-core on: January 29, 2019, 07:01:31 AM
Multiple cores are currently used at least for signature verification, which is the most compute-intensive process anyway (that's why more than one core is active during sync, as ETFbitcoin noticed).

I don't know how much additional speed could be extracted by making the coin lookup multi-core, but I imagine that this would be harder to do than signature verification because you need to potentially lock data structures.  Also if LevelDB does not already support multiple cores, it would be a bigger (and riskier) effort in replacing the entire database with another one.

So I believe that this project is likely not very useful, at least not for the effort involved.  And if you want to go forward still, I suggest that you provide actual numbers on how much further the speed could be improved (in addition to the already parallelised signature checking).

I see. That can kill this idea. Anyway at least i tried to talk about it.
31  Bitcoin / Development & Technical Discussion / Re: con-current validation engine for bitcoin-core on: January 29, 2019, 06:54:48 AM
It's true that Bitcoin Core only use CPU, but AFAIK it has multi-core/multi-threading support as all cores of processor on my PC have high load when i re-scan whole blockchain.

Based on my knowledge, your idea sounds good, but i don't see why you would need funding, unless you don't have decent PC or can't spare time knowing you can't make a living.

There are couple of reasons i see the validation process is done linearly. First of all leveldb (database of UTXO set) does not support multi-threading. And there are static variables defined inside `validation.h` keeping track of state of blockchain. Maybe I'm wrong.

Well. I'm new to bitcoin. I don't have much skin in the game. I'm just interested in the project. Want to figure out how the economy of development works out.
I can start my work to reach a proof-of-concept. I want to see if anybody interested in spending money on it.
32  Bitcoin / Development & Technical Discussion / concurrent validation engine for bitcoin-core on: January 29, 2019, 04:29:35 AM
Initial goal, speeding up bitcoin initial validation time based on number of available cores

Assuming bandwidth is not an issue for initial validation, I have a project in my mind to do this initially. And in future it lowers one aspect of scaling hurdles which is processing time for validation.

To achieve higher performance we need to expand the number of cores.
GPUs provide more cores, I think at the moment Nvidia has about 50 compute unit. Also it's cheap at the moment because of all these mining rigs.
And one can achieve even more performance by designing an SoC designed for search and cryptography operation. https://www.sifive.com/

At the moment bitcoin-core validation is taking place in a linear fashion. within a single core.

Here's what I'm thinking.

1. Implementing a new bitcoin specific con-current functional search engine

For validation, UTXO database is required. Which is a list of unspent coins. The search engine only requires to have integer for indexing and storing binary data for txid, public script and vout.
Simple sketch of it would be.
It should divide indexed data in multiple files within a range of integer associated with them. Which allows for each piece to work independently.
And fetch process can be done in bulk.
Write procedures are done periodically as re-write of indexed data.

2. Queue/Merge based managing core

I believe the best way to manage validation is to do each task in functional manner and manage it with putting tasks in queue and merging the result.
So for example when manage core receives a block, It holds state of each transaction and digest the block into input coins. And sends tasks to search and then validates coins with spending script then merges the result.

3. Passive block validation

Meaning validation will get into queue without the need for the previous block finish its job. By validating pow before doing this task, DoS attack won't be an issue.
In this form validation process are done asynchronously. Then final decision is taken by merging the result.


Let me know if you have any questions.
I'm looking for a method to fund this project. As i don't have enough capital to do it myself.
33  Bitcoin / Development & Technical Discussion / Re: "Why blockchain needs cryptocurrency?" on: August 17, 2018, 04:25:21 AM
If a blockchain has no currency attached to it. There's no need for the blockchain itself. You will get an empty ledger.

The right question would be. Can we attach an exiting national currency to a blockchain? Very unlikely.

First of all there's need for massive cooperation from current system.
What i would ask. Why we need one? Most of national currencies are already working digitally. IMO they're working just fine.


Bitcoin's birth was because of lack of trust on existing national currencies. It also helped removing restrictions existed/imposed to transact inter-nationally.
34  Bitcoin / Development & Technical Discussion / Re: Is blockchain really needed for security? on: August 17, 2018, 03:39:52 AM
Bitcoin's uses blockchain to keep track of bitcoin ledger in real-time. I don't think there's any other method for doing it, While keeping the system with no need for a central authority to determine what time is it and what has written on the ledger until now.

So what does it mean.

Imagine your bitcoin node stops working at some time for one day. And the next time it starts. It knows the ledger until yesterday. There's a network of nodes running on the internet. It tries to connect to one or more. And ask what happened. You can't trust strangers. So bitcoin's blockchain is here to help.
 
The function time is proof-of-work. It's designed to find a block every 10minutes. Which has a special feature, It can rollback in time (It's very UN-efficient, 51% attack can be done with this feature).
Each block contains a set of valid transactions. By attaching the previous block (-10min) to new block with proof-of-work function. blockchain is formed.

35  Bitcoin / Development & Technical Discussion / Re: bitcoin-like protocol change, solution for two problems on: November 29, 2017, 12:34:46 AM
HeRetiK, Thanks for replying.
Once again... how would this solve the blocksize issue? I probably misunderstand you, but the way you put it, it seems to me like you assume that burning coins would free up blockchain space?

I mean there's no need to put a fixed amount of block-size limit since blockchain is inherently limited. Then at the time of peak usage network should handle more txs. Amount for increasing subsidy can estimate how much network can handle in future....

I think you are mixing up monetary supply and block size limit.

monetary supply = capped at 21,000,000 BTC which get issued on a fixed rate per block and act as a miner subsidiary. This is merely an accounting value and has nothing to do with block size.

block size = "physical" filesize of the ledger entry that contains the transaction itself. Dependent on the amount of inputs and outputs, each transaction takes up a certain amount of "physical" space on the blockchain, independent of the amount that is transacted, paid as a fee or burned. The block size is limited in that the collection of transactions that make up a block can not exceed a certain filesize, as to keep blockchain growth -- the collection of files, not the accounting values -- on a viable scale.


Yes. I'm trying to mix them together. I didn't write a good initial-post. I'm not looking for re-creating the same rules or accounting system as bitcoin.
I understand more/less how bitcoin works. So i agree with what you say.

So i figured if there's specific format for pubkey-script. For example, p2sh + original host + checksum-of-file

1. Then user can edit/remove the file by spending the p2sh.
2. end-user can verify the file, So receiving it from any host will be fine.
3. Hmm, with HTTPS, caching files for ISP is no longer an option.
4. Each cloud user should have a server for doing fancy stuff. and making sure the integrity of files. It will reduce load on that server.

At that point you're not creating a decentralized cloud hosting provider but rather a file timestamping service... for which already multiple solutions exist, all of which are based on the Bitcoin blockchain:

https://opentimestamps.org/

https://app.originstamp.org/home

https://bitsig.io/howitworks/

(Disclaimer: I have no personal experience with any of these services so I can't speak for their legitimacy)

You are right there's a need for another network providing public cloud. But the issue it solves is agreeing on what exists at present. So it will trigger CREATE/UPDATE/DELETE commands. (Bitcoin has a secure network to solve a piece this puzzle)

Ah... got it. I don't think there's any protocol changes needed for that. You might actually be able to hack something together with Bitcoin's current scripting capabilities. After all this would be just sending meta-data over the Bitcoin blockchain, with some specialized client listening for specific commands. I don't see the benefit of using the Bitcoin blockchain as a command and control server for a filemanagement system though.

I did check bitcoin's code regarding to add some data to p2sh UTXO's, The network is rejecting it. It might be accepted by protocol.
Only way to add data is by. OP_RETURN, Which makes that UXTXO UN-spendable.
The thing I'm trying to achieve is let users have ability to UPDATE/DELETE or verify ownership by providing a signature for that p2sh which is bundled to it.
36  Bitcoin / Development & Technical Discussion / Re: bitcoin-like protocol change, solution for two problems on: November 28, 2017, 11:36:53 PM
Mate what you saying is not possible, if you don't pay enough fees miners will just mine empty blocks, Bitcoin network can function without any

Transactions, paying a fixed fee will force miners to mine small blocks.  Lack of intrinsic value> you can either have contractual value or intrinsic value

Can't have them both mate.

There's a way to force miners accepting all txs by determining best chain, as longest and with most lost coins relative to subsidy at that point.
37  Bitcoin / Development & Technical Discussion / Re: bitcoin-like protocol change, solution for two problems on: November 28, 2017, 11:21:41 PM
Quote
1) How is burning coins for transactions on one side, while releasing an equal amount of subsidy on the other side different from simply paying a transaction fee? If you burn 100 Satoshis per transaction, but inflate the subsidy by... say... 100 Satoshis per transaction, you just added extra steps without achieving anything.

2) How does this affect blockchain size?

1. First reason i would say It's good thing. We can make sure how much storage is needed for blockchain. Thus there's no need to put limit in blocksize.
2. subsidy will be fixed but inflationary instead of halving so more data can be written in blockchain over time.
3. Though it may not be a good idea for being currency.

Once again... how would this solve the blocksize issue? I probably misunderstand you, but the way you put it, it seems to me like you assume that burning coins would free up blockchain space?

I mean there's no need to put a fixed amount of block-size limit since blockchain is inherently limited. Then at the time of peak usage network should handle more txs. Amount for increasing subsidy can estimate how much network can handle in future....

Quote
4) How would this enable Bitcoin to become some sort of decentralized cloud provider? (assuming you even want this from Bitcoin in the first place)

So i figured if there's specific format for pubkey-script. For example, p2sh + original host + checksum-of-file

1. Then user can edit/remove the file by spending the p2sh.
2. end-user can verify the file, So receiving it from any host will be fine.
3. Hmm, with HTTPS, caching files for ISP is no longer an option.
4. Each cloud user should have a server for doing fancy stuff. and making sure the integrity of files. It will reduce load on that server.

At that point you're not creating a decentralized cloud hosting provider but rather a file timestamping service... for which already multiple solutions exist, all of which are based on the Bitcoin blockchain:

https://opentimestamps.org/

https://app.originstamp.org/home

https://bitsig.io/howitworks/

(Disclaimer: I have no personal experience with any of these services so I can't speak for their legitimacy)

You are right there's a need for another network providing public cloud. But the issue it solves is agreeing on what exists at present. So it will trigger CREATE/UPDATE/DELETE commands. (Bitcoin has a secure network to solve a piece this puzzle)
38  Bitcoin / Development & Technical Discussion / Re: bitcoin-like protocol change, solution for two problems on: November 28, 2017, 10:38:00 PM
Hi everybody, Thanks for responding.

First of all i figured I'm terrible at explaining things Smiley

1. I'm not trying to change the bitcoin rules. (fork was the original idea, Not like bcash)
2. Regarding "Intrinsic value" i wasn't trying to oppose to bitcoin. I agree with you. I'll explain why i said that.


Quote
1) How is burning coins for transactions on one side, while releasing an equal amount of subsidy on the other side different from simply paying a transaction fee? If you burn 100 Satoshis per transaction, but inflate the subsidy by... say... 100 Satoshis per transaction, you just added extra steps without achieving anything.

2) How does this affect blockchain size?

1. First reason i would say It's good thing. We can make sure how much storage is needed for blockchain. Thus there's no need to put limit in blocksize.
2. subsidy will be fixed but inflationary instead of halving so more data can be written in blockchain over time.
3. Though it may not be a good idea for being currency.

Quote
3) How does this add the intrinsic value that you perceive as missing?

I meant if the coin's value becomes zero in respect to others. You can put some data to the blockchain. It might be a silly discussion. So i take it back.

Quote
4) How would this enable Bitcoin to become some sort of decentralized cloud provider? (assuming you even want this from Bitcoin in the first place)

So i figured if there's specific format for pubkey-script. For example, p2sh + original host + checksum-of-file

1. Then user can edit/remove the file by spending the p2sh.
2. end-user can verify the file, So receiving it from any host will be fine.
3. Hmm, with HTTPS, caching files for ISP is no longer an option.
4. Each cloud user should have a server for doing fancy stuff. and making sure the integrity of files. It will reduce load on that server.

Quote
Regarding 4) you should probably look into IPFS / Filecoin, Storj and MaidSafe, they might be of interest for you.
I didn't look at those in depth. I guess they didn't do it this way. (Filecoin, Storj for sure)


I may be wrong. Please tell me what you think. So i won't spend my time for nothing....
39  Bitcoin / Development & Technical Discussion / bitcoin-like protocol change, solution for two problems on: November 28, 2017, 12:19:29 AM
I'm not just talking about bitcoin as currency.

Here are two problems.

- Lack of Intrinsic value
- High fees due to block-size limit

Okay here's how i think it can achieve that.
 
1. All tx should burn some coin depending on tx size, (One(satoshi) coin will be equal to one byte) to put the tx in blockchain (cost of usage).
2. Subsidy should be inflationary due to burn of coins at usage. also it will define limit of blockchain size

Also this kind of bitcoin can also be used as public and open data store (what cool boys call it public cloud).

Then delivery of data can be a tool for earning revenue from consumer (ISP are doing it, but it will be cheaper for them) or the other way around.

What do you think?
Pages: « 1 [2]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!