Pages:
Author

Topic: Idea about a new blockchain (Read 479 times)

newbie
Activity: 25
Merit: 1
July 16, 2018, 02:16:22 AM
#55
We decided to create a tiny ICO to fund the project, let's hope this can help us (myself working full time and 3 devs working part time in the project) raise funds to work full time and deliver the main net as soon as possible.

https://bitcointalksearch.org/topic/m.42267403
newbie
Activity: 210
Merit: 0
July 04, 2018, 05:15:13 AM
#54
Yes, I think for what you do, the monetary part is in fact very important. I'm not sure if we talked about it before, but do you think about using an existing Blockchain as a base layer, like Ethereum. As a technological advancement, the state should be able to make it happen
hero member
Activity: 994
Merit: 513
July 04, 2018, 05:09:54 AM
#53
Quick update, I managed to talk to 2 more developers, I explained my idea and they liked it. We're talking what is needed to build a prototype and then a testnet.

I think Andromeda is finally taking shape. Thanks to anyone who helped in this thread, has been of huge value.

Will keep you guys posted.

Nice!

Let me know if I can be of help. My abilities are coming up with solutions for problems that don't exist and then poking holes in those solutions Cheesy

I can also try to make a logo or something...
newbie
Activity: 25
Merit: 1
July 04, 2018, 01:48:23 AM
#52
Quick update, I managed to talk to 2 more developers, I explained my idea and they liked it. We're talking what is needed to build a prototype and then a testnet.

I think Andromeda is finally taking shape. Thanks to anyone who helped in this thread, has been of huge value.

Will keep you guys posted.
newbie
Activity: 25
Merit: 1
July 04, 2018, 01:46:04 AM
#51


You should explore some of the EOS ideas, it's pretty amazing


EOS is bullshit riding on the blockchain wave.

If you think EOS is "pretty amazing", I suggest you take a closer look at why the hell blockchains exist in the first place.

Well said, if anyone think EOS is the answer then most likely they are asking the wrong question.
hero member
Activity: 994
Merit: 513
June 26, 2018, 04:14:11 AM
#50
Looks like the_zhang_wei has been absent for some time, but my head is still working... I am not sure whether you would need a Ethereum style monetary backbone at all, if you get the incentives correctly. This goes beyond the scope of this project, but it's something I'll be spending some time on.

I'm back, I've been spending my time building a prototype and thinking how to fund the project to go full time doing it to get at least a maintest out quickly.

I quickly realized that having multiple chains is great (one per blockchain), but it could happen in the near future after after the main-net launches.

I think the monetary is essential to incentivize miners to secure the network.


Yes, I think for what you are working on, a monetary part is in fact essential. I'm not sure whether we talked about this before, but did you think about using an already existing Blockchain as a base layer, like Ethereum?

Admittedly, I have no idea if and how that would work, but it would solve the whole "why does the token have value?" problem.



You should explore some of the EOS ideas, it's pretty amazing

EOS is bullshit riding on the blockchain wave.

If you think EOS is "pretty amazing", I suggest you take a closer look at why the hell blockchains exist in the first place.
newbie
Activity: 74
Merit: 0
June 26, 2018, 01:26:18 AM
#49

You should explore some of the EOS ideas, it's pretty amazing
newbie
Activity: 25
Merit: 1
June 25, 2018, 11:30:22 PM
#48
Looks like the_zhang_wei has been absent for some time, but my head is still working... I am not sure whether you would need a Ethereum style monetary backbone at all, if you get the incentives correctly. This goes beyond the scope of this project, but it's something I'll be spending some time on.

I'm back, I've been spending my time building a prototype and thinking how to fund the project to go full time doing it to get at least a maintest out quickly.

I quickly realized that having multiple chains is great (one per blockchain), but it could happen in the near future after after the main-net launches.

I think the monetary is essential to incentivize miners to secure the network.
hero member
Activity: 994
Merit: 513
June 24, 2018, 08:33:17 AM
#47
Looks like the_zhang_wei has been absent for some time, but my head is still working... I am not sure whether you would need a Ethereum style monetary backbone at all, if you get the incentives correctly. This goes beyond the scope of this project, but it's something I'll be spending some time on.



I've been thinking about this a bit now. I am aware of projects like Hyperledger, but all non-monetary blockchains I know of are private, because they obviously are vulnerable.

In classic blockchains, the monetary part is extremely important to support network security; messing with the blockchain is extremely expensive.

Private blockchains solve this problem by only allowing certain actors to write blocks. Bad actors can therefore be identified and shut out.

I think there are ways to make non-monetary, open blockchains work. I haven't come around to writing my ideas down, but with some luck, I'll have some time in the next months.

What I would like to know is, are there other projects working on something like this?
hero member
Activity: 994
Merit: 513
June 08, 2018, 01:51:33 PM
#46
(…)

 * It will give value to the native currency (otherwise it would be needed only for creating smart contract).
  * If someone don't care about the native currency, they still have the chance to use our blockchain to persist data. I believe choice is important here, you can either pay or waste some CPU time. I think that's fair.

(…)

Yes, this is something I ponder as well. After all, with a focus on the possibility that you don't have to pay for stuff, there is definitely a problem with giving the token value.

Maybe the ability to pay for TXs instead of using Gas-PoW is enough, but as I said before, I think this will create a problem: There's going to be times, where it is just faster to send a regularly paid TX, while I doubt that this will happen with Gas-PoW.

I have no idea how much of  problem this is going to be, but a possible solution would be to have rules which define the maximum allowed regularly paid TXs; I think you won't need an upper limit for Gas-PoW TXs, because they will always be cheaper.

Here is another problem with the way I described it above and that I just might not understand correctly:

I was thinking that maybe, a Gas-PoW TXs can provide more PoW-coupons per TX, but that won't work. If you have a "max coupons per Block" rule, compared to the maximum gas rule, for a miner, there is no financial difference between taking 100 TXs with 100 coupons each, or 1000 TX with 10 coupons each.

How does Ethereum solve this? Don't they have the same problem?

Quote
Your feedback is so important! Thank you!

Thank you Smiley

But I think it is important to somehow get more people on board. I have no idea how to do this, but this forum obviously doen't work; there's just the two of us having a conversation in the open and nobody else seems interested.
newbie
Activity: 25
Merit: 1
June 06, 2018, 11:56:55 PM
#45
I guess I've been thinking about this thing way too long now, especially since there's other stuff I have to work on Tongue

Anyway, here are some more thoughts:

The following might not be a problem at all, but it's still something to consider.

I think giving users the ability to choose whether they want to pay via Gas-PoW or pay a regular fee might turn into a problem, because it will be very hard to find a way to keep this fair. When blocks get full eventually, users will start to pay higher fees to get into blocks, while with the PoW, there is no such option, at least not if you follow my model (So maybe it wasn't such a good idea after all). You could make a variation, where users could offer more coupons per TX to have their TX processed faster, but that doesn't scale very well. You can't process, say, hundred thousands of Gas-PoW-coupons per block, because the overhead would eat too much into the blockspace. But if a standart TX would only have one Gas-PoW-coupon as a minimum, to provide more coupons to get processed faster would mean you'd have to double the PoW time. After that, the increments get smaller, obviously, but regular fees would still scale better.

Yes, the PoW-Gas would be small, like maybe 40 hexa digits? And people can include more than one coupon if they need more gas for their transaction. The innovation here is the PoW-Gas to Gas itself (almost forgot the way the blockchain is organized into sub-chains per smart-contract).

I'm not complete sure if the pay with gas (and therefore $Perseus) should be included, I think it should be for two reasons:

  * It will give value to the native currency (otherwise it would be needed only for creating smart contract).
  * If someone don't care about the native currency, they still have the chance to use our blockchain to persist data. I believe choice is important here, you can either pay or waste some CPU time. I think that's fair.

Quote
Yes, having a small fixed block reward might be a good idea. I think I wouldn't make it bigger than 10% of the maximum possible blockreward.

I think that's reasonable. I need to find time to update the whitepaper. Your feedback is so important! Thank you!
hero member
Activity: 994
Merit: 513
June 03, 2018, 03:09:17 PM
#44
I guess I've been thinking about this thing way too long now, especially since there's other stuff I have to work on Tongue

Anyway, here are some more thoughts:

The following might not be a problem at all, but it's still something to consider.

I think giving users the ability to choose whether they want to pay via Gas-PoW or pay a regular fee might turn into a problem, because it will be very hard to find a way to keep this fair. When blocks get full eventually, users will start to pay higher fees to get into blocks, while with the PoW, there is no such option, at least not if you follow my model (So maybe it wasn't such a good idea after all). You could make a variation, where users could offer more coupons per TX to have their TX processed faster, but that doesn't scale very well. You can't process, say, hundred thousands of Gas-PoW-coupons per block, because the overhead would eat too much into the blockspace. But if a standart TX would only have one Gas-PoW-coupon as a minimum, to provide more coupons to get processed faster would mean you'd have to double the PoW time. After that, the increments get smaller, obviously, but regular fees would still scale better.

Quote
Quote
Solving this would mean to either give certain types of TXs one type of payment, not two, or dedicate certain percentages of the blockspace to different payment types. This would still mean that if the coupon half is full, a user could send with a regular fee to get it resolved faster, but this wouldn't make them both interfere.

This is a super interesting idea, now I see your point and I like it. I think it should have a fixed (say 5) block reward to bootstrap the network then it should reduce that to the amount of fees (feeds + PoW-gas fees) * 10 (up to 5). By doing so miners will forced to process as much transactions as possible per block.

Yes, having a small fixed block reward might be a good idea. I think I wouldn't make it bigger than 10% of the maximum possible blockreward.

Quote
Quote
maybe I'm not very familiar with the technology you are talking about, but as good as any ideas and technology that we create, if without the support or permission from the government then I'm sure will be futile. whether it can be mass adopted while the government does not recommend it?

I'm an anarchist. I'm never going to work with a government. If you like those kind of projects (Sponsored from a government and centralized) you can invest into $NEO.

I'm pretty sure that was just a "need to reach my weekly post count to get my signature bounty" post with little to no meaningful thought put into it, but props for the answer anyway Grin

newbie
Activity: 25
Merit: 1
June 03, 2018, 12:46:10 AM
#43
Ok, I think you explained everything this time, little to no questions remaining Smiley

(…)

Quote
- The block reward is * + .

This is also correct. Miners will be rewarded with block reward, all the fees, and all the fees generated by the Gas-PoW.

(…)

I would consider a different approach: The block reward should be equal to a base number multiplied by the "coupons" of the Gas-PoW.

Let's say, you want a maximum block reward of 50 Perseus per block and you have a maximum of 10 000 Gas-PoW-coupons per block, the block reward would be calculated like

(*0,005)+

Having a fixed block reward plus fees has no advantages. In fact, this could lead to miners mining empty blocks, as it is happening from time to time on the BTC chain.


This is a super interesting idea, now I see your point and I like it. I think it should have a fixed (say 5) block reward to bootstrap the network then it should reduce that to the amount of fees (feeds + PoW-gas fees) * 10 (up to 5). By doing so miners will forced to process as much transactions as possible per block.

Quote
maybe I'm not very familiar with the technology you are talking about, but as good as any ideas and technology that we create, if without the support or permission from the government then I'm sure will be futile. whether it can be mass adopted while the government does not recommend it?

I'm an anarchist. I'm never going to work with a government. If you like those kind of projects (Sponsored from a government and centralized) you can invest into $NEO.
jr. member
Activity: 294
Merit: 1
June 02, 2018, 08:55:36 AM
#42
maybe I'm not very familiar with the technology you are talking about, but as good as any ideas and technology that we create, if without the support or permission from the government then I'm sure will be futile. whether it can be mass adopted while the government does not recommend it?
hero member
Activity: 994
Merit: 513
June 02, 2018, 08:41:05 AM
#41
Ok, I think you explained everything this time, little to no questions remaining Smiley

(…)

Quote
- The block reward is * + .

This is also correct. Miners will be rewarded with block reward, all the fees, and all the fees generated by the Gas-PoW.

(…)

I would consider a different approach: The block reward should be equal to a base number multiplied by the "coupons" of the Gas-PoW.

Let's say, you want a maximum block reward of 50 Perseus per block and you have a maximum of 10 000 Gas-PoW-coupons per block, the block reward would be calculated like

(*0,005)+

Having a fixed block reward plus fees has no advantages. In fact, this could lead to miners mining empty blocks, as it is happening from time to time on the BTC chain.

newbie
Activity: 25
Merit: 1
June 01, 2018, 11:56:03 PM
#40
I could imagine something like this:

- Every block can hold a maximum number of coupons*.

Agree. In Ethereum there is a max number of 'gas' per block. Andromeda is introducing a PoW to 'gas'. So that limitation is already in place.  Let's assume that 10,000 transactions per block.

Can a pool of miners generate 10,000 random calls to a smart contract to fill up the blocks? Yes but...

 * It's risky, generate 10,000 PoW would take a lot of CPU time.
 * They are not 100% sure they would "cash out" that PoW. Only the miner which found the block can claim those fees generated by the PoW.

Just to be absolutely sure we're on the same page let's have some concepts clear:

  * Miner PoW: It's what Bitcoin/Ethereum miners do. Secures the network. Makes each block 'read only'.
  * Client PoW (I think it should be named Gas-PoW): It's a proof that the client have the right to interact to a smart contract. It's a proof the user is doesn't want to pay with $Perseus but they spend 20 - 30 seconds calculating something. It takes less then a microsecond to verify if the user indeed spend that amount of CPU or not.

Quote
- The block reward is * + .

This is also correct. Miners will be rewarded with block reward, all the fees, and all the fees generated by the Gas-PoW.

Quote
So, a miner would want to have as many coupons per block as possible.

*I would make a difference between TXs and coupons, because I think it's very probable that different types of TXs will have different sizes, different difficulties and so on. YOu wouldn't want miners to favor some TXs over others due to their complexity, so you'd hve to find a system that provides more rewards per TXs for more complex TXs.

That's already solved by Ethereum with the 'gas' concept. If your smart contract will do a lot more, you need to pay more gas. Andronema is only introducing a PoW to gas. Say, you call a very "expensive" function in a smart contract, perhaps you would need to calculate two or three Gas-PoW hashes. That's alright if you have a modern computer. You would also have the option to just pay.
hero member
Activity: 994
Merit: 513
June 01, 2018, 05:14:56 PM
#39
Yes, what you describe is quite clear. Miners will have an incentive to include TXs of others because they weren't required to do the work, so it's basically "free" for them.

Maybe what I was trying to point out is too obvious, but the PoW provided by the senders, not the miners, is pretty much worthless from the moment they broadcast it. So, miners still have to mine "traditionally", without the PoW of the senders being any help and you need a system that rewards the miners.

Thus, you need a second reward system to reward miners for including blocks. My questions are, 1.: How will that look like? Do you have a percentage going into a pool that gets distributed based on number of TXs/coupons every X blocks?

This looks like an answer:

(…)

Think of it like Ethereum and gas. But Andromeda will add a PoW to 'gas' algorithm. In Ethereum there is no block size limit but there is a 'gas' per block limit. That's reasonable I think.

(…)

I could imagine something like this:

- Every block can hold a maximum number of coupons*.

- The block reward is * + .

So, a miner would want to have as many coupons per block as possible.

*I would make a difference between TXs and coupons, because I think it's very probable that different types of TXs will have different sizes, different difficulties and so on. YOu wouldn't want miners to favor some TXs over others due to their complexity, so you'd hve to find a system that provides more rewards per TXs for more complex TXs.
newbie
Activity: 25
Merit: 1
June 01, 2018, 04:01:23 PM
#38
Quote

I still don't really see how this might play out in practice, maybe an example would help?

Scenario: A miner mines a block and includes 10 TXs with one PoW-coupon each. What is happening now?

An ethereum transaction looks like this:

 * nonce - transaction sequence number fr the sending account
 * gasprice - price you are offering to pay
 * startgas - maximum amount of gas allowed for the transaction
 * to - destination address (account or contract address)
 * value - eth to transfer to the destination, if any
 * data - all of the interesting stuff goes here
 * v - along with r and s makes up the ECDSA signature
 * r
 * s

Because we do not use Gas, the gasprice will be 0 and in the startgas a sequence of bytes will be included instead

 *
    * sha256() = must start with 5 or 6 zeros.
    * The needs to change until a hash with 5 or 6 leading zeros is found.
 
The main goal is to throttle, you need either to pay with gas or with a PoW hash.

Back to your question. Will miner create random transactions to claim the reward? I think so, at the beginning at least. They would have no incentives to keep doing so once the network have real activity. Remember:

 * It costs them time, the PoW would take at least 20 seconds per transaction
 * It is not reusable
 * It expires.

What would miners do with the transaction? They will execute it and after that they will claim the fees costs in $Perseus. Pretty much how gasprice and startgas are transformed to Ether in the etherum network.

If the transaction someone is trying to execute would need a lot of 'gas', they can always include two or even three PoW hashes.

Quote
Is there a simple "number of coupons per block" system, which forces miners to include a minimum number of TXs in a block to get the full block reward?

Is there a fixed payout per coupon and he would have earned more by including 11 TXs? So, would that mean that more or less coins will be created according to the number of TXs made?

Is there a payout pool and every X blocks, it gets divided between the miners of the last X blocks, according to the number of coupons they earned in that time?

In the two latter cases, you'll have a problem, which is, that not every PoW-coupon will be worth the same. TXs will be of different sizes and miners will have an incentive to include the smallest possible TXs, because they can get more coupons per block this way. Possible solutions are:

A maximum number of coupons per block.

Make it a "coupon per XX bytes TX size" system. Bigger TXs have to provide multiple coupons. This is still exploitable, because of thresholds. If you have a 0.5 kb TX and a 0.9 kb TX and both are one coupon, miners will try to generate as many 0.5 kb TXs as possible and will not include bigger TXs.

Yes, I think an expiration date is needed to prevent attacks. We will see what number makes the most sense, but I am somewhat afraid that there won't be a perfect magic number. Even if the algo is CPU-friendly, the system could still be attacked by renting a big amount of hashing power. You'd probably need some type of difficulty adjustment system for the PoW coupons, but when under atack, this might keep weaker devices (older smartphones) from being able to do PoW.

Think of it like Ethereum and gas. But Andromeda will add a PoW to 'gas' algorithm. In Ethereum there is no block size limit but there is a 'gas' per block limit. That's reasonable I think.

Quote
I think miners will include as many "real" TXs as possible, because they don't have to do the work. But at the same time, if they are unable to fill up a block with as many TXs as possible, they will miss out on coupons. So they will fill the empty space with TXs they generated themselves. I don't think this is a bad thing per se, it might even be easier to make this the only type of block reward.

I think it's fair, as long as someone is paying with CPU time, the miner who mine a block should collect the rewards.


I will try to update the paper with more in dept details this weekend. I couldn't do that earlier this week, I've been busy at work.
hero member
Activity: 994
Merit: 513
May 30, 2018, 04:00:54 AM
#37
Good start, I have some questions, though:

Thank you, your help is invaluable, the discussion really helps to sharp my idea.


Well, I hope you'll remember this when you've become a millionaire  Wink Grin


Quote
How does this coupon system work exactly? Is there a lottery, is there a reward-per-coupon-system? Redeeming the PoW as a classic PoW, with the miners being essentially pool operators and the senders contributing to the pool won't work.

It will be directly a reward per coupon system.

Let me define the Proof-of-work that is needed for interacting with the smart contracts. I'm talking about something that would take an average computer or an smart-phone 15 - 30seconds to calculate. It's not as nearly as intense as the miner's proof-of-work. It would probably be a CPU-friendly (GPU-unfriendly) algorithm, something like what $VRM has implemented.

The data they need to do the Proof-of-work onto will have reference to the last known head of the main chain, and the last known head of the smart-contract chain. There will be a threshold (~10 blocks?). By doing so, we make sure that the proof-of-work have an expiration date. So even if someone have "unlimited" CPU power, they would be able to calculate online a limited proof-of-work.


I still don't really see how this might play out in practice, maybe an example would help?

Scenario: A miner mines a block and includes 10 TXs with one PoW-coupon each. What is happening now?

Is there a simple "number of coupons per block" system, which forces miners to include a minimum number of TXs in a block to get the full block reward?

Is there a fixed payout per coupon and he would have earned more by including 11 TXs? So, would that mean that more or less coins will be created according to the number of TXs made?

Is there a payout pool and every X blocks, it gets divided between the miners of the last X blocks, according to the number of coupons they earned in that time?

In the two latter cases, you'll have a problem, which is, that not every PoW-coupon will be worth the same. TXs will be of different sizes and miners will have an incentive to include the smallest possible TXs, because they can get more coupons per block this way. Possible solutions are:

A maximum number of coupons per block.

Make it a "coupon per XX bytes TX size" system. Bigger TXs have to provide multiple coupons. This is still exploitable, because of thresholds. If you have a 0.5 kb TX and a 0.9 kb TX and both are one coupon, miners will try to generate as many 0.5 kb TXs as possible and will not include bigger TXs.

Yes, I think an expiration date is needed to prevent attacks. We will see what number makes the most sense, but I am somewhat afraid that there won't be a perfect magic number. Even if the algo is CPU-friendly, the system could still be attacked by renting a big amount of hashing power. You'd probably need some type of difficulty adjustment system for the PoW coupons, but when under atack, this might keep weaker devices (older smartphones) from being able to do PoW.



Quote
In either case, this will lead to the effect that every block will be full. If nothing else, miners will fill them themselves, just to not miss out on the rewards. This isn't necessarily a bad thing, just something to keep in mind.

I think those steps are good enough to encourage PoW from "real" users and discourage miners from filling the blocks.


I think miners will include as many "real" TXs as possible, because they don't have to do the work. But at the same time, if they are unable to fill up a block with as many TXs as possible, they will miss out on coupons. So they will fill the empty space with TXs they generated themselves. I don't think this is a bad thing per se, it might even be easier to make this the only type of block reward.
newbie
Activity: 25
Merit: 1
May 30, 2018, 12:06:14 AM
#36
Good start, I have some questions, though:

Thank you, your help is invaluable, the discussion really helps to sharp my idea.

Quote
How does this coupon system work exactly? Is there a lottery, is there a reward-per-coupon-system? Redeeming the PoW as a classic PoW, with the miners being essentially pool operators and the senders contributing to the pool won't work.

It will be directly a reward per coupon system.

Let me define the Proof-of-work that is needed for interacting with the smart contracts. I'm talking about something that would take an average computer or an smart-phone 15 - 30seconds to calculate. It's not as nearly as intense as the miner's proof-of-work. It would probably be a CPU-friendly (GPU-unfriendly) algorithm, something like what $VRM has implemented.

The data they need to do the Proof-of-work onto will have reference to the last known head of the main chain, and the last known head of the smart-contract chain. There will be a threshold (~10 blocks?). By doing so, we make sure that the proof-of-work have an expiration date. So even if someone have "unlimited" CPU power, they would be able to calculate online a limited proof-of-work.

Last but not least, the miners will get more rewards from the block rewards and fees than from smart contract execution.


Quote
In either case, this will lead to the effect that every block will be full. If nothing else, miners will fill them themselves, just to not miss out on the rewards. This isn't necessarily a bad thing, just something to keep in mind.

I think those steps are good enough to encourage PoW from "real" users and discourage miners from filling the blocks.

I will update the whitepaper with more technical details.

Quote
Where is the data of sidechains stored?

You mean internally? I think into two different databases (logically). One database would be the main chain, the other all the other blockchains. What matters the most is the main chain, because that has all the consensus.

Quote
How are those who store it incentivised to do so?

Miners (solo and pools) will have to have the entire database. Regular users will only need the mainchain and possible the smart-contract they care about. There is no real incentive for regular users to have the entire blockchains.
Pages:
Jump to: