Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: the_zhang_wei on May 21, 2018, 09:49:56 PM



Title: Idea about a new blockchain
Post by: the_zhang_wei on May 21, 2018, 09:49:56 PM
Hello,

Lately I've been thinking in creating a new blockchain but I decided to share the reason why before doing it.

I firmly belive that what's holding great platforms such as Ethereum (and their clones) from massive adoption is the gas price which is paid in Ethereum. I believe that having to pay a 'fee' to interact with the ledger is incovenient
  • Buying ETH with a credit card is complex, expensive and annoying
  • Most people don't want to register into 3 or 4 pages to buy crypto

I think fees are fair is you want to transfer value, for instance sending ether from one address to another. I don't think it is fair to interact with smart contracts.

I know that fees are also to prevent spam attacks.

I'm thinking in creating a new cryptocurrency, similar to Ethereum, but does not require 'gas' to be paid in the currency.

Things that will be free:
  • Interact with smart contracts
  • Create transactions with `0` of the native currency.

Things that will require a 'fee' to be paid:
  • Transfer the native currency
  • Create smart contacts.


Why do we need this?

I think we need an ubiquitous blockchain, free to use, in which developers can create mainstream applications. For instance, move centralized applications to a blockchain. Think of a Twitter-clone running entirely on the blockchain. It cannot happen in the Ethereum network because of the `gas`.

If this seems a good idea I will discuss in further details how I'm planning to prevent spam, reward miners (beside the block reward itself).

Cheers,
Zhang

PS: Please excuse any typos, English is not my first language.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 21, 2018, 09:56:32 PM
I can't imagine a way to prevent spam without some type of fee. You could do something like a PoW to let someone interact with a smart contract, which might be neat, but that is just a hidden fee.

Another way might be permissioned smart contracts, where you'd need "tickets" to interact with them, which could be granted to certain addresses… Or bought, so back to a fee then.

I see you point, I just don't see a good solution. I'm interested, though.


Title: Re: Idea about a new blockchain
Post by: Mi5h0 on May 21, 2018, 10:01:23 PM
Have you explored the idea of an EOS platform? I think, interacting with the blockchain will be free for end users on the EOS.



Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 21, 2018, 10:02:45 PM
I can't imagine a way to prevent spam without some type of fee. You could do something like a PoW to let someone interact with a smart contract, which might be neat, but that is just a hidden fee.

Another way might be permissioned smart contracts, where you'd need "tickets" to interact with them, which could be granted to certain addresses… Or bought, so back to a fee then.

I see you point, I just don't see a good solution. I'm interested, though.


You nailed it. My idea is rather simple. PoW on your transaction.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 21, 2018, 10:11:11 PM
Have you explored the idea of an EOS platform? I think, interacting with the blockchain will be free for end users on the EOS.



EOS does not exists yet. And when it does it will be super centralized. Think of it on a VISA-like company own by ~20 something nodes. Not for me, thank you.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 21, 2018, 10:12:11 PM
I can't imagine a way to prevent spam without some type of fee. You could do something like a PoW to let someone interact with a smart contract, which might be neat, but that is just a hidden fee.

Another way might be permissioned smart contracts, where you'd need "tickets" to interact with them, which could be granted to certain addresses… Or bought, so back to a fee then.

I see you point, I just don't see a good solution. I'm interested, though.


You nailed it. My idea is rather simple. PoW on your transaction.

Hmm, this might be an interesting idea indeed, but how do you determine the amount of PoW needed? You'll have to set it rather high to prevent spam – interacting with a smart contract from a smartphone will likely not be possible, unless you rent computing power.

I don't want to come off too much as a Negative Nelly here, because I like new ideas and new approaches, but you have to ask the hard questions before they are your downfall.


Title: Re: Idea about a new blockchain
Post by: d5000 on May 21, 2018, 10:30:56 PM
I think fees are fair is you want to transfer value, for instance sending ether from one address to another. I don't think it is fair to interact with smart contracts.
The problem is that one of the main bottlenecks of blockchains is space, and every "non-value" transaction use space, too, so charging a fee for it is fair.

PoW is just another kind of fee (if it should be effective in spam-reduction, then the electricity costs needed to create the PoW should be as high as a standard transaction fee. Otherwise, you could simply charge a smaller fee and have the same anti-spam effect as with a "easy PoW".).

A more "sustainable" solution could be ledger pruning. For interactions which are not important for the state of the blockchain, the message that interacted with the contract would be pruned after it has achieved its purpose. Such a system (albeit without smart contracts) is used, for example, in NXT/Ardor. Burst uses NXT's pruned transactions and supports turing-complete smart contracts, but it charges a mandatory fee, so it's also not ideal.

The Ardor child-chain feature could also be a solution if adapted to a chain with support for turing-compĺete smart-contracts, because it allows different asset types in separate "child-chains" which don't bloat the main chain and can be pruned, and in these "child-chains" transactions are not charged a main-chain fee. So there could be a specific "child-chain" for smart contract interaction.

There's currently  - to my knowledge - no blockchain supporting all needed features (solution: fork Burst, adapt Ardor's child-chains and thrash the mandatory fee?).

The "pruning" solution is not a complete solution - analyzing it deeply, the validation work (the other blockchain scalability bottleneck besides space) would not be lowered by it. However, the space saved by pruning could be enough to allow very-low-fee or even fee-less transactions.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 21, 2018, 10:33:07 PM
I can't imagine a way to prevent spam without some type of fee. You could do something like a PoW to let someone interact with a smart contract, which might be neat, but that is just a hidden fee.

Another way might be permissioned smart contracts, where you'd need "tickets" to interact with them, which could be granted to certain addresses… Or bought, so back to a fee then.

I see you point, I just don't see a good solution. I'm interested, though.


You nailed it. My idea is rather simple. PoW on your transaction.

Hmm, this might be an interesting idea indeed, but how do you determine the amount of PoW needed? You'll have to set it rather high to prevent spam – interacting with a smart contract from a smartphone will likely not be possible, unless you rent computing power.

I don't want to com off too much as a Negative Nelly here, because I like new ideas and new approaches, but you have to ask the hard questions before they are your downfall.

I posted here exactly for that. For the hard questions. I won't do any single of code unless it makes complete sense.

I think the 'gas' approach that Ethereum has is the correct way of doing. I just don't think gas should come from ether, but rather by showing some PoW that you have done. I haven't thought on too much detail, but I my idea is to perform more than PoW task if needed.

To avoid cheating the PoW should has:

  • A reference (hash) to the last known header (there should be a threshold for 10 or 20 last header). This to prevent doing PoW in parallel to spam the network. The PoW that people do have an expiration date.
  • The hash of your transaction (Before the signature, the whole block should be signed). If your transaction needs a lot of gas, you can simple perform two or more PoW hashes..
.

From the top of my head I think the format could be something like

<previous_hash_or_null>:<hash_of_any_of_the_last_20_blocks>:<my_transaction_hash_(without signature>:<nonce>

The goal is to find a hash with 4 or 5 zeros (sha256). And each PoW block should have a fixed gas value.

The PoW is attached to your transaction, and it can have 0 or more. In case you're transferring the native currency, it should have none because you should pay a fee (like in Ethereum).

It should also be optional, if you can't or don't want to do any PoW, you can always pay a 'fee'.

To incentivize miners, *each* PoW block should generate them a 'fee'. So they would get `block reward + fee + generated fees for each PoW block`.



Title: Re: Idea about a new blockchain
Post by: Johnnywelsh on May 21, 2018, 10:37:26 PM
Pretty sure Raiblocks has implemented ledger pruning. Never understood why more crypto don't implement it. I like the PoW concept with zero fees, sure some people would still fill ledger with crap but unless they find a way to monetize it that traffic would be limited.

If people had to pay for every interaction with the Internet it would have never become this big.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 21, 2018, 10:40:25 PM
I think fees are fair is you want to transfer value, for instance sending ether from one address to another. I don't think it is fair to interact with smart contracts.

  • Do you run a full node if you're not a miner?
  • Miners can afford to buy more disks space

The problem is that one of the main bottlenecks of blockchains is space, and every "non-value" transaction use space, too, so charging a fee for it is fair.

You're missing the point though. I'm a developer, I dream of building something like twitter but descentralized. I can't unless my users are willing to pay in Ethereum for posting. That makes no sense. I should pay as a developer for posting an smart contract, but my users shouldn't pay gas.

PoW is just another kind of fee (if it should be effective in spam-reduction, then the electricity costs needed to create the PoW should be as high as a standard transaction fee. Otherwise, you could simply charge a smaller fee and have the same anti-spam effect as with a "easy PoW".).

Read my reply from above.

A more "sustainable" solution could be ledger pruning. For interactions which are not important for the state of the blockchain, the message that interacted with the contract would be pruned after it has achieved its purpose. Such a system (albeit without smart contracts) is used, for example, in NXT/Ardor. Burst uses NXT's pruned transactions and supports turing-complete smart contracts, but it charges a mandatory fee, so it's also not ideal.

That's what IOTA is doing every once in a while. And they have to stop the entire network for that. That is just silly.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 21, 2018, 10:46:29 PM
If people had to pay for every interaction with the Internet it would have never become this big.

You nailed. That's exactly how I think of it.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 21, 2018, 11:04:25 PM
I like where this is going. Decentralized Twitter? Sign me up ;D Depending on the direction, I might have some ideas regarding sybil attacks, spam prevention and reputation in my drawers ;)

While I agree that you'll have to find a way to make users "pay without realizing that they are paying", which is pretty much what PoW per transaction looks like, you'll still have a problem with users who would be able to completely flood the network due to their vast computing power, while it is virtually impossible to get the needed PoW done on a Samsung Galaxy S III. Any thoughts on how to tackle this problem?


Title: Re: Idea about a new blockchain
Post by: d5000 on May 21, 2018, 11:34:15 PM
  • Do you run a full node if you're not a miner?
  • Miners can afford to buy more disks space
If only mining pools (individual miners do not really need that) would run full nodes, then we'd have a centralized system like EOS is.

Quote
You're missing the point though. I'm a developer, I dream of building something like twitter but descentralized. I can't unless my users are willing to pay in Ethereum for posting. That makes no sense. I should pay as a developer for posting an smart contract, but my users shouldn't pay gas.
Where do I miss the point, can you elaborate? The reason why a fee is charged is anti-spam protection, as you already admit proposing to "charge" a PoW for every transaction, like Iota and RaiBlocks/Nano do. If you don't charge a fee in GAS or whatever then you have two choices: 1) try that interactions with smart contracts consume less resources, e.g. by ledger pruning, or 2) limit the transaction throughput by other means (see below).

(BTW: If you accept an "oligarchic" network where only miners run full nodes, then you could even fork something like Bitcoin Cash or Unlimited, add smart contracts - e.g. with Counterparty - and you're fine. Blocks would never get full and so zero-fee transactions would be realistic.).

Quote
A more "sustainable" solution could be ledger pruning. For interactions which are not important for the state of the blockchain, the message that interacted with the contract would be pruned after it has achieved its purpose.
That's what IOTA is doing every once in a while. And they have to stop the entire network for that. That is just silly.
At least in NXT they don't need to stop the network for that. The pruning mechanism is automatic and happens constantly. It could be adapted by every other blockchain.

If you don't like ledger pruning: Have you looked at Steem? They have a different anti-spam technique, they don't charge a fee but allow only a fixed number of interactions (transactions) per node. The exact number depends on your stake in the network, so you can "buy" more throughput. So in the end for high-frequency users it's a fee, but occasional users that aren't a real "burden" for the blockchain can publish without any cost. (Steem, however, has a registration barrier/cost and is pretty centralized, but the principle would work in other blockchains, too). You even could combine it with your "PoW-fee" if you want.

(I'm sorry if my last post sounded like if I wasn't liking your idea - I like it but it needs more elaboration. You need a solution for the spam problem, and as I wrote, PoW is just another kind of fee.)


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 22, 2018, 04:43:14 AM

If only mining pools (individual miners do not really need that) would run full nodes, then we'd have a centralized system like EOS is.

I don't think everybody needs to run their own copy of the ledger.

https://www.youtube.com/watch?v=vM_Ski2eK6A

Where do I miss the point, can you elaborate? The reason why a fee is charged is anti-spam protection, as you already admit proposing to "charge" a PoW for every transaction, like Iota and RaiBlocks/Nano do. If you don't charge a fee in GAS or whatever then you have two choices: 1) try that interactions with smart contracts consume less resources, e.g. by ledger pruning, or 2) limit the transaction throughput by other means (see below).

The point is very simple. I don't want final users (think of a distributed Twitter, or a Facebook) to have to buy my native crypto currency in order to participate or interact with smart contracts.

Do you see yourself buying ETH (Which is fairly easier than buying any tinier coin) with credit card? Getting out of exchanges just to use steem (or something similar?). That's not going to take off

(BTW: If you accept an "oligarchic" network where only miners run full nodes, then you could even fork something like Bitcoin Cash or Unlimited, add smart contracts - e.g. with Counterparty - and you're fine. Blocks would never get full and so zero-fee transactions would be realistic.).

I'm not an oligarchic, but I believe the ledger should be an append only database no matter what. I think the clients should compress blocks if they wanted to.

I'm not completely against your idea of pruning, I just don't see how to do that.


If you don't like ledger pruning: Have you looked at Steem? They have a different anti-spam technique, they don't charge a fee but allow only a fixed number of interactions (transactions) per node. The exact number depends on your stake in the network, so you can "buy" more throughput. So in the end for high-frequency users it's a fee, but occasional users that aren't a real "burden" for the blockchain can publish without any cost. (Steem, however, has a registration barrier/cost and is pretty centralized, but the principle would work in other blockchains, too). You even could combine it with your "PoW-fee" if you want.

I will take a closer look on how Steem is solving that. I don't see how to limit the participation of nodes (based on their IP I guess) without a certain degree of centralisation. Which again, many projects have masternodes. If masternodes is the way to go, I think each masternode can throttle each node's activity. I think PoW is simpler though. I'm just thinking out loud and I love your feedback.

(I'm sorry if my last post sounded like if I wasn't liking your idea - I like it but it needs more elaboration. You need a solution for the spam problem, and as I wrote, PoW is just another kind of fee.)

On the contrary mate, I love this thread already.


Title: Re: Idea about a new blockchain
Post by: d5000 on May 22, 2018, 05:17:48 AM
I don't think everybody needs to run their own copy of the ledger.
Here I agree, but a certain decentralization is healthy. At least businesses should be able to run full nodes with standard hardware.

The point is very simple. I don't want final users (think of a distributed Twitter, or a Facebook) to have to buy my native crypto currency in order to participate or interact with smart contracts.
OK, I got it - for usability. Then PoW as anti-spam measure is reasonable. But this is also the reason why I mentioned the Ardor child-chain model. In this model you wouldn't pay fees in the native currency but in the "child-chain" currency (think of it as if it was an ERC20 token).

I'm not completely against your idea of pruning, I just don't see how to do that.
Simply check the NXT code (some hints are here (https://nxtwiki.org/wiki/The_Nxt_API#Prunable_Data)). In NXT, however, the transaction header is preserved. Cryptonite (XCN) has a pruning feature, but for all transactions, and only block headers are preserved. Maybe you get some inspiration from one of both. Ardor has a more advanced pruning feature but the version allowing pruning has still not been released.

Quote
I will take a closer look on how Steem is solving that. I don't see how to limit the participation of nodes (based on their IP I guess) without a certain degree of centralisation.
No, as far as I know the restriction is based on the account's address -  a transaction simply will be rejected as invalid by the protocol if you exceed your "quota". So this part doesn't need centralization, nor does it need masternodes. To avoid that spammers simply create hundreds or thousands of addresses, there is a fee for address creation if you use the client/wallet directly (if you register through Steemit the fee is paid by the site owners/developers, that's why it looks so centralized, but "under the hood" it's relatively decentralized, apart from the DPoS consensus). It's a pretty complex system but it seems to work pretty fine.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 22, 2018, 07:34:11 AM

If only mining pools (individual miners do not really need that) would run full nodes, then we'd have a centralized system like EOS is.

I don't think everybody needs to run their own copy of the ledger.

https://www.youtube.com/watch?v=vM_Ski2eK6A

(…)

I think it is important that everyone is able to run a full node if they wish, though.

However, all in all, I love the idea of having something which is pretty much a "service layer" and have a "consumer layer" on top. I believe eventually, this is where Crypto is headed anyway.

Do you think maybe some type of Proof of Capacity / renting out disk space might be the way to go? If you want to build a decentralized Twitter, you'll have a space problem anyway. Messages have to be stored somewhere and you can't prune them (which is why I think pruning is not that important anyway). However, I'm afraid some 16GB Smartphone won't have enough disk space to make any kind of impact, which bring us back to square one, doesn't it…


Title: Re: Idea about a new blockchain
Post by: Mi5h0 on May 22, 2018, 07:41:08 AM
Have you explored the idea of an EOS platform? I think, interacting with the blockchain will be free for end users on the EOS.

EOS does not exists yet. And when it does it will be super centralized. Think of it on a VISA-like company own by ~20 something nodes. Not for me, thank you.

Yeah, you're darn right about that! I see now where you are ending up on this.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 22, 2018, 07:06:05 PM
I don't think everybody needs to run their own copy of the ledger.
Here I agree, but a certain decentralization is healthy. At least businesses should be able to run full nodes with standard hardware.

Not everybody needs a copy of the ledger. Even on my computer right now, all the clients are thin clients (Ethereum and bitcoin).

Ethereum blockchain size is over ~400GB right now. It does not fit in my brand new laptop, yet I'm still able to use it.

But it's a good thing that people are concern about it and I think I found something.

What if we have two different chains? One for the native currency (Which does pay fee) and another for smart contracts execution (which are paid with PoW).

Because smart contracts execution will not need the native currency (just PoW) I think we can discard my initial idea of '0' value transactions with no fees. All transactions that are going on the value layer should pay fees. All transactions being executed in the execution layer are paid with PoW. I think that separation is fair enough. People would still need the native currency for creating smart contracts, but interacting with them are paid with PoW.

Sounds better?

Cheers,


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 22, 2018, 07:23:41 PM

If only mining pools (individual miners do not really need that) would run full nodes, then we'd have a centralized system like EOS is.

I don't think everybody needs to run their own copy of the ledger.

https://www.youtube.com/watch?v=vM_Ski2eK6A

(…)

I think it is important that everyone is able to run a full node if they wish, though.

However, all in all, I love the idea of having something which is pretty much a "service layer" and have a "consumer layer" on top. I believe eventually, this is where Crypto is headed anyway.

Do you think maybe some type of Proof of Capacity / renting out disk space might be the way to go? If you want to build a decentralized Twitter, you'll have a space problem anyway. Messages have to be stored somewhere and you can't prune them (which is why I think pruning is not that important anyway). However, I'm afraid some 16GB Smartphone won't have enough disk space to make any kind of impact, which bring us back to square one, doesn't it…

Smartphones can talk to 2 or 3 API (or even more) providers which runs the entire copy of the ledger (both layers).


Title: Re: Idea about a new blockchain
Post by: d5000 on May 22, 2018, 09:55:21 PM
What if we have two different chains? One for the native currency (Which does pay fee) and another for smart contracts execution (which are paid with PoW).
Yep, that's a good idea and similar to the child-chain stuff I mentioned - myself I was thinking about a similar service some time ago. Cryptonite (XCN) which has a strong pruning feature (and so the blockchain size is small even with a high throughput) would have been my choice for a base for the "interaction" chain, which would be a sidechain of the main "monetary chain".

But now again to your idea to a "decentralized Twitter": Is it really necessary that all messages would be stored on-chain? What if you create a partly off-chain model? You could think about a Lightning-like model, but I think for a publication chain maybe a model where messages are published in a BitTorrent-like network would be fine - but to ensure integrity the publisher can choose to simply store a hash of his last tweets in the blockchain. If he makes an important tweet he could always choose to store it entirely, but then paying a fee ... (I'm only brainstroming a bit here ...)


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 22, 2018, 10:17:36 PM
What if we have two different chains? One for the native currency (Which does pay fee) and another for smart contracts execution (which are paid with PoW).
Yep, that's a good idea and similar to the child-chain stuff I mentioned - myself I was thinking about a similar service some time ago. Cryptonite (XCN) which has a strong pruning feature (and so the blockchain size is small even with a high throughput) would have been my choice for a base for the "interaction" chain, which would be a sidechain of the main "monetary chain".

But now again to your idea to a "decentralized Twitter": Is it really necessary that all messages would be stored on-chain? What if you create a partly off-chain model? You could think about a Lightning-like model, but I think for a publication chain maybe a model where messages are published in a BitTorrent-like network would be fine - but to ensure integrity the publisher can choose to simply store a hash of his last tweets in the blockchain. If he makes an important tweet he could always choose to store it entirely, but then paying a fee ... (I'm only brainstroming a bit here ...)

Another idea that crossed my mind, but I don't know yet how to implement, is that each smart contract has their own blockchain, aside from the main monetary chain (here smart contract's definition and native currency are going to be stored).

If you want to run a full node, you would have many blockchains, if you only care about your own DAPP's blockchain you can do so using less resources (Monetary chain + my dapp chain).

Do you think this may be a better idea?


Title: Re: Idea about a new blockchain
Post by: labake on May 22, 2018, 10:26:51 PM
If you would be creating a blockchain as your content was all about with these features, you are absolutely good to go. I would really say yes and comply with your idea and infact would assist in all ways to learn much more bitter. Everything would be split and not on only on those existing blockchain.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 22, 2018, 10:55:10 PM
This thing is getting momentum, I love it :)

I think you want to go bigger than "just" a blockchain based, decentralized Twitter, but for the sake of simplicity, let's keep is a the main example.


(…)

Smartphones can talk to 2 or 3 API (or even more) providers which runs the entire copy of the ledger (both layers).

My concern wasn't so much the node/storage side, but the PoW side. What you could come up with is some type of "PoW-as-a-service" solution, where nodes provide their computing power for a service. What comes to mind is the client side of things: Maybe a client which shows you ads would be a way to reimburse the client provider, who at the same time provides you with a means to create PoWs. I'd rather pay a small fee, but others might be fine with the ad route.

In fact, the whole PoW-as-a-service thind opens up a number of possible ways to monetize unused assets. Storage, obivously, especially in a system which probably can't feasibly scale if you'd put every message (and every picture) on the mainchain.

Another thing, especially for smartphones, would be internet-by-proxy/internet-routing. Let me elaborate on that a bit:

A few years back, I heard of an app called firechat or something like that. It did something rather simple, yet neat: it looked for other phones near you and got in contact with them directly. I'm not sure what it used exactly, I don't think it was Bluetooth, more like a local lan (I'm not familiar with this type of setup). Now, the interesting thing was that in some countries with poor internet infrastructure, people used it as relays to get messages into the internet. A message(like email or whatever) jumped from phone to phone until eventually, it got to a phone that was connected to the internet.

I've always wondered why this wasn't explored more, especially as a way to earn some tokens or whathaveyou. I mean, combine that with a decentralized Twitter…

Looking at sm


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 23, 2018, 02:35:43 PM
Thanks guys for you feed. What would be the next logical step? I was thinking in writing a whitepaper or maybe a (power point?) presentation with my ideas and plans, try to get more developers interested and make it happen.

Suggestions?

Another thing, especially for smartphones, would be internet-by-proxy/internet-routing. Let me elaborate on that a bit:

A few years back, I heard of an app called firechat or something like that. It did something rather simple, yet neat: it looked for other phones near you and got in contact with them directly. I'm not sure what it used exactly, I don't think it was Bluetooth, more like a local lan (I'm not familiar with this type of setup). Now, the interesting thing was that in some countries with poor internet infrastructure, people used it as relays to get messages into the internet. A message(like email or whatever) jumped from phone to phone until eventually, it got to a phone that was connected to the internet.

I've always wondered why this wasn't explored more, especially as a way to earn some tokens or whathaveyou. I mean, combine that with a decentralized Twitter…

Looking at sm

I've seen projects like this before, it's a doable idea since all nodes will just broadcast the message (which they don't understand because it's encrypted) until the real recipient gets the message and deciphers it.

https://www.indiegogo.com/projects/sonnet-most-advanced-wireless-mesh-network#/

I get your idea though, people would broadcast until one of the nodes kindly publish the transaction to the Internet. Neat idea, I like it. It's a bit out of my scope of knowledge though, I'm not an Android/iOS developer.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 23, 2018, 06:42:42 PM
Thanks guys for you feed. What would be the next logical step? I was thinking in writing a whitepaper or maybe a (power point?) presentation with my ideas and plans, try to get more developers interested and make it happen.

Suggestions?

Another thing, especially for smartphones, would be internet-by-proxy/internet-routing. Let me elaborate on that a bit:

A few years back, I heard of an app called firechat or something like that. It did something rather simple, yet neat: it looked for other phones near you and got in contact with them directly. I'm not sure what it used exactly, I don't think it was Bluetooth, more like a local lan (I'm not familiar with this type of setup). Now, the interesting thing was that in some countries with poor internet infrastructure, people used it as relays to get messages into the internet. A message(like email or whatever) jumped from phone to phone until eventually, it got to a phone that was connected to the internet.

I've always wondered why this wasn't explored more, especially as a way to earn some tokens or whathaveyou. I mean, combine that with a decentralized Twitter…

Looking at sm

I've seen projects like this before, it's a doable idea since all nodes will just broadcast the message (which they don't understand because it's encrypted) until the real recipient gets the message and deciphers it.

https://www.indiegogo.com/projects/sonnet-most-advanced-wireless-mesh-network#/

I get your idea though, people would broadcast until one of the nodes kindly publish the transaction to the Internet. Neat idea, I like it. It's a bit out of my scope of knowledge though, I'm not an Android/iOS developer.

Well, to be honest, all of this is pretty much out of my scope of knowledge, including the next logical step. The problem is that almost everyone is working on their own stuff, but maybe write a whitepaper, then reach out to some public figures you trust, which are not directly associated with concrete projects, such as Andreas Antonopoulos (although guys like Vitalik Buterin, Zooko Wilcox, Charlie Lee and so on seem to be relatively open to communication), not in a way that implies that you want them on board, but ask them this very question: "I have this idea, what would you say the next logical step would be? How can I reach out to people?" That's probably what I would do if I wanted to commit myself to such a project.

Also, get people involved as early as possible. You want others to understand what you are doing, be it to discuss ideas, in case of you having to stop working on the project for whatever reason and so on.

Here's another thought on the PoW-as-a-service thing: I like it because it keeps the first layer extremely simple. You could build all kinds of stuff on top of that, without having the massive clusterfuck which is ethereum. Multiple languages? No problem. Private chains? Go for it. This is really great, because I think, if you were to move to multiple layer blockchain solutions (i.e. off-chain scaling, such as lightning network and so on), you don't have to make compromises as to what the first layer looks like. So this would be my approach: keep the first layer as simple as possible. I'm not sure whether this is inside the scope of what you are working on, it was just a thoguth I just had.

In that regard, you wouldn't have to work on the Internet-by-relay thing. Let someone else build it.


Title: Re: Idea about a new blockchain
Post by: d5000 on May 23, 2018, 10:12:41 PM
Another idea that crossed my mind, but I don't know yet how to implement, is that each smart contract has their own blockchain, aside from the main monetary chain (here smart contract's definition and native currency are going to be stored).

If you want to run a full node, you would have many blockchains, if you only care about your own DAPP's blockchain you can do so using less resources (Monetary chain + my dapp chain).

Do you think this may be a better idea?
I think it's a good idea (that's basically how Lisk works) but the problem is that then you must take care that the security of every sidechain is ensured by a sufficient number of validators. The incentive system for that may be pretty complex. The "child chain" model I mentioned earlier may be simpler as the validators would be basically the same ones, but it gives less scalability advantages. Every model comes with some sort of tradeoff ...


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 23, 2018, 10:36:09 PM
Another idea that crossed my mind, but I don't know yet how to implement, is that each smart contract has their own blockchain, aside from the main monetary chain (here smart contract's definition and native currency are going to be stored).

If you want to run a full node, you would have many blockchains, if you only care about your own DAPP's blockchain you can do so using less resources (Monetary chain + my dapp chain).

Do you think this may be a better idea?
I think it's a good idea (that's basically how Lisk works) but the problem is that then you must take care that the security of every sidechain is ensured by a sufficient number of validators. The incentive system for that may be pretty complex. The "child chain" model I mentioned earlier may be simpler as the validators would be basically the same ones, but it gives less scalability advantages. Every model comes with some sort of tradeoff ...

My idea is that each smart contract has their own blockchain, as I mentioned before, *but* the main chain has a reference to their last valid node (a hash). By doing so, the smart contract's blockchain is a secure as the main chain (which is secure with Proof of work, stake or any other method (I think PoW is good for starters)).

(A) <- (B) <- (C) <- (F) <- (H)
            |_(A') <- (A1')

Let's assume that in block "H" the smart contract A' is updated, then inside the block "H" there will be something like "the new head of blockchain A' is A1'".

TL;DR the sidechains are not secured with PoW or anything but with a reference to the newer head block on the main chain.

That's my idea so far, I'm now creating a document with some formal specification to ask for more feedback, I'll publish the document in here first.


Title: Re: Idea about a new blockchain
Post by: FOUAD1994 on May 23, 2018, 10:45:16 PM
There is a lot of idea behidn the blockchaine technoil:ogy and they are all good idea


Title: Re: Idea about a new blockchain
Post by: ttookk on May 24, 2018, 07:22:26 AM
Another idea that crossed my mind, but I don't know yet how to implement, is that each smart contract has their own blockchain, aside from the main monetary chain (here smart contract's definition and native currency are going to be stored).

If you want to run a full node, you would have many blockchains, if you only care about your own DAPP's blockchain you can do so using less resources (Monetary chain + my dapp chain).

Do you think this may be a better idea?
I think it's a good idea (that's basically how Lisk works) but the problem is that then you must take care that the security of every sidechain is ensured by a sufficient number of validators. The incentive system for that may be pretty complex. The "child chain" model I mentioned earlier may be simpler as the validators would be basically the same ones, but it gives less scalability advantages. Every model comes with some sort of tradeoff ...

My idea is that each smart contract has their own blockchain, as I mentioned before, *but* the main chain has a reference to their last valid node (a hash). By doing so, the smart contract's blockchain is a secure as the main chain (which is secure with Proof of work, stake or any other method (I think PoW is good for starters)).

(A) <- (B) <- (C) <- (F) <- (H)
            |_(A') <- (A1')

Let's assume that in block "H" the smart contract A' is updated, then inside the block "H" there will be something like "the new head of blockchain A' is A1'".

TL;DR the sidechains are not secured with PoW or anything but with a reference to the newer head block on the main chain.

That's my idea so far, I'm now creating a document with some formal specification to ask for more feedback, I'll publish the document in here first.

That looks a bit like the idea behind Lisk, which has a strong sidechain focus. If you haven't, you might want to check it out.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 25, 2018, 11:04:56 PM
(…)

Things that will be free:
  • Interact with smart contracts
  • Create transactions with `0` of the native currency.

Things that will require a 'fee' to be paid:
  • Transfer the native currency
  • Create smart contacts.


(…)


Here is something I missed before, I think it hasn't been adressed yet:

The assumption was that Gas was needed as an anti spam measure, but it also needed to incentivise miners to include an interaction or a transaction in the blockchain. Thus, unless I'm missing something, having a pure PoW as a means to prevent spam is either not enough or you'd need to force miners to include these kinds of transactions. Or am I missing something here?


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 26, 2018, 03:45:32 AM
(…)

Things that will be free:
  • Interact with smart contracts
  • Create transactions with `0` of the native currency.

Things that will require a 'fee' to be paid:
  • Transfer the native currency
  • Create smart contacts.


(…)


Here is something I missed before, I think it hasn't been adressed yet:

The assumption was that Gas was needed as an anti spam measure, but it also needed to incentivise miners to include an interaction or a transaction in the blockchain. Thus, unless I'm missing something, having a pure PoW as a means to prevent spam is either not enough or you'd need to force miners to include these kinds of transactions. Or am I missing something here?

I thought of mentioned it, but apparently not. Well, the PoW can be translated to gas. Think of it like the PoW that people are done in order to interact with smart contracts are like coupons that miners can redeem for their equivalent in 'fees'. At the end of the day it would be the same for the miners to process transactions that pay fee or transaction that have done and include some PoW in them.

The difficulty of the PoW would be used to measure how much gas a PoW worth.

Is the idea behind this clear?


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 26, 2018, 04:10:45 AM
Thanks everyone for you feedback.

I'm now writing a formal specification,a whitepaper answering all the questions that you guys asked here and more. I will also put a website so more people can know about my idea. I think I'll name project Andromeda (as a reference to the many chains) and the native coin should be named Shun (Google why).

So far I can do the prototype, I'm a Golang developer and I have experience with the Geth. My prototype will be a fork off Ethereum, I think it would be crazy not to start off Geth/Ethereum.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 26, 2018, 09:21:57 AM
(…)

Things that will be free:
  • Interact with smart contracts
  • Create transactions with `0` of the native currency.

Things that will require a 'fee' to be paid:
  • Transfer the native currency
  • Create smart contacts.


(…)


Here is something I missed before, I think it hasn't been adressed yet:

The assumption was that Gas was needed as an anti spam measure, but it also needed to incentivise miners to include an interaction or a transaction in the blockchain. Thus, unless I'm missing something, having a pure PoW as a means to prevent spam is either not enough or you'd need to force miners to include these kinds of transactions. Or am I missing something here?

I thought of mentioned it, but apparently not. Well, the PoW can be translated to gas. Think of it like the PoW that people are done in order to interact with smart contracts are like coupons that miners can redeem for their equivalent in 'fees'. At the end of the day it would be the same for the miners to process transactions that pay fee or transaction that have done and include some PoW in them.

The difficulty of the PoW would be used to measure how much gas a PoW worth.

Is the idea behind this clear?

Ah yes, I thought about something like this… It's kinda like the miner providing a pool. However, in that case, it goes back to the question, what if you can't provide the needed PoW because your computer (or rather your phone) isn't powerful enough?

Also, what would a transaction look like in this case? Because if a sender would have to provide PoW right from the beginning, it is potentially a part of every miner's pool, which means nobody is really profiting from it...

(…)

I think I'll name project Andromeda (as a reference to the many chains) and the native coin should be named Shun (Google why).

(…)

I assume you meant Shun the Emperor? I don't realls see a connection between Andromeda and him. Why not go with something a bit closer, like Shiji?

https://en.wikipedia.org/wiki/Records_of_the_Grand_Historian

Also, "Shun" is an english word with not the most ideal meaning.

https://www.merriam-webster.com/dictionary/shun


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 29, 2018, 04:41:11 AM
I assume you meant Shun the Emperor? I don't realls see a connection between Andromeda and him. Why not go with something a bit closer, like Shiji?

https://en.wikipedia.org/wiki/Records_of_the_Grand_Historian

Also, "Shun" is an english word with not the most ideal meaning.

https://www.merriam-webster.com/dictionary/shun

I wasn't aware of the meaning of Shun in English, but my reference was apparently too obscure. I meant 'Shun' because of https://en.wikipedia.org/wiki/Andromeda_Shun

Anyways, here is the first version of the whitepaper,

https://github.com/iam-zhang-wei/whitepaper/blob/master/README.md

I wrote in a hurry, I will polish it up tonight but I think it is good enough to get even more feedback.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 29, 2018, 08:02:03 AM
Good start, I have some questions, though:

Quote
How to incentive miners?

Miners should be economically incentive to process the free transactions the same way do process transactions that pays a fee (all transactions in the economic layers must pay a fee). In order to archive that, the miners can redeem the proof of work included in the free transactions. Think of it like the proof-of-work performed by the clients are coupons that the miners can redeem and for native currency that will be included in the block rewards (like a regular fee).

Thus, the interaction with the smart contracts are not free, the gas required to execute the smart contract is paid as proof of work.

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.

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.

Quote
Why having many blockchains?

Having a separated blockchain for each smart contract has advantages:

    The main chain is smaller.
    Each blockchain is well scoped
        Calculate the global state of smart contract is simpler and faster.z
        Busy/popular smart contracts will have longer chains, while the main chain growth at a predictable pace.

The blocks in the main chain will have references to the newest blocks created in the side chains. That means that the side chains are going to be secure through the main chain, simplifying things for consensus (which is happening only in the main chain).

Where is the data of sidechains stored? How are those who store it incentivised to do so?


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on May 30, 2018, 04:06:14 AM
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.


Title: Re: Idea about a new blockchain
Post by: ttookk on May 30, 2018, 08:00:54 AM
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  ;) ;D


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.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on June 01, 2018, 08:01:23 PM
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

 * <Last known header hash><local nonce>
    * sha256(<Last known header hash><local nonce><transaction nonce><value>) = must start with 5 or 6 zeros.
    * The <local nonce> 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.


Title: Re: Idea about a new blockchain
Post by: ttookk on June 01, 2018, 09:14:56 PM
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 <Base number of PERSEUS> * <Number of coupons included> + <fees from deploying smart contracts and so on>.

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.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on June 02, 2018, 03:56:03 AM
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 <Base number of PERSEUS> * <Number of coupons included> + <fees from deploying smart contracts and so on>.

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.


Title: Re: Idea about a new blockchain
Post by: ttookk on June 02, 2018, 12:41:05 PM
Ok, I think you explained everything this time, little to no questions remaining :)

(…)

Quote
- The block reward is <Base number of PERSEUS> * <Number of coupons included> + <fees from deploying smart contracts and so on>.

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

(<number of Gas-PoW-coupons>*0,005)+<regular fees>

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.



Title: Re: Idea about a new blockchain
Post by: Mt. Dempo on June 02, 2018, 12:55:36 PM
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?


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on June 03, 2018, 04:46:10 AM
Ok, I think you explained everything this time, little to no questions remaining :)

(…)

Quote
- The block reward is <Base number of PERSEUS> * <Number of coupons included> + <fees from deploying smart contracts and so on>.

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

(<number of Gas-PoW-coupons>*0,005)+<regular fees>

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.


Title: Re: Idea about a new blockchain
Post by: ttookk on June 03, 2018, 07:09:17 PM
I guess I've been thinking about this thing way too long now, especially since there's other stuff I have to work on :P

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 ;D



Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on June 07, 2018, 03:56:55 AM
I guess I've been thinking about this thing way too long now, especially since there's other stuff I have to work on :P

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!


Title: Re: Idea about a new blockchain
Post by: ttookk on June 08, 2018, 05:51:33 PM
(…)

 * 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 :)

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.


Title: Re: Idea about a new blockchain
Post by: ttookk on June 24, 2018, 12:33:17 PM
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?


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on June 26, 2018, 03:30:22 AM
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.


Title: Re: Idea about a new blockchain
Post by: lakatina on June 26, 2018, 05:26:18 AM

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


Title: Re: Idea about a new blockchain
Post by: ttookk on June 26, 2018, 08:14:11 AM
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.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on July 04, 2018, 05:46:04 AM

Quote

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.


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on July 04, 2018, 05:48:23 AM
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.


Title: Re: Idea about a new blockchain
Post by: ttookk on July 04, 2018, 09:09:54 AM
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 :D

I can also try to make a logo or something...


Title: Re: Idea about a new blockchain
Post by: Apiapik on July 04, 2018, 09:15:13 AM
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


Title: Re: Idea about a new blockchain
Post by: the_zhang_wei on July 16, 2018, 06:16:22 AM
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://bitcointalk.org/index.php?topic=4684110.msg42267403