Bitcoin Forum
May 08, 2024, 08:45:42 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 [All]
  Print  
Author Topic: [ANN][CwC] Corewar Coin (Cancelled ! =D)  (Read 774 times)
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 02, 2018, 05:16:14 PM
Last edit: January 09, 2023, 10:56:08 PM by Skybuck
 #1

Cancelled, domain names will be gone at the end of 2023, maybe in the future this idea will return... =D

Corewar Coin


Prepare for my Arrival !

Hello and Welcome to my Announcement for Corewar Coin !

A soon to be new coin system which will work by fighting warriors among each other. These warriors are small little computer programs. They use the virtual instruction set called "RedCode". These warriors run in a virtual machine so it's safe to run on your computer (unless they get real smart ! LOL).

The idea is to reward "corewar coins" to the best/winning warrior.

The coin system works like a bank. Bank accounts are also given out when a fight is won. The warrior will have to defeat a certain ammount of warriors during a certain ammount of rounds. Each won round gives 3 points to the warrior, a tie 1 point a loss 0 points. The warriors fight 1 v 1. However there will be for example 100 warriors to fight against. These warriors will live on the "block chain".

This coin system consists out of a banking system, where all bank accounts are stored in blocks and these blocks have a hash and all hashes are concatenated and a final hash is performed to "sign" the bank.

The bank grows as new "transaction blocks" are added. These transaction blocks will (probably) contain the warriors. These transaction blocks life on what one can consider a block chain. These blocks "tie" into the bank by recording the bank hash before it was mutated and such. Exact technical details are not important for now, more will be revealed in the near future.

Corewar Coin is coming and it will come soon, how soon you ask ? Uncertain, development has started (can't say too much about that yet) estimated deliver is probably a few days/max a few weeks until it's ready.
For now a safe bet is max end of month. I would be surprised if it takes longer. I know it's vague but this will have to do for now.

The motivation for this coin is to try and spread/distribute coins better/more fairly, the hope is that computing these fights is "asic" resistant or difficult to pull off. Ofcourse cpu pool mining might be done.

For now I plan on releasing it as closed-source coin software only. This is probably something you are not used to but will have to get used to if you want these coins ! Wink

I may at a later date still open source parts of it, perhaps an evolver part or plugin system to allow others to develop "evolvers" to generate warriors. Also perhaps a gui option will be added so you can write your own warriors and try your luck with that ! Wink

Ofcourse the bank and block chain is also protected with sha256 as usual.

The software will be made available at this web address: www.corewarcoin.com     also reachable by www.corewarscoin.com  also with http://www.skybuck.org/CoreWarCoin/ (though I plan on removing the capital letter W in future) the first two are re-directs to this site. Currently only "Hello World" is displayed ! LOL. This will be removed/replaced in time !

Now you may be wondering, what the hell ?! No software ? No website ? What the fuck ?! Why you write this ?!

The reason is this:

You can help to make the coin a flying start ! For me, for you, for the world ! What I need you for is this:

DNS pointing to your IP/computer/machine where you will run the software on when it is released. Or a static IP that never changes might work too, not yet sure about this, but could be tried as well.

So for example you could register your static ip with a dynamic dns provider. FreeDNS.afraid.org has some nice options and a very nice gui client for windows to make this work.

If you have a "real dns" or something that would be great too.

So what I would need you to do is have this setup:

DNS -> IP

Where:

DNS is your domain name for your computer for example: John.MyComputer.com
IP is your computer IP address: x.x.x.x
-> points

Now what I need you to do is tell me your DNS name so that I can add it to the software. The software will then use multiple DNS names to find "peers". The system will be p2p via dns for now. Perhaps in the future a "internet-wide peer search" protocol will be added but for now DNS will have to do and perhaps static ips, these will probably be cached in a peer cache anyway.

And ofcourse prepare your machine for the COMING of COREWAR COINS !!! =D

To prepare for it's arrival you will need:

1. A Microsoft Windows computer. Preferably Windows 7, but any windows version will probably do from windows 95 and onwards. Pls report back in future if a certain windows version does not work.

2. In future a linux version may arrive as well, but let's start with a windows version first ! =D

3. Any very maybe mobile apps too, will need a new computer for that first, or let somebody else create it, but for now, this is in the further future, perhaps amd threadripper 2 with an amdflaws.com-proof chipset, otherwise will have to way for a better chipset. (To develop mobile app in a powerfull virtual machine/development/simulation environment)

You may also want to learn a little bit about "corewar" and "redcode" though this will not be required.

The second thing you could help out with is design a very cool logo for Corewar Coin. I would like it if it has some "blocks" in it like in the way existing corewar software visualizes the fights. Perhaps the letter C or CW or CWC and perhaps some nice gold or digital/sparky/electricity/green and/or blue like effects or matrix like effect on background. Other designs welcome too.

I may try and create a logo myself for now, but if somebody else creates something much better than this can immediately be integrated into the software and eventual website and perhaps pdf.

JSON interface may be available for exchanges and such and other documentation for that will be available as well.

I have gimp 2.0 available to process any logo and scale it down to smaller resolutions and store in pngs and such. A alpha transparent background would be appreciated. As long as gimp 2.0 can open the file format it will be ok, png will do but others possible too.

I probably don't have time to answer any technical questions but if you want you can ask, if I see something interesting I may answer it.

If you have questions about the DNS and such then pls do ask if that part was not clear to you.

So if you want to get involved and be part of a new coin system add a message to this thread and announce your dns there, or if privacy is wanted/desired/required, send me a PM with your dns that will be sufficient too.

Ofcourse before the software goes online, I will update this posting to announce it. You may also include your e-mail address or send me your e-mail address via PM if you want to be informed when it goes online so you can immediately participate. I would prefer if only DNS providers provide me with their e-mail address, other users will have to keep checking back for the "launch" announcement ! Wink =D

Bye for now,
  God spee ! or something and before I leave you I want you to know and get inspired by my favorite crypto coin music, this music is a bit weird maybe, but it reminds me of the coming COREWAR COIN and therefore I find it suited for this first posting so you have at least something to enjoy ! While you wait for the ineviteable: The launch of corewar coin ! Wink =D

Oh one last thing for people familiar with corewar coin, this project will use spec94 but with an extension designed in 2009 by me which can be read here:

http://www.skybuck.org/Corewars/SkybucksCorewarsSimulator/version%200.37/Unpacked/SkybucksCorewarsSimulator/version%200.37/RedcodeExt2009Spec100.htm

(Not really relevant for end-users for now, but in case your curious ! Wink)

(Also in case your curious about what warrior can do or what they look like there is a very crude simulator available here as well):

http://www.skybuck.org/Corewars/SkybucksCorewarsSimulator/version%200.37/Unpacked/SkybucksCorewarsSimulator/version%200.37/

And now as promised the much entertaining accompanying music (actually the corewar simulator can produce audio as well but that is a different story Wink)

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

Every time this guy is singing "wall street is coming" just imagine he's saying: "corewar coin is coming !" =D

Oh one more thing, this software will use tcp port 22892 and perhaps some others as well, so this may give you some chance to setup any firewall rules in advance.

And finally seems like a terrific dynamic dns client:

http://www.techknowpro.com/freedns/

If interested in dns-ing your computer go there, follow link at the top, read about freedns.afraid.org (register, add a domain, direct thingy, url, activate, and so forth/etc, maybe explain this in more detail later on if anybody needs help with it, I tried inadyn first but it's too complex for me to setup or it's not working with www.DNSDynamic.org could use some help with that, so if you can provide a nice conf/setup for it that be cool.)

(Also some help with a third one www.changeip.com would be appreciated, freedns client will probably not work with others, may have to find other tool for it, for now one dynamic dns is working, so that should be good for now, but the more the better for redundancy sake Smiley)

Once more,
  Bye for now,
     Skybuck ! Wink =D
1715157942
Hero Member
*
Offline Offline

Posts: 1715157942

View Profile Personal Message (Offline)

Ignore
1715157942
Reply with quote  #2

1715157942
Report to moderator
1715157942
Hero Member
*
Offline Offline

Posts: 1715157942

View Profile Personal Message (Offline)

Ignore
1715157942
Reply with quote  #2

1715157942
Report to moderator
"You Asked For Change, We Gave You Coins" -- casascius
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715157942
Hero Member
*
Offline Offline

Posts: 1715157942

View Profile Personal Message (Offline)

Ignore
1715157942
Reply with quote  #2

1715157942
Report to moderator
1715157942
Hero Member
*
Offline Offline

Posts: 1715157942

View Profile Personal Message (Offline)

Ignore
1715157942
Reply with quote  #2

1715157942
Report to moderator
cabbage55
Member
**
Offline Offline

Activity: 177
Merit: 10


View Profile
July 02, 2018, 05:21:48 PM
 #2

Seems like interesting idea. I am sure that a big amount of gamers will participate. I will keep my attention on it.
gold969
Sr. Member
****
Offline Offline

Activity: 1330
Merit: 251


View Profile
July 03, 2018, 02:55:17 AM
 #3


 yes, a new and interesting product .. and a big plus that you do not ask for money, but require technical assistance, I will look with great interest for the development of the project ...

 and minus, there are no technical details except the algorithm
icobuffer
Newbie
*
Offline Offline

Activity: 112
Merit: 0


View Profile WWW
July 03, 2018, 12:55:58 PM
 #4

We have added your project to a fast growing platform for ICO investors https://icobuffer.com/projects/corewar-coin. We recommend you to add more information about your project, it will affect the rating positively. Please write me if you have any questions.
jimhsu
Sr. Member
****
Offline Offline

Activity: 364
Merit: 264


View Profile
July 03, 2018, 08:13:38 PM
 #5

Hey there,

Cool project. Left a PM.

Dans les champs de l'observation le hasard ne favorise que les esprits préparé
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 04, 2018, 03:06:48 PM
 #6

Hi fans of the project ! I think it could be a fun idea of keeping you informed of my progress on this project.

3 july 2018 had a good sleep after much work done Smiley
4 july 2018 HAPPY INDEPENDANCE DAY USA ! Today I tried to figure out GIT and splitting a big file into multiple and keeping the multiple updated from the big file. No luck with that yet, may be wasted time, maybe not, did learn a bit about GIT... Also wrote a message to an author of a split-script file which is not working yet because of a bug. I have this great desire to get this functionality working it would come in handy. For now I may have to assume failure on this "development functionality" for me. I may try some more tomorrow, and maybe again the next day if he fixes the script or can produce a new script to do what I want that would be gret. So maybe the next few days no work will be done on the coin system, this kinda sucks, but so be it, I may yet change my mind. Estimation is friday/weekend more work will be done on the coin system and that would make me really happy if it advances in the direction I want it to go, it will happen eventually ! Wink =D

So far 1 person has commited to contributing a nice DNS name, I will definetly incoorporate it into the client once it's launched and even before it. There will be a public beta test phase I think where there will be a "beta bank/blockchain" just to test the system. This beta test will last for about 5 days or so, so everybody can participate see how it works, get a grip on it a little bit, ask questions, configure their firewalls, though they may have to be reconfigured later cause beta test will use different ports but at least the process should be the same. And ofcourse test the coin system to see if it actually works and all is well.

If other works as intended then after 5 days this beta test will be over. I will then try and incorporate a nice count down script for the website ! =D If anybody wants to help with that that be great too, a script in php should be just fine. There will then be a 24 hour countdown. During this phase the beta test is over and everybody will be anticipating the launch of the final product and bank/blockchain. This is to give everybody a fair chance of getting in as early as possible ! =D There will be no pre-mine or anything like that. Just You vs You vs You vs You vs Me vs You vs Everybody =!

Use of multiple computers to mine for blocks is ofcourse allowed, I would kinda appreciate if it were just one computer per person, just to give all the fans their hopefully fair share... this may depend on luck a bit though. Also it would be smart to mine with one computer first, to not raise the difficulty too fast... otherwise you may make life difficult for yourself too. I would recommend watching the difficulty... see how it rises, if you didnt get any coins during the first two days, maybe add some computers for more umhp "horse power'. But this tactic/strategy is ultimately up to you ! If you wanna go all in with many PCs that s up to you.

But please take into consideration that any coin system will be much more successfull if the coins are distributed as much as possible to as many people as possible. For this purpose once you get some nice accounts, let's say you get the first 4 accounts in the first block you mined. Would be smart to keep them to yourselfes just in case you need some additional accounts. Then the next accounts I would highly recommend you to at least tell everybody you know if they want a free account for this new coin system, and then teach them how they can acquire it.... at least they then have an account... and could receive coins into it later.

The addresses will probably not be worth that much for some time to come, I may be wrong about that though, yet addresses could be increased even in the future. Anyway I will check if it's possible to set the software in such a state that it's possible to sell accounts for free to others within the coin system itself. If this is not possible then there may be a way to make it possible. So stay tuned. Anyway I would then advise you to try and give away some addresses for free. I will also try and do this myself. If it's abuse by somebody then maybe stop it for a while.

Thx for reading, and have a nice summer (?) day ! =D
Waves Plus
Newbie
*
Offline Offline

Activity: 35
Merit: 0


View Profile
July 04, 2018, 03:10:01 PM
 #7

Cool idea! I will keep my attention on it. Good luck! Grin
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 05, 2018, 03:11:40 PM
 #8

5 july 2018 some good progress has been made adjusting the project from "proof of work"/"hashing" to "warrior scoring". Much more work needs to be done there... but it's starting to look pretty good and doable... so I am starting to get real happy about that ! =D Probably happy days AHEAD ! =D LOLOLOL.

I hope you USA people had a nice 4th of july... It's very warm where I am living... I am afraid it could be because of crypto mining... and more warm weeks ahead... did not get a lot of sleep... did rest a lot... so for now I am holding/hodling out =D

dzkrb
Sr. Member
****
Offline Offline

Activity: 672
Merit: 250


🔰FERRUM NETWORK🔰


View Profile
July 05, 2018, 03:30:37 PM
 #9

Colleagues. Honestly, it looks like nonsense. Some warriors who fight each other. It is necessary to describe somehow more clearly. I would like a more serious presentation of the project. This is read by potential investors.


                            █████
                        █████████████
                     █████████████
                 ██████████████        █████
              █████████████        ████████████
          ██████████████        █████████████
       █████████████        █████████████       ██████
       ██████████        ████████████           ██████
       ███████       █████████████       ███    ██████
       ███████    █████████████       ██████    ██████
       ████████████████████       ██████████    ██████
       █████████████████       █████████████    ██████
       █████████████       █████████████        ██████
       ██████████       █████████████           ██████
       ███████      ██████████████       ███    ██████
       ██████    █████████████       ███████    ██████
       ██████    ██████████       ██████████    ██████
       ██████    ██████        █████████████    ██████
       ██████    ███       █████████████        ██████
       ██████           █████████████       ██████████
       ██████       █████████████        █████████████
                 █████████████       █████████████
              ████████████        █████████████
                  ████         ████████████
                           █████████████
                         ███████████
                            █████
Ferrum Network • Interoperability Network for Financial Applications
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 06, 2018, 03:30:56 PM
 #10

(Google corewar and redcode and mars and pmars to learn more about warriors)

6 july 2018:

Good news fans of the project ! =D

Today I spent all day on (rational/amenability/accountability) thinking about how to make this vague idea actually work in practice and to make sure it's safe, secure, and can work at all times and does what I want it to do.

It's starting to look pretty cool, many different takes/possiblities/options for implementating it have been examined and it's starting to come together/look good/taking on form.

I think I have decided on a certain implementation that will be worked out into the final product, for now I shall keep it secret ! Wink =D but all will be revealed in the final product ! Wink Smiley

More thinking may have to be done to make the system even more ultra good but perhaps the current ideas/details are already sufficient to start working on an implementation and thus I will do so the coming days to see how it will/can work out... most of it will probably be with experimenting with difficulty setting and how fast to adjust it, this may require some experimentation to decide on a final "difficulty adjustment period/block range"

Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 09, 2018, 02:38:02 PM
 #11

Saturday 7 july 2018, Internet Service Provider was performing maintenance so I decided to play some Battlefield 3.
Sunday 9 july 2018, Impressed with the idea of playing Battlefield when ISP is down I downloaded Battlefield 4 and had a blast even on a GT 520 with AMD X2 3800+ 2x2.0 GHz ! Wink =D Played on lowest settings still cool ! =D Was too hot to dev anyway LOL and some cool World of Warships in after work hours as usual lol.

Monday 10 july 2018 Thought some more about how to proceed with "scoring difficulty and such" and how to make the necessary modifications and further blockchain branching concerns, seems ok/doable and now figuring out how to perform local network tests and mining tests on my system with multiple copies/multiple peers, simulating a "real life" network situations. This will come in handy in the near future for testing the product locally without the need for other systems. Very valuable.

Later ! =D
necromastery
Sr. Member
****
Offline Offline

Activity: 1414
Merit: 254



View Profile WWW
July 09, 2018, 02:48:27 PM
 #12

Impressive. Seems you have a lot of idea to build this coin. I hope you could find talented person to resolve the problem and suitable to work with you. I thought this will gonna be amazing.
Xalia
Newbie
*
Offline Offline

Activity: 266
Merit: 0


View Profile
July 09, 2018, 04:54:16 PM
 #13

Super project, I will monitor it closely! Good luck to the team
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 11, 2018, 11:22:48 AM
Last edit: July 19, 2018, 06:21:34 PM by Skybuck
 #14

Tuesday 10 july 2018 had to take care of some social stuff =D

Wednesday 11 july 2018 I have some security/attack/hack concerns with underlying blockchain/protocol technology. I may investigate this first to see how secure it truely is and if it can be manipulated. This may delay this project somewhat. I may also decide to ignore the security concerns and to proceed forward without investigating these concerns. For now it seems reasonable to spent some time on investigating these concerns getting to known the protocol better and seeing if some easy attacks/hacks are possible against it. This "research" will ease my mind a bit. I do not want to create a coin that would later appear to be hackeable.

However the underlying technology is influx/constantly changing/improving, by the time my research is done it may have already changed and then my research may have been for nothing, however I do not expect the changes to be that severe, most of it will remain roughly the same, thus does seem warranted to spent some time on this. I may also continue to develop this project further in dual/parallel form. However my expectation is that currently this research will dominate my time, thus for now this corewarcoin can be considered "ON HOLD" until further notice ! Wink =D
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 12, 2018, 02:26:45 PM
Last edit: July 16, 2018, 08:22:16 PM by Skybuck
 #15

Thursday 12 july 2018 Spent all day investigating a new type of bug which I call a "phantom". This is a bug which occurs inside a in-memory-compiler. At some point the in-memory-compiler gets corrupted and starts producing faulty instructions. After the IDE/in-memory-compiler is restarted/reloaded the faulty instructions may seem to disappear after a new compile/build only to later return again as the in-memory-compiler becomes corrupted again. Hence the name "phantom" for these kinds of bugs... popping in and out of existance.

I am still somewhat unsure if this is the exact behaviour of these phantoms, but most likely yes. Still investigating further how to catch them in the act ! Welcome to "The Phantom of the Compiler !" =D

Some entertaining music for this new type of bbbbbuuuuggggg:

"Pinball Music: The Phantom of the Opera - Main Play Music":

https://www.youtube.com/watch?v=6cZBFFQbgD0
FedoraTheExplora
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
July 12, 2018, 02:35:31 PM
 #16

Looks like a gambling project. What are the estimate dates of economy information releases?
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 12, 2018, 02:42:16 PM
 #17

Looks like a gambling project. What are the estimate dates of economy information releases?

You mean like number of coins to be produced ? Probably something like 21 million or 40 million have not decided on that yet could also be much more lol Smiley or much less, to avoid to many coins from existing across all coins Wink
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 16, 2018, 08:27:53 PM
Last edit: July 19, 2018, 06:22:25 PM by Skybuck
 #18

Friday 13 july 2018 had a walk with some people, fortunately survived friday the 13th ! Wink =D
Saturday 14 july 2018 investigated underlying blockchain technology, a bit messy, first impression was it might be insecure.
Sunday 15 july 2018 thought about how underlying blockchain technology might be improved or made more secure, was afraid it might be insecure.
Monday 16 july 2018 decided to re-investigate underlying blockchain technology more closely, more precisely, no working hack or security vunerability found. (Also refined/improved multi-peer testing).

(Found another bug in Delphi, this time in the IDE, when switching "build configurations" in project manager it does not seem to pick up compiler conditionals/output configurations (?) well and ends up running the wrong executable (different output folder), a re-build must first be done when switching build configurations to run the correct folder/build/executable.

So far it's looking pretty good and perhaps the project can continue, will probably do some more hacking/penetration testing tomorrow, after which (if all goes well) I will feel a bit safer continueing the project.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 18, 2018, 03:04:14 PM
Last edit: July 19, 2018, 06:22:34 PM by Skybuck
 #19

Tuesday 17 july 2018 had to buy some stuff (pj's).
Wednesday 18 july 2018 tested some more possible hacks, so far underlying blockchain tech is resistent towards it, the project can now continue.
I don't feel completely comfortable yet making the necessary changes, therefore more research may be required into the existing technology, this may take quite some time, multiple days at least.
Krezz2017
Full Member
***
Offline Offline

Activity: 560
Merit: 128



View Profile
July 18, 2018, 05:32:52 PM
 #20

Colleague. I think that your presentation of the material is rather unusual, but has the right to exist. Make people involved in their development. But, it reminds me of the success of a beginner programmer who decided to surprise everyone around him with his steepness. Not enough steep presentation. But, the developer Doge did his coin as a joke and what a success.

Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 19, 2018, 06:37:24 PM
Last edit: August 07, 2018, 10:04:05 PM by Skybuck
 #21

Thursday 19 july 2018, further investigation and improvements to underlying blockchain technology. It will be necessary to re-structure this underlying blockchain technology to comprehend it better. This will take some time but I think it will be time well spent. Some restructuring was done today.

(Feedback for Delphi IDE/Compiler developers if they happen to read this Wink)

Unfortunately Delphi XE does not have the following to do this faster:

1. "icon button" for "new unit' on main toolbar which is always visible, I don't use the other icons anyway, except build and run.
2. "refactor into new unit" (should auto-detect interface code) and "refactor into new/other unit interface section" (for manually refactoring into interface) or ask where to place if auto detect fails and thus also "refactor into new/other unit implementation section".
3. Furthermore when Delphi creates a new unit it could also include the "type" keyword since it's most likely types will be added, safes typing that line over and over again Wink
4. Also a short cut/key for "find in all units" when a piece of text is selected would be highly usefull, this safes a trip to the menu. (There is a key combination but it does not work when in editor).

Further Delphi IDE improvements possible:

5. When navigating through code, the structure pane should auto-update so that the structure pane and code view are in-sync, this could at least be an option somewhere, perhaps it already exists. I will try to use the structure pane to navigate through code a bit more easy, never really done that before. Also it would be helpfull if Delphi does not auto scroll to the right when clicking in structure pane on a long line of function/routine/procedure text that is kinda annoying.

6. Further interesting ideas which user can do custom:
6.1 Move project manager to the left
6.2 Move structure to the left.
6.3 Close everything else on the right.
6.4 Save it as desktop: "fullscreen editor".

This will allow to see some more text on the right side of the screen for those occassionally long lines of text.

7. Auto-expand structure pane when using it, this might come in handy for view parameters shortly. There should be an icon to collapse this expanditure tough in case both structure and code want to be viewed at the same time.

8. I want more options to generate executables in different folders and with different names based on compiler conditional defines and such.

For example, something like:

{$if defined(WIN32) ExecutableFilename = 'Coin32.exe'}
{$if defined(WIN64) ExecutableFilename = 'Coin64.exe'}

{$if defined(SomethingSpecial) ExecutableFolder = 'Special'}

9. Perhaps I would like it better if "platform" is removed and instead integrated with "configurations" as to make many different configurations for all kinds of builds and platforms. Now the switch between platforms seems to be limiting. There might be more configuration necessary than just specifieing the platform or vice versa, just a switch per configuration which could be re-used for different platforms. Currently this seems somewhat disconnected between "configurations" and "platform". May look into this some more in the future.

10. Want better navigation memory/history. Sometimes Delphi cannot remember where I was... this is kinda annoying... especially when moving between units.
11. It should remember navigation history even after a build/run session. Currently the navigation history seems to be lost... could also be lost when saved, not sure what exactly but something makes it go lost, which is also annoying when you want to continue after a run/build at some specific point in code where you were previously.
12. There is a dangerous bug with "Save As" if clicking on an existing file, it will copy that filename into the textbox, if this filename is adjusted/modified to something new and then clicking save, it will try to overwrite the oldfilename and warn if you want to overwrite, this is clearly a bug, and it should have used the new/non existing filename in the textbox to create a new file.
13. Replace in all files should be added (so that it can match find in all files functionality). I needed this to replace tab character with 4 spaces everywhere.
14. Only activate "smart fill" with "tab character" if file already contains tabs, otherwise disable it, only enable it if user inserts one tab character. The weird thing is wherever I place the cursor in a source file as long as "use tab character" is on and "smart fill" is on, Delphi will immediately replace spaces with tabs, which is kinda funny this will "track" where I was browsing. This could be considered a tiny little minor code browsing privacy violation ! Wink Perhaps it would be better if Delphi first "scans" a file to see if there are any tab characters in the fill, if there are none then it is highly likely that this feature is undesired and should probably not be activated. If the user wants this feature to be activated he/she should first insert a tab character somewhere, from that point forward this "smart fill" feature can be activated. This will allow browsing of "non-tab character files without modifieing it". If there are some modifications and then tabs saved this is not so bad, these tabs can later be replaced (once the correct ammount of spaces is known/set).
15. Minor issue encountered before: "Find declaration" is missing from/at the top of the pop-up menu when debugging, while it's still in the menu, but further below, three find declaration options exist, only one is needed really, basically find declaration in interface, using control arrow down when can then navigate to the implementation. Another nice feature would be "find in all files" at the top of these menus. These menus should be as much as possible consistent when "debugging" vs "not debugging". I believe many Delphi programmers will not known about this new "find declaration" feature that was added in some Delphi XE versions for  debugging, since it appears to be gone, while in reality it is available just hidden/located somewhere else on the pop-up menu when debugging <- inconsistent location. Keep it consistent pls ! Wink
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 20, 2018, 05:10:40 PM
Last edit: July 20, 2018, 06:48:49 PM by Skybuck
 #22

20 july 2018 investigating the use of BPLs (special DLLs) to seperate GUI from CORE. It's doable, may lead to DLL hell though. Delphi adds BPL folders to path environment variable which is not cool and dumps BPLs there.

(Example of such a stupid/confusing dll hell folder: C:\Users\Public\Documents\Embarcadero\Studio\17.0\Bpl)

This tool can be used to see where DLLs are loaded from in case there is any confusion, this also works for Delphi BPLs (special DLLs) Wink

https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls

"
Usage

listdlls [-r] [-v | -u] [processname|pid]
listdlls [-r] [-v] [-d dllname]
Parameter    Description
processname    Dump DLLs loaded by process (partial name accepted).
pid    Dump DLLs associated with the specified process id.
dllname    Show only processes that have loaded the specified DLL.
-r    Flag DLLs that relocated because they are not loaded at their base address.
-u    Only list unsigned DLLs.
-v    Show DLL version information.
"

Example of usage to detect DLLs loaded by a single application:

0. Download tool above, extract and store in some folder.
1. Start notepad
2. Start ms-dos prompt
3. Go to listdlls.exe folder.
4. Then run this little tool as follows:

listdlls notepad.exe

This will show all DLLs used by notepad.exe same can be done for other "processess". If access denied then run ms-dos prompt in adminstrator mode by choosing "run as administrator" from right click op-up menu on ms-dos prompt icon in start menu.

Pretty cool and neat tool. Nice clean and simple.

Another tool can do this too though it's called "ProcessExplorer" also from sysinternals... it has an entire GUI but can be a bit complex/dounting or might seize functioning because of ?unknown reasons? so far never happened:) though ProcessMonitor another tool from sysinternals does have issues. Currently it's not working, it may depend on wmi or something not sure.

...

Still investigating the benefits and drawbacks of using this seperation of GUI and CORE in EXE and DLL/BPL. So far when BPL is missing EXE fails to start and aborts completely silently without informing user of what is wrong, I dislike this to some degree, this is a bit unfortunate.

When switching from debug to a release version, without altering the test core package/bpl it gives a pretty weird and uninsightfull error message:

"
[dcc32 Fatal Error] TestApplication.dpr(5): E2213 Bad packaged unit format: c:\tools\rad studio\17.0\lib\Win32\release\vcl.dcp.Vcl.Forms - Expected version: 30.0, Windows Unicode(x86) Found version: 116.115, Unk(ARM)"

This is laugably weird... wow ! Wink Smiley Still experimenting with what best setup is for project options for exe vs project options for bpl. Not sure if output and package and dcp folders should match from exe mapped onto bpl or if it doesn't matter and works via search path or runtime packages project options, this is confusing at best and ill-documented/unclear. Experimentation will have to uncover if there is a relation between these project settings and if one is input for exe, and one is output for package and then shared in naming which would be a bit weird.

Wow now the error happens vice versa, when switching from release to debug. This bug could be unrelated and just a newly discovered bug... hmm more weirdness from Delphi IDE.

I suspect I have to supply "debug" and "release" versions of dcp and bpl or so, in their respective configurations to make this bug go away, if it doesn't go away I would be surprised Wink

For now I tried to use "all configurations" to specify the dcp, I guess this is what lead to this somewhat bizar error message which was to be expected. I will stop here because it's becoming to much of a dev-experimentation log lol. Though it may help some users of underlying blockchain in future or maybe even my project though that seems somewhat unlikely, might help myself though sometime in future Wink in case I forget how this is supposed to work Wink

It's still a bit weird though debug and release seem to mention "PackageCore" in runtime packages. What am I suppose to do here ? Rename it to "PackageCoreDebug" and "PackageCoreRelease" hmm pretty weird. Not even sure if this is the problem... hmm.

I tried matching application dcp output folder to core dcp output folder, this does not seem to work, kinda expected this, so this solves maybe a little bit of the confusion, though other issues might still be in play, while try different approach and set runtime package per configuration, though I have this feeling that this might not be sufficient which would be a bit weird. Probably gonna have to use a search path which I dislike very much.

All that seems necessary to make it work is this:

1. Add PackageName to runtime packages. (for all configurations, so this can be done once, the rest inherits from it)
2. Checkmark the checkbox "link with runtime packages". (for all configurations, rest inherits from it)
3. Add folder to Package DCP to search path.  (This step I dislike somewhat, would have liked it better if DCPs where visible in project manager, just like pas, txt, inc, dpr, etc.
(Do this for each configuration, win32/debug win32/release, win64/debug, win64/release) (this must be done per configuration)

This should then work. When distributing/running the application, copy the BPL to the EXE folder and then it should work, make sure debug/release and win32/win64 matches. Not sure what would happen if these do not match Wink

There are compiler suffixes and prefixes available to change BPL name and such, may use this in future for now I can manage it without these helpers Wink

Now that I think about it some more it does make some sense to me. Perhaps the project manager is incapable of showing different files based on configuration/platform and such. It kind of assumes that all files on the project manager are "cross" configuration and "cross" platform.

So it's all or nothing, files which would be specific to certain platforms might be a little issue, not yet sure about this though.

Tried the setup as described above, most of it works, though it does seem to produce this error:

"
[dcc64 Fatal Error] TestApplication.dpr(5): E2213 Bad packaged unit format: c:\tools\rad studio\17.0\lib\Win64\debug\vcl.dcp.Vcl.Forms - Expected version: 30.0, Windows Unicode(x64) Found version: 108.111, Windows Unicode(CIL)
"

This is probably caused by a "configuration switching bug" (for example switching between release/debug or win32/win64) in Delphi IDE when switching configurations as probably reported before. This is a pretty sloppy bug, it doesn't switch properly and screws up the build, might even cause files to end up in the wrong platform/config folders. Probably requires restarting IDE to fix it or make a rebuild of certain files.

Perhaps using prefixes and suffixes is not such a bad idea, this could visualize these IDE fuck-ups better. For example files with suffix win32 may end up in win64 folders where they not belong or vice versa, and also release files in debug folders and vice versa. This assumes the prefixes and suffixes are correctly picked up by the compiler. Though it could simply be a wrong in-memory compiler used, so there is no garantuee that using prefixes and suffixes may catch these mistakes/errors.

To definetly catch these IDE/compiler mistakes probably requires some special coding to be part of EXE and BPL so that they can be queried to see what they really are. Then when a build fails, try and inspect them and interrogate them and perhaps that will shed some light on this situation. For now I will assume a Delphi IDE restart is enough to fix the problem. Restarting did fix the problem which kinda proves my point for now Wink

Ok testing:

TestApplicationWin32Debug can use PackageCoreWin32Debug
TestApplicationWin32Release can also use PackageCoreWin32Debug

which is pretty cool.

TestApplicationWin32Debug can use PackageCoreWin32Release
TestApplicationWin32Release can also use PackageCoreWin32Release

Also pretty cool.

TestApplicationWin64Debug.exe can use PackageCoreWin64Debug
TestApplicationWin64Release.exe can use PackageCoreWin64Debug

(It cannot use the 32 bit version though which is a bit unfortunate but somewhat understandable, though a little bit surprising too, apperently it's all or nothing full/all 32 bit or full/all 64 bit but no bit mixing.)

TestApplicationWin64Debug.exe can use PackageCoreWin64Release
TestApplicationWin64Release.exe can use PackageCoreWin64Release

No other combinations are possible.

So what a little bit of Delphi IDE restart fiddling it can be made to work like it should =D LOL.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 24, 2018, 09:21:48 PM
 #23

Time for a little update, feels like a lot of time went by and a lot of topics were researched and especially lots of development done. Can't remember most of it, but will try mention most important stuff.

Friday 20 july 2018 restructured underlying blockchain technology, probably read up on some stuff too. Contacted main developer of underlying blockchain technology for discussing critical technology problem (he on holiday Smiley) via e-mail.
Saturday 21 july 2018 Visitted my family.
Sunday 22 july 2018 more structuring underlying blockchain technology, also made a slightly simplified version of underlying blockchain technology/seperate from restructuring.
Monday 23 july 2018 lots of restructuring of underlying blockchain technology and solve problems. Became very sick late at night (norro-virus infection probably from saturday via family/baby) (Ordered some fans for cooling) Got very interested in OpenSSL and how ecliptic curve keys are generated, want to explore this in more depth. Took me on a whole tour of all kinds of theory. Too much really. Also got slightly interested in writing a new/fun special corewar warrior to demonstrate/test my better understanding of redcode instruction set since 2009. It's been a long time since I wrote a redcode warrior ! Wink =D It will represent/mimic my favorite game (secret for now) if I do continue with it's development.
Tuesday 24 july 2018 spent all day in bed recovering from nasty norro-virus infection, feel much better now. (Most still commit some uncommited solutions, will do so now to underlying blockchain technology just in case Wink)


Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 26, 2018, 11:15:34 AM
Last edit: July 26, 2018, 04:27:23 PM by Skybuck
 #24

Wednesday 25 july 2018 spent half the day recovering from norro. Did think about and come up with a way to integrate hashing and redcode, kinda already had this idea but now understand better why this is important Smiley
Thursday 26 july 2018 feeeeeeeling much better ! =D Riding the heat wave currently, 29.5 degree celcius indoors, expecting 35 degrees to hit this afternoon and evening, fortunately high up in the sky and slightly little breeze is blowing which makes it kinda nice ! =D Ordered 3 fans, 2 were in stock, 1 has to be delivered from manufacturer and this is delaying the whole order (first I ordered 2, then decided to go for 3, me a bit unlucky there Smiley but eventually it will hopefully work out =D these very nice standing fans with loads of airflow, must have them for kicks Wink Smiley also getting slightly worried about high-rise-buildings and such oh yeah.), fortunately the air is breathyl and not as bad as it was a few days, guess this little wind is quite nice and causing some better/fresh air. I am having a fun day now that I through everything open and discovered to my pleasent surprise this cool breeze of air lol, do have two fans blowing back the shitty air from the front, but maybe not even necessary though it does help... I'll very glad when I am completely back on the horse/saddle and being more productive yeah, though thinking important too. Seems like today will be the day when I climb back on the crypto-dev-saddle ! LOL. To be continued... I wish all of you a nice summer or winter where ever you are ! Wink Smiley

This coin system is mostly being designed to thwart the attempts of asic and maybe even gpu mining, but not so much pool mining and compute cluster mining, might consider implementing something to thwart those too... for now I'll be happy if this system gets down some day in some kind of initial form... but for now back to underlying block chain tech to make it a bit more understandable and better and then back to this project possibly Wink

(Also read a bit about spectre RSB attack, return stack buffer or something like that... interesting to read when I have "free" time in bed or so Wink I like printing out documents like that, it's quite historic in a way Tongue Smiley stuff of sci-fiction almost =D It's like a thriller for computer programmers Wink =D)

As they would say in USA... "It's a heat, but it's a dry heat" ! LOL. I think I understand now, it's not so moisty/dempth... dry heat is kinda nice though, at least less sweaty. Hmm I have a humidty reader for this totally forgot to watch it lately... humidity is 38%... feels quite nice. Yeah this meter does show a clear drop in humidity, last few 4 days it was between 40 and 60%, now it seems to have dropped below 40%.

Oh yeah, today is going to be a TEST OF HEAT. This will seperate the cows from the cowboys ! LOL.

I feel confident that my more than 10 year old system is up for the task at hand ! =D I am so glad I have antec 1200 case system... it's holding up quite nicely... did have to spin up the motherboard fan manually though (I do that just in case Wink tiny little motherboard fan pretty much no match for antec 1200 cooling power.. it's probably not doing much but still Wink), it doesn't spin up lately by itself but that's ok.



(What's kinda weird on this picture is it does not show my second hard drive ? a data drive, perhaps it's spindled down/sleep mode... a bit weird.).

I used windows explorer on that drive to see if it would be added seems so... gonna make a screenshot of it... just to get that harddisk information on this screenshot as well, might come in handy some day for boot order determination or other uses) (seems to be a slight bug in hardware monitor does not show HDD name/info, oh well might have to update this tool sometime):

Oh boy oh boy do I have a surprise for you: SURPRISE ! missing HD right there ! LOL... still somewhat in stealth mode cause of missing hd info... *the humor is high with this one*:



(Even more strange is that this missing drive is actually my system drive C: ! LOL oh man this is one weird hardware monitor tool... just windows weirdness I guess... I can handle the weirdness for now... used to it Wink)

(Strangely enough my webhost or web browser firefox can't handle this link: kinda funny... discover someting new every day ! Wink too much complexity for such a thing to not occur Wink) argh argh haha):

http://www.skybuck.org/Hardware/DreamPC2006/26%20july%202018%20at%2014h04%20ambient%20temp%2030.5%20degrees%20celcius%20exhuast%20fans%20at%20middle%20setting,%20input%20fans%20at%2075%25%20setting.png

Seems webserver can't handle it though... not sure if this is according to the specs... Apperently I am pushing these systems a little bit too much... oh poor little weak systems (can't handle a bit of description in the filename... don't worry... for my and your historic pleasures I have embedded the text into the picture as shown already =D...) argh argh =D

Today I am very glad with my relatively low heat/passively cooled GT 520 lol. Though there are probably better graphics chips out there that run even at lower wattages, but with also 1 GB of ram ? hmm...

Ambient temperature just rose 0.5 degree... to 31 degrees celcius... exciting heat day today ! =D My antec 1200 and system build still has 33% additional cooling capacity from exhaust fans... and 25% cooling capacity from inlet fans... can it handle the rest of the day ?! =D Will be keeping an eye on temperatures ! LOL... only some web tabs open... cryptopanic.com ! Love that site.

As long as temperatures stay below 50 to 55 degree celcius everything will be just fine. If it goes above 55 degrees celcius system will auto-power-down.... very nice overheat protection ! Wink Though ofcourse I'd rather avoid it and thus increase cooling power if necessary ! Wink =D (Forgot exact power off setting, I think it was 55 degrees celcius yeah... 60 is a bit much... so I probably set it to 55 as usual a long time ago.).

Nice to see harddisk temperatures holding up well too... this is ofcourse the most important part of any system (containing important information ! Wink Smiley)).

It's also kinda interesting to note how my PC seems to be behaving slightly different because of this massive summer heatwave... it failed to attach a filedisk image properly... usually it's one of the other ones from time to time, this time it was my music file disk image... no problem re-attaching... but sometime must have changed during the booting... slightly different timings... causing different effects !

Hmm airplane passengers may be at risk if planes starting behaving slightly different too then pilots are used too... much interesting insight Wink the risk of dieing in a plane crash is now probably just 0.001% (just based on computers/software no accounting for other heat related factors (!)) (one airport was actually shut down though, runway cracking up/sweating under heat...)  higher but still =D enjoy your flights ! =D

Meanwhile some roads are being covered with salt, to prevent them from melting and same for car tires ! =D too funny.

Tomorrow will be another hot day here in THE NETHERLANDS ! =D

And then some more cool downs ! LOL.

Oh yeah the risk is real, I re-attached the wrong music file disk image haha an old one, instead of the new one, if I were a pilot I might have crashed by now ! LOL. Now the proper file disk image mounted ! LOL.
(Some weird vhdattach bug or windows bug doesn't list the drive letter, so two music disks were attached, only one was visible, but now the correct one is visible... yeah with 100.000 operating system bugs, something is gonna fuck up once in a while hehe). What's even more scary is I only noticed this because I couldn't find something which was more recent haha... fortunately both music disks already fulll... I could have ended up using the wrong one though if it wasn't full... though unlikely... does show how dangerous using file disk images can be if inserting the wrong one, must play more close attention to this and must find a better storage ordering of files, should remove older folders to their own special archive folder or something, but for now gonna let it be... not risking a disk movement bug or fuck up haha... Gotta get a new system first ! Wink =D That will be sometime until amd chipset backdoors and specte processor bugs are fixed, this could become an eternal wait though. Maybe a new company will rise to power and sell "secure" low processing speeds processors instead of current highly unreliable ?! JUNK ?!

My bet is it won't be long before the "bitcoin community/world" starts demanding it... demand will become high for these kinds of more secure more reliable systems ! Wink Smiley

Kinda funny though to see the evolution of my music download/collection. Ok enough of this stuff, on with the world ! Wink =D

Wow the weather is pretty crazy right now:

1. First of all my bed is being warmed up by the hot air lol.

but what is even more crazy:

2. There is now slowly a storm building as predicted, but this is the first "warm" storm" I have ever witnessed and felt in my life ! =D

A warmy stormy wind... like tropical storm or something ! LOL. This swamp land turning into jungle land ?! maybe paradise land with tropical plants like palm trees ?! Wink Smiley

WOW paper starting to fly a bit, lol super cartography/super mario mix playing with mario laughing LOL, today I am happy ! =D most be the after-norro effect and after-sweaty-shitty-days-effect lol. Humidity now 33% but I think this will rise soon if it starts to rain... can feel it already becoming more humidid. Yeah it slightly raining, will take a while for the meter to adept to it, probably a warm rain too haha, reminds me of acid for blood of aliens... warm rain yeah. Neh felt it, it still a little bit col Wink Smiley but probably way above normal temperatures for rain ! Wink

Meter shut up quite quickly, was kinda enjoying this dry heat... now it s getting sweaty again I think, already 38% humidity... oh it just jumped to %40... arrr... %43

15:42:
This is a nice extra test to perform on hardware.... quickly fluctuating humidity levels... wonder if hardware is tested for that and if it matters at all... hmmmm... probably rare events but still weather may be changing a bit Wink Ambient temperature dropped a degree from 31.5 back down to 30.5 degrees... 30 degrees... wonder if we will still reach 35 here today, otherwise maybe tomorrow Wink Smiley

I think I will conclude this posting with a possibly new hypothesis about the norro virus:

1. First of all I am kinda of surprised there is no medicine against the norro-virus, especially since close to 1 million dutch people get infected by it each year.

2. Now having experience it myself, I am starting to believe, this virus does more than just make you diaaarreeeya a lot, it might actually reward you for having been it's host. It might be injecting your brain with pleasent chemicals after it almost leaves your body, as a final attempt to try and influence our behaviour and not hate it so much. I did intensely hate this virus when I had it, but now that it's almost over I am having a blast ?!

Is it just me happy to be alive/get rid of it ? Or is there more to it... you be the judge... consider this an x-file ! Also... the lack of medicine does tell you something about the "secret love affair" that medics have with this tiny little cute virus ! LOLOLOL.

18h27 of Thursday 26 july 2018 finished restructuring underlying blockchain technology for most essential parts, circular unit reference problem is now clearly visible but can be disabled so that code is usuable to examine underlying blockchain technology a bit better, however debugging capabilities would require the fixture of these circular unit reference problems, which would be highly desired to fix these.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 27, 2018, 02:25:23 PM
 #25

Friday 27 july 2018, weather update: 32 degree celcius inside/shadow, humidty 22%, talk about a dry heat ! LOL.  Hi Hicks ! =D LOL.

Gonna game a bit see how my PC holds up, kinda new main dev to look at these circular dependencies anyway... underlying blockchain technology might need lots more of restructuring, may have to continue this project without massive restructuring, might cost too much time, though would be nice if at least some modest restructuring was done at least to solve the circular dependencies.

Did set my PC fans to MAX just in case, some max temperatures seem to have briefly gone to 60 degrees or so... that was GPU.

Will upload some screenshots during start and end of my gaming session, if my PC can survive this ! Wink
disbil
Sr. Member
****
Offline Offline

Activity: 546
Merit: 250


View Profile
July 27, 2018, 03:24:31 PM
 #26

The idea of Corewar Coin does sound interesting, I wish to learn more about this project.
Hopefully there will be more information available in the future.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
July 29, 2018, 10:58:12 PM
 #27

Saturday 28 july 2018 played some world of warships... (I think ? can't remember this day clearly Wink Smiley yeah probably half way... watch some youtube videos about how banks catching/cought up to bitcoin by cheap mobile transactions, bit demotivating, though there is still the creation/borrowing of money idea which is interesting alternative to banks Wink) Probably also tried some more difficult restructuring of underlying blockchain, but this failed... too complex/vague, original developer will have to clean that up I think and some slightly more analysis of how the code works, which is very hard to understand in my honest oppinion Smiley Also some of that in 27 july... probably watch some back to the future... yeah that was it, all 3 of em ! LOL.
Sunday 29/ Monday 30 july 2018 did some research and code development in delphi in regards to spectre attacks, great fun and amazing and learned some interesting things about how to do this, still not done with this research and code development, this is an important topic though, have to spend some time on it Wink
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 01, 2018, 06:25:19 PM
Last edit: August 04, 2018, 09:07:25 PM by Skybuck
 #28

Tuesday 31 july 2018 Played World of Warships, did get spectre working in visual studio 2010.
Wednesday 1 august 2018 Spent more time on trying to get anything "spectre" related working in Delphi, currently not yet working in Delphi, still fascinated by this.
doge_shit666
Member
**
Offline Offline

Activity: 350
Merit: 10


View Profile
August 01, 2018, 06:33:55 PM
 #29

Corewar is the coin of the gamers. The way you give the community access to information about the project is also a special way for those who are interested in Corewar to continuously monitor the project. But this is not the way the project competes with other platforms with the same goal. What's more special about Corewar?
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 02, 2018, 04:35:42 PM
Last edit: August 06, 2018, 01:51:01 AM by Skybuck
 #30

Thursday 2 august 2018 more restructuring of underlying blockchain technology. Circular references solved, References to References to References Reduced, constructors with TComponent removed, some problems remain in "GetNewBank" and such Wink Smiley (Also brought pants for repair LOL) Another hot day in The Netherlanddzzz. 30.5 degrees celcius indoors, a dry day though, humidity 33%... "market in the city".. lots of people enjoying themselfes in the city ! =D

Friday 3 august 2018, another hot day in The Netherlands, didn't really sleep much, did rest a lot, found a new version of Delphi Tokyo 10.2.3 (and some "interesting" code =D LOL), will install it soon =D Did try a minimal version of spectre, though didn't work yet.
Bicycle sport outside, again people had a nice day in the city ! LOL.

Saturday 4 august 2018, tried to install No Man's Sky on laptop, the experience was laughable, msvrt100.dll missing 140.dll missing etc, install msv distribuables game says need 8 GB ram lol. Anyway... proceeded to install RAD Studio/Delphi/CPP Builder Tokyo 10.2   (it still fails to compile inc(int64,uint64)) however it looks nice this new tool. Investigated spectre and clflush some more, came across some nice cppbuilder code example in spectre github comments, tested it it worked, then translated it to delphi. Spectre attack now working in Delphi as well, even in Delphi Seatle... pretty cool. Installing Delphi took a long time though, even ended up installing in wrong folder (maybe cause I ate an icecream with 5% alcohol in it lol), but moved it and fixed it with migration tool... pretty cool, except uninstaller/repair tool might now get confused though, but that's ok.. help files working, tools working, so all seems good for now. (Last two days still hot in The Netherlands seen 31.5 to 32 degrees celcius on temp meter in-doors ! Wink fortunately my system holding up well =D) Ethernet/Internet again completely failed between laptop and DreamPC... why I really don't know tried to use UTP cross over cable too this time... think it's a software issue on one side... really annoying, had to reset cable modems constantly to switch between PCs and upload/download files from the internet, wanted to move 1 music file to other computer was a pain in the ass. Anyway I know now my download is 24 megabyte/sec since the laptop is faster than my DreamPC when it comes to Torrenting haha... probably hash calculation speed/cpu bottle neck on DreamPC from 2006 Wink had a disk cache of 1 GB it goes full fast though... kinda funny.. nice to have though to catch some disk activity well doing other stuff Wink at least this allows it to continue downloading until harddisk available again for writing Wink did end up deleting it from hd again to make room for Delphi, can't play that game anyway on any pc right now but it was a nice download test Wink Smiley)

Sunday/Monday 5/6 august 2018 read spectra paper again to understand it a bit better, experimented some more with source codes, also tried a cycle accurate thread slice visualizer by using rdtsc and such, little bit interesting. Measuring cache hits/timings across an entire byte range from 0 to 255 is very hard to do correctly/accurate, in this sense the spectre paper may be a bit misleading since it only examines alphabet values. I cannot get it working accurately all of time also developing special functions also seems nearly impossible, so it's practical use is somewhat limited in a way of trying to implement new attacks, trying to develop my own from scratch is hard and kinda failed so far, may have to take a different approach and go from example down to more elaborate schemes/algorithms, but I am starting to believe it's not really very generic, I could be wrong about that though Wink It may also be Delphis somewhat limited code generation optimization that plays a small part in it, but probably not, the technique itself is somewhat questionable, though meltdown claims to be able to suck down a byte ranges from memory, now me a bit skeptical about that, though it does seem to use a different technique, an out of order race condition, may have to try that too sometime just to see if this produces more reliable and generic results.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 06, 2018, 04:48:17 PM
Last edit: August 06, 2018, 05:27:58 PM by Skybuck
 #31

Monday 6 august 2018 TEvolutionTree data structure version 0.03 created, if everything goes well this data structured will be used to evolve warriors in a "origin of spieces" / darwin kinda way ! =D It's design is basic for now and may have to be adepted in future, might make a virtual tree of it, not yet sure how to proceed with it, but it's creation and destruction is implemented and working correctly for now ! =D

And now time for a weather report lol. The heatwave in Europe/The Netherlands continues... today is 32 degree celcius in doors, pretty much a record, cannot remember or very vaguely when I last saw such a high temperature, windows/doors open nice cool little breeze blowing =D Tomorrow will probably be the hottest day, 36 degree is expected, very curious if this record will be achieved ! Wink Smiley Using this nice oppertunity to
de-frost my refridgerator, god knows it was necessary ! LOL. Then in with the pizza and fries/chicken lol which were ordered today LOL. Wink =D
It's fascinating how the ice almost completely evaporated, very little water was spilled Wink Humidity is 24 to 25% right now.
I just had an idea, I put a ventilator on the fridge, to blow away the hard to reach spots of ice ! Wink Smiley  funny ! =D the cheese inside of it might not like it, but that's ok =D
Yeah it worked, some hard ice out of there, strangely enough I could swear I smelled some of my own aftershave/parfum in that ice ! LOL. Strong parfume LOL, Identified ! =D
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 07, 2018, 09:56:47 PM
 #32

Tuesday 7 august 2018. Tried to solve some crypto riddle, not solved yet. Filtered my pyramid scheme idea text for valuables ideas, basically took over it's ideas tought about it some more and worked it out, I am not pretty sure I will want this design eventually, might implement it directly, or might first try a simpler design, though a simpler one might not work too well, but will be less computationally intensive. I am kinda intrigued by by currently more complex design and thus will probably try and implement that tomorrow with hopefully a fresh and energetic start of the day ! Wink =D Though maybe I even try it now, not yet sure... usually I want to sleep on new ideas, though this is not exactly a new idea, just to be sure I don't wake up in the morning with an even better idea/design and then wasted effort/energy the night/day before it! Wink Smiley Also one should have plenty of energy when implementing new designs, otherwise when low on energy, corners may be cut, and that may be regretted later on with weaker/messy "cut designs/implementations" Smiley

Also wanna do some WoWs right now and yeah one more thing now temperature records were broken today, at least not indoors, still 32 degree celcius or so, it was a bit cloudy so that might have prevented extreme heat from developing cause some percentage of the sunlight probably reflected back into space. There is another kind of record though, right now 0:03 at night it's still 30 degree celcius, never seen such a high temperature at night, at least not that I can recall, so I will enjoy this blog, assuming it still exists then, in the future ! Wink =D

Renamed this thread from Corewar Coin to CoreWarCoin... I think that will be better for the future.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 08, 2018, 07:37:02 PM
Last edit: August 09, 2018, 09:02:57 PM by Skybuck
 #33

Wednesday 8 august 2018. Completed the data structure for TWarriorTree based on TEvolutionTree. It's now ready to implement all other functionalities. Today was nice cool day, 26 degree celcius mostly.
I will have to do some more thinking first how to properly use these new data structures. Found another way to create the same data structure with just a fraction of the lines of code, will have to evaluatate which one I find more pleasent to work with... hmmm... and there is possibly a third, and even a fourth way of writing the same code. Can't really say that all these new languages features make my life more easy Wink on the contrary, now I have to choose what kind of implementation to use, ahhh, all have their adventages and disadventages, but this is the fun of programming ! Wink =D

Anyway wanna add a little funny note: today, this night 2:22 am or so 9 august 2018 street lights went out, and traffic lights, only for a few minutes, maybe some kind of bug, or automated reset, should try and see if this happens next year as well ! LOL. It's a very rare event that's for sure. Only one street seemed to go offline, kinda weird. (This could also have been a sign of hacking).
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 11, 2018, 03:00:47 PM
 #34

Thursday 9 august 2018 went shopping/seeing around for new glasses, found a nice one, first wanna show it to somebody else lol.
Friday 10 august 2018 went to meeting, did watch some blackhat presentation slides about hidden instructions in via c3 processor, interesting, method of detection also interesting.

Saturday 11 august 2018 just heavily modified/seperated corewars executor so that it can now run redcode programs individually, very nice... feels like alien technology ! LOL X-Com music playing ! Wink =D This gonna be awesome I hope/I can feel it ! Wink =D YEAH ! =D (This will be used to evolve evolvers ! Wink =D a new experimental idea that has nice been tried before as far as I know ! Wink =D)
Nggedebus
Sr. Member
****
Offline Offline

Activity: 770
Merit: 250


View Profile
August 11, 2018, 03:13:18 PM
 #35

For me, this is a unique project, this has some kind of codes that act as a warrior that will fight for honor ( in this case "point").
This sounds like playing a video game that you have a cheat code to play the main character all by itself to gain some points from every winning war.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 13, 2018, 01:31:28 AM
Last edit: August 14, 2018, 02:46:09 AM by Skybuck
 #36

Sunday 12 august 2018 played Dead Cells ! Whicked game ! =D LOL.

Monday 13 august 2018 thought some more how to implement my much desired evolution tree evolver instead of battlefield evolver Smiley. Probably going to have to base it on battlefield evolver and replace battlefield with "treefield" or something like that, to safe lots of programming effort, though some of the new programming effort can be re-used to implement some more advanced features.

Tuesday 14 august 2018 significant progress has been made with implementing trees. I decided to keep it simple (already thought of that on monday) and implement the most easy version possible, by copy & pasting code  from other files, to put together source code exactly like I want it Wink Smiley or at least something that is easy to use, complete and just well tested and easy programmed sort of Wink Smiley using this new design implementing new features will be very easy and very fast, also it will even safe some processing since this new structure is more efficient/smaller and does exactly what I kinda wanted ! Wink Today is a remarkable day. In 2009 I designed the 2009 specification and today for the first time I have seen random "generated" warriors using it. I never did that before, so this is pretty cool ! It may turn out that the new warriors might be using this specification a bit too much or not at all, and it can't use too much, thus using it much might be a good thing... at least for evolvers =D. I am now entering totally uncharted territory/waters ! =D I have no idea if these evolvers are going to work, but I am confident and full of hope ! =D (I already know older/statistics code worked, this new idea is like the old idea on steroids, sort of ! Wink as long as the evolvers can make some sense of it... it's a bit different though, it does not analyze warriors yet, but perhaps I may build in that functionality later on if it turns out evolvers are not good at evolving warriors without further input/data from existing warrior code bases.)
(Loading/Saving and generating evolvers was easy to implement. Now the more interesting part is to be done. Making the evolvers evolve themselfes and generating warriors, by executing it in a redcode executor, this is again new stuff, never tried before... this is the part where it's about to get interesting ! =D... then they still have to be battled these "clones"/"generated warriors"... since the few first batches/species will probably suck, so there is no fast way of telling if this is going to work, for this a simulation/evolution session will need to be run, so that is the next step... implementing this and then doing some small evolution runs ! Wink Smiley This will allow to evaluate if the general idea is working somewhat or not at all ! Wink And this should give some sense of what fast warriors improve or not at all, and if perhaps something needs to be done to increase good evolving speed, for now all bets are off and just gonna let it be in it's first initial concept ! Wink Smiley)

What is kinda funny though is I can already run these warriors in my own corewar simulator which is available on the internet, so for the fun of it I am going to try that, another premiere/first ! =D yeaaaahh.

Running the evolvers works. Copieing warriors from them works, these are saved/loaded too for now (just in case... just to be consistent/persistent).

Now all that is needed is "simulator" to be modified so it uses these slighty new/changed TRedcodePrograms Wink and then battle the warriors... and finally swap the best one up with worst one, and generate a new one for the very worst one Wink for battling probably requires a "gathering" of warriors into a list or so... to be able to battle them for a certain "group". These implementations will be done after some good night sleep ! Wink Smiley
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 15, 2018, 04:11:41 AM
 #37

Wednesday 15 august 2018 Decided to implement this evolving of evolvers in BattlefieldEvolver first since it already has all the code/plumbing in place. version 0.48 and version 0.49 leave the processess existing for the evolvers. Tested warrior sizes of 100 and 20.... so far it does not seem to be evolving the way I would like to. Also it's been since 2009 since I last tried evolving some warriors... kinda forgot how much time it takes =D
This could be a good thing or a bad thing depending on how you look at it. This project might be in a bit of trouble =D

One possible solution is to focus on coin system/protocol first and let external parties try and develop evolvers or plug in their warriors. Though I would kinda like a warrior evolution system in place. One idea which comes to mind is a distributed warrior evolution system where multiple parties work together and the one that finds a better warrior might be rewarded... bit like a lotto... not sure if this is a good idea... looking at a battlefield like that might be some fun though. First I have to figure out why it's not evolving though...
disbil
Sr. Member
****
Offline Offline

Activity: 546
Merit: 250


View Profile
August 15, 2018, 04:40:11 AM
 #38

So the site of corewar isn't ready yet.
Where should we seek for more information about corewar, if he site isn't ready to be access yet?
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 16, 2018, 07:48:16 PM
Last edit: August 18, 2018, 06:51:48 PM by Skybuck
 #39

Google corewars and redcode and maybe koth, you should be able to find a lot of information !

Thursday 16 august 2018 Last two days I did some investigation into why the warriors are not evolving. First I thought it might be because there is no evolver process running or maybe it needs more processes running at the same time, but now I am starting to believe that the idea that software could evolve itself out of the blue might be wrong, or the chance of this occuring is really really low. Thus for this project I will probably have to fall back on more "god-like" code, or "radiation" code where instructions are slightly modified by an external process. I could still keep current design and simply apply radiation to both evolver and evolvee Wink That could be fun to see if maybe eventually some self-evolving occurs or not... this is a bit of a bummer though.

17 august 2018 Hmmm I just had an idea how to improve the self-evolving, so I am not yet giving up on this idea ! Smiley Secret idea for now, but the hint will be: "stop playing for god at the initial state" Smiley
Implement this idea, made the necessary changes... little bit more interesting now, still not self-evolving though =D May have to re-focus on blockchain itself instead of evolving, but for now having too much fun and interest in evolving, project won't be as much fun for me at least if it doesn't have a good "default-evolver" so for now will probably continue into this pursuit of a good default evolver for a while Smiley

18 august 2018 worked some more on more corewars simulator, didn't really get very far yet at implementing the rest for the GUI, restructured GUI to allow floating windows, not sure yet if I liked it but with certain positions for the forms it might still be nice, also perhaps some docking and undocking support, and/or use of frames the restructured/form code can be continued to be used. I think it will be usefull to get a slightly better corewar simulator working that has all features implemented, like coresize settings and also more visualization of processes. Shouldn't be a lot of work to do... but does require some effort... I may also try and spent some time on a better gui design, though once I start using it I do notice, it's kind of a new gui design from certain point of view.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 19, 2018, 06:12:34 PM
 #40

Sunday 19 august 2018 I worked some more on Skybuck's Corewars Simulator, it's now up to version 0.40 and I am starting to like this version ! =D Simulator Settings can now be set and will have an effect.
Some more work will need to be done on visualizing process queue, and visualizing private space, and I also want a private space view, and then maybe also handling visualizing bigger cores. Once these major facilities have been built in I may decide to release this version onto the world ! Wink Then later additional features may be: 1. saving simulator settings 2. setting breakpoints in core view/simulator and finally in the futher future 3. selecting instruction set between 88, 94, and my spec2009. Though I don't really set any motivation right now for feature 3, that is more out of curiosity and completeness sake, so that's on the "backburner" for now =D
Another feature which comes to mind is 4. saving form positions and 5. a reset to default form positions. Oh yeah and also 6. A working/updated execution status of different internals of the simulator would also be nice, like a "debug view of the cpu" Wink (only then will it make sense to 7. bring manual execution controls online/in working state to see how instructions are executed part by part (called actions for now).)
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 21, 2018, 02:15:47 AM
Last edit: August 21, 2018, 02:27:32 AM by Skybuck
 #41

Monday 20 august 2018 Tired today, messed around with GExperts source code, interesting tool, unfortunately it cannot replace space with tabs or vice versa via grep search (to apply to multiple files via results), did file a bug report. Also wrote a test program to shed some light on ASIO (audio stream input output) api control panel latency buffer adjustment bug, when buffer is resized while buffers are being filed creative lab's asio driver/dll seems to crash, not sure though, could also be a Delphi code issue. Reported this to a maintainer of a fork of asio I think and he might look into it, though it depends on people's soundcard and driver installed, this problem might be driver specific or perhaps not. Thinking of continueing corewar project by applieing back some code from underlying blockchain and then implementing some hashing changes so it can use some corewar/redcode specific techniques, for this I will first need to replace tabs with spaces or vice versa to make code comparision a bit easier. I also found another nice tool a few days ago maybe yesterday called Code Compare... quite a nice tool, it has a freeware version, highly recommend this tool already it can do file and folder comparisions... only annoying this is it default to file comparisions when it starts up, but maybe I can get rid of that so it shows nothing/no default project Wink Meanwhile underlying blockchain technology might change a bit so I am keeping an eye on that as well Wink May have to dive back into the re-structured fork of it, to discover exactly how it produces "blockchain forks" or subchains... this is kinda interesting to know it might even be required... also still interesting to analyze security of this underlying blockchain further.

(It was a bit a funny experience downloading GExperts source code via SVN, it downloaded all the branches/tags and trunk, which in total is 650 MB, this took quite a long time, finally I deleted the branches/tags which was something like 625 MB, don't need those, not sure if Delphi IDE can used to specific to download trunk only, I guess this is done by specifieing this particular folder, not sure if that will work though, may try that next time. I renamed the trunk folder to: trunk (Revision 2388), so this is the revision used for GExperts for Delphi Toyko 10.2.3 and worked flawlessly, it does default run a debug window in the taskbar though, this was at first annoying a bit, cause it popped up every time I started Delphi... confused the hell out of me, cause I already run the exe out of curiosity so first was like wtf this keeps popping up, but it's a nice feature to debug gexperts itself I guess Wink this downloading took quite a long time... was kinda interesting to see how this tool was created... it's quite large... I kinda intrigued by the test files... not yet sure what that's supposed to be ? automated testing ? or just files to test the gexperts operations/processing on ? I am guessing the latter.)

Something wrong with todays tools though. Processing files individually is kinda not suited anymore for todays era of big software projects. Kinda wish they would integrate windows explorer and use checkboxes on the tree to indicate which files to include for processing/compiling/replacing text and which ones not... especially if entire sub folders can be check marked... and also file extensions specified to filter the processing.

There was also an amuzing little bug in code compare which kinda confused the hell out of me, the *.dcu filter wasn't working. Today I noticed there was a little space in front of the * which made this tool fail to recgonize this filter, now it can nicely filter away those annoying dcu files (delphi compiled units) Wink Smiley

(Bit bored with Skybuck's Corewar Simulator application for now... <- I think it's good enough for my purposes for now if the need arises to test large warriors) next few days I will probably re-focus on learning underlying blockchain better to be able to successfully modify it to do what I want ! Wink =D
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 21, 2018, 09:52:00 PM
 #42

Tuesday 21 august 2018, I investigated the usage of Code-to-UML tools. Delphi Enterprise is best for this, it has two usefull diagrams: class diagram and sequence diagram for a method. There is also a nice youtube video explaining this from 2017: https://www.youtube.com/watch?v=n7Jm5loU_QY this can help at understanding what the code is doing somewhat. Other tools cannot read pascal/delphi as well, crash a lot or cannot make the relations properly. One tool was kinda interesting IBM Rational Software Architect for it's "sketching" feature. Kinda worried if something like that exists and it does... pretty cool, untried but there is a nice youtube video of that as well. For now I am sticking with Delphi as usual =D I will probably play around some more with the sequencing diagram. Both diagrams take a couple of seconds to generate but well worth the wait Wink
(They are limited though, can only display links between classes for a single unit (this can be somewhat misleading I think and is unsuited for my one object/class per file development wishes Wink). One idea is to copy & paste all code into a single unit and then display that, this takes some editing work though, another option may be to use includes and split files into interface and implementation like c/c++ and then include them all into a big file).

Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 24, 2018, 01:55:34 PM
 #43

Wednesday 23 august 2018 and Thursday 24 august 2018, experimented somewhat with refactoring underlying blockchain technology and tests in general.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 26, 2018, 04:15:24 PM
Last edit: August 26, 2018, 06:44:08 PM by Skybuck
 #44

Sunday 26 august 2018:

I have some security concerns about the possibility of "replaying" found/strong warriors. This appeared to be a possible attack on koth.org which had to be resolved manually/by human hands.

Found/strong warriors could be used to re-write chain history. One possibility would be to make corewar settings random and contents of core linked/chained to previous cores.

Warriors might even be required to use instructions from these cores only as to increase linkage and difficulty of finding suited warriors.

I would still be concerned that strong warriors could be re-encoded into these randomized cores so it's not a true protection against replay attacks.

It would also produce weaker warriors, since evolvers would have little time to evolve stronger ones.

Weak warriors is undesirable for me personally though.

I may have to come to the conclusion that corewars is not really suited for integration with blockchain technology and thus I may have to cancel this particular project.

Though I might still start a clone of underlying blockchain technology and then make some other adjustments lol. But this would be a bit cheesy lol but could still be good =D

For now the coming weeks I am going to play some World of Warships ranked for maybe some inspiration ! =D LOL. This will take a month or so, after which I may continue thinking about this project if there is a way to do it more securely, I am starting to believe there is no way to do it really well, so this may be the unfortunate thruth. I could still go forward with it, but then it would be very risky, and then sometime in the future it might be "hacked"... don't really want that... so better not to start something that might be hacked like that in future Wink

Ok after playing a few minutes of World of Warships I think a possible solution might lie in the "difficulty calculation". One idea could be to require new warriors to earn significantly more points than the previous one.

For example always +10 or +100 whatever makes sense, this is a bit trial and error perhaps not sure what exactly makes sense or what would be too difficult. This may solve the "replay attack" in an abstract way, since modieifing warriors slightly would not be enough... it would be easy to make copies of warriors and change some instructions to make them look unique, but to actually make them perform better which is what peers should be rewarded for is not easy... so this might be a nice solution... at a small risk that it might take some time before a newer/strongest warrior is found ! Wink

This may introduce the risk of blockchain getting stalled/hanging... no more new blocks found, to solve that problem there could be a "fallback" mechanism, where the old system of hashing with leading zero bits is used.
If no better warrior is found the system falls back to hashing with leading zero bits, until a better warrior is found. Does sound like a nice solution at least for keeping it going. One possibility is to only allow transaction fees in these leading zero bits blocks to keep focus on finding warriors. Re-writing history with these leading zero bit blocks might be a bit difficult since competing these will also be very difficult but in future might be easier... Also to determine which chain wins, the chain with the most/better warriors should win in this case, followed by the chain where equal number of warriors reside with equal winning points and finally most work done on hashing from the last warrior onwards or so, though this would allow a somewhat re-written compressed chain... with warriors only at first, and then hashes... but eventually the hashing chain should win out... so seems like an ok solution... might come up with a different solution though to keep leading zero bits out completely.

Alternative solution might be that only when 5 minute time has been exceeded, the previous warrior might be used in the new block... however with a little twist... original publisher of warrior would then get the coins =D so he may become a rich bitch ! =D Little bit unfair but maybe not... good incentive for people to find better warriors, think this is gonna be cool ! =D

This reintroduced problem of warrior distribution and quickly copieing once elses warrior and re-distributing that as fast as possible... again random core with random instructions based on author name as random seed might help with that... basic idea as described above but might make warrior weak again... unless this idea is restricted somewhat a weaker version of this idea, where perhaps all instructions are allowed, though the core is still fed with random instructions to maybe make it a bit more difficult to re-produce the end result score based on corewar filling with author name as seed. Changing this author name/bank account would then maybe not make the warrior work as well as it would otherwise have... not a too bad idea... doubt it will work well in practice, but could be tried, to offer perhaps some protection for authors... if core is seeded always the same author could try and optimize warrior for that and indeed use some instructions from the core, but this might tie the warrior too much to this specific core setup and this is again not really what I would want... I want general/generic strong warriors, not warriors optimize for a certain core fillings and such hmmm... Also encryption of warriors come across my mind and then only later revealing the key, but again this would make it a bit difficult to determine which chain is longest/best and such... by the time key is revealed a better warrior might have been found so a bit risky, though that second warrior faces some problem of revealing itself.

One idea could be to only reveal warrior once enough peers have acknowledged it's receivement, then it's decrypted, and evaluated to see if it meets certain criteria... system could process warriors on a first come first serve basis... however this also prevents problem of "warrior spam"... congesting this queue, this could be a valid attack against corewar coins, since it takes some time to evaluate a warriors performance.

This introduces problem of "what if decryption key" is not provided.... time would have to expire after which next one is tried, but this could be an attack vector...

I think I just came up with a solution for this problem:

Warrior + Author name/bank account is hashed with leading zero bits, by author itself, so it can pre-computed this before submitting it to network... this should give network some time to distribute it around, before the hash is recomputed... perhaps not a super good solution since massive factories might be capable of re-computing it fast and replace author... but it does give author some method to calculation some protection, it's then up to author to decide how much computation/leading zero bits is enough for him Wink
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 28, 2018, 02:49:27 AM
Last edit: August 28, 2018, 03:32:41 AM by Skybuck
 #45

Here is an alternative idea to leading zero bits for constructing a blockchain.

Now that the "author" of the warrior has "won" the "corewar" and has a warrior that can do 10 points better, only this author is allowed to advance the blockchain by +1 block. The author's private bank account key could be used to sign this new block and then this block is added to the chain. Other peers can determine the block is valid by using the public key of the bank account to verify that it was indeed signed correctly.

Thus constructing a leading zero bits hash might not be necessary.

Interesting idea.

This author/bank could generate multiple of these blocks, creating multiple subchains and such, but eventually one of them will probably become the largest/longest one/advanced one and be the best/valid chain.

One problem with this could be if private/public key of bank account changes... hmmm..

One possiblity could be to then later hash the block, to create a linked-chain of hashing, so that it cannot be changed easily without changing the rest of the chain. Verifieing that the block was genuine is then simply done by computing hashes only when blocks downloaded from clients, for new peers. In this case author/bank account and block is not checked to see if it matches. Only when peers receive a new block which they have not yet seen is it checked, this might be an oxymoron though =D cause chain should probably work during downloading as if the block was generated... not sure if this can simply be ignored... probably not... unless peer relies on existing peers to compare hashes and make sure it does hash to the correct chain which is kinda what hashing is for anyway, don't need leading zero bits for that.

What is needed is to know if warriors indeed beat the previous ones, however once these warriors are collected it can be used to re-write the chain and create new transaction blocks with different hashes and even producing a longer hash.

The funny way underlying blockchain seems to solve it is to store hashes of bank accounts and then concatenate then and compute a hash over it. Now that I see it written here don't really think it's too safe, since a longer chain could be produced by simplying following this method, though it does require also computing a blockchain which has same bank account total hash, something like that. and these hashes are leading zero bits.

To make these hashes attached to warriors somewhat, the simulator has to compute hashes as the warrior is executed. This will make it somewhat computationally intensive to re-compute this, but still not too much re-computation work, to re-compute such chain. So security would now depend on the last warrior, and even if this one is found a new chain can be generated which would equal it.

So this design does seem somewhat weak and might need leading zero bits to prevent re-writing chain easily... hmmmm.... though computing a block could be made somewhat computationally expensive by trying out all warrior positions, but at a certain point a large enough mining farm could catch up. Trying out all p-space computations/variations is computionally almost impossible to compute. Some random positions could be used by doesn't really matter much since new chain can be somewhat computed. Unless perhaps positions are based on genesis block, and then the previous block to that etc... but again this would kinda dictate starting positions to some degree... though it has to be somewhat random and transaction data could/would be used to see this random generator, though re-writing this random data would then allow to produce a new chain, quickly rivalling the existing chain.

One complex idea could be to somehow use difficulty to determine how many additional p-space variations would have to be calculated, though this would only really work if warriors actually used p-space and this is not garantueed so this is very weak.

Somehow the data/chain must be protected against modification, and this protection must become computationally more expensive over time as more peers join and the chain grows. Once a warrior's code is known it should not be possible to re-use it again to generate different blocks herein lies a bit of a problem.

I think the problem is already solved, since only the author/owner of the warrior could re-sign blocks... to become the new fake author would require to re-compute the leading zero bits associated with the warrior and bank account. While theoretically possible, this could be detected and disalllowed, the database can keep track of which author published a warrior first and take this into consideration to compute a bank hash, if dates or ownership is changed this would produce an invalid bank hash and can probably be detected in the blockchain that currently exists.

So re-creating a bank account chain is not as easy as it first seems, since not all warriors can be owned, recomputed assuming some authors calculate a strong warrior leading zero bits hash.

So this feature of this bitcoin hash design does offer some good protection against changing data. It's a bit of a cheesy work around though, to let authors compute these leading zero bits instead of mining farms and such but I like this, cause this does give peers/persons/people some more chance of actually computing a block on their own private time, in combination with finding a good warrior, which is perhaps more difficult than calculating simply "dumb" leading zero bit hashes... though that is "so" simple it can be done by anybody so in that sense it is  kinda fair, but again not because of these farm.

With calculating warriors it becomes a bit different ball game and "smarts" of evolvers comes into play... so then more smarter/intelligent people would maybe win this, which might kinda suck because this chain was kinda ment to allow everyone to mine some blocks, for now I can only hope that smart evolvers would be shared, and that it does become a bit of a luck thing with finding a good warrior. Kinda funny.

(I think it's a bit safer to first hash everything and then sign the hash with a private key to prevent any re-ordering of data/messages, maybe not required if hashes are linked later anyway, but can't hurt to do that:
https://crypto.stackexchange.com/questions/12768/why-hash-the-message-before-signing-it-with-rsa).

What could be interesting about this design is that it might even be stronger than bitcoin itself, since mining farms don't really have everybody's private key, and these private keys are now necessary to construct a valid blockchain, at least for growing it as a very minimum. Perhaps it's enough to encode the public key with the blocks themselfes, but this would then again probably allow forgeries by simply replacing the public key with something else.

Thus to prevent this from happening the bank account would probably need to calculate as follows:

leading zero bit hash = hash( warrior code + author name + public key )

To protect the public key from simply being replaced with a forgery.

Chain's strength is then kinda the strength of the individual author's leading zero bits calculations, which could funny enough be kinda weak.

Might have to come to the conclusion that there is no way around "leading zero bit hashes".

Though original idea was to used warrior's score as for example indicate what the target value should be... but then hashes would still need to be computed as well as warriors... and this kinda bores me if asics can compute hashes faster, then joe average... wouldn't really make the chain much stronger against forgeries that's the main problem.

For now I can only come to the conclusion that underlying blockchain technology should probably remain functioning the way it is and to still make this project work/a reality a cheesy additional check/constraint/requirement could be added that coins are only rewarded if previous warriors are beat/fought against and produce a certain score that beats the previous best score, also to prevent cheesy copies, only if the warrior produces +10 additional points then previous warrior coins are rewarded, this could be cool Wink.

Thus everything else can stay the same... cheesy, simply perhaps stupid, but maybe it will be fun ! Wink
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
August 31, 2018, 02:11:37 AM
 #46

Thursday 30 august 2018 some experimental code was written and tried out to examine how to travel/traverse back in time/through the blocks/blockchain of underlying blockchain technology. This will be necessary since I plan to store warriors on the blockchain only for now. However at first this may seem like a sad/bad idea since the blockchain is only a temporarely 100 blocks, eventually these block's headers will end up in the account chain/bank as well, so that should give users some oppertunity to examine what previous warriors were generated. I am not sure what happens if an account block is updated. Perhaps it's block's header/operation block is overwritten. I will have to ask some questions about this, perhaps I will get an answer this will hep me somewhat to develop faster, otherwise I will have to investigate myself further. The experimental code worked flawlessly since it was based on some pre-existing code, so this was nice and easy to write/adept.

Friday 31 august 2018 Ranked season 10 of World of Warships a bit boring, it's the same Tier X as last time Wink Smiley

I will probably continue working a bit on CoreWarCoin cause I find it a lot of fun and it's starting to get a bit interesting. A second attempt was made at integrating the core war simulator v0.10, but eventually decided it's time to work a bit more on a more recent corewar simulator v0.12 and to use conditional compilation to filter out code pieces like throttle, visualizer, soundalizer/audio and other unwanted code elements for evolving/corewarcoin and other speedy reasons/applications. There were some slight code differences and probably some small bug fixes in v0.12 so I think it will be better to use v0.12 and finally maybe unite some pieces of code in v0.13 or so which feels like a bad version number LOL but it gonna be pretty great, after which some additionally streaming functionality can be added to v0.14 for warriors.

I am not yet sure where to perform warrior battles/score calculations inside underlying blockchain, I may have to experiment with this, or perhaps ask underlying developer where this could best be done, but for now I think I have a hunch where it can be done so will not yet ask, might do this later if experimentation fails or produces bad/poor results/performance.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
September 01, 2018, 03:28:53 AM
 #47

Saturdau 1 september 2018 I think by logic reasoning I may have found a serious weakness in the underlying blockchain technology, it has something to do with "the future" Wink Smiley that's a hit for the problem potentially a devastating problem which may require abandoning that technology or modieifing it as well as other coin systems, throwing away data might still be possible at some risks, however it would require the hashing to be done slightly different in a two layer like fashion, satoshi almost discovered this I think but he couldn't quite right get his fingers around it, seeing his double sha256 hashing though that might just have been out of security reasons, probably yes, but there is something to it if it's done a bit different Wink (This problem has also be sent to the main developer of underlying blockchain technology, not sure if I will ever get a reply on it, maybe yes, maybe not, for now I am guessing no, cause he may also not know a solution if the problem is real =D and it's a bit of a tedious problem/hack to try out, but definetly possible to try it out.).
jacasta19
Newbie
*
Offline Offline

Activity: 75
Merit: 0


View Profile
September 01, 2018, 06:14:23 AM
 #48

I do not understand much about this project. how many dollars have been collected? why is there so little activity? why no news from the manager?
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
September 04, 2018, 08:01:12 PM
 #49

Tuesday 4 september 2018:

Since underlying blockchain tech is probably insecure I will have to re-invent blockchain technology a little bit so that it can do what I want and is a bit more secure than this underlying blockchain tech.

Exact details will remain secret for now.

Different courses of action could be taken:

1. Either modified exiting tech to make it more secure, this would require a data structure change.

or

2. Write my own Crypto Coin System.

This system might not have the warriors in it though or maybe it will, but it might be better to create two coin systems, one traditional system without any new concepts like warriors, and then later the corewar coin system.

Approach 2 will take much more time, but I think code quality and performance of coin and security will be much better. So I may try approach 2, though approach 1 might be quicker but requires a massive re-write. Might also try approach 1 to safe some time, this could be interesting, but might also be a waste of time if some issues with this code remains... will have to think a bit and experiment a bit which approach I will take, maybe some kind of hybrid approach... integrating some parts of it's code into mine ! Wink Smiley

(I could also start a project to prove current underlying blockchain is insecure, this would require a bit of computational power that others would have to provide, it may also have to be attempted a few times in case underlying blockchain protocol changes, not sure if people want to help out and proof that it's insecure, there could be some rewards in it if you sell the overtaking blockchain coins fast on some exchange, not sure if this is legal or illegal but it's a bit nasty isn't it ! Wink Smiley)

Bye for now.
Skybuck (OP)
Full Member
***
Offline Offline

Activity: 384
Merit: 110


View Profile
January 09, 2023, 10:54:48 PM
 #50

Because of complications with the idea of hashing and minting coins based on results of fights and perhaps also other complications, this project is cancelled and the domeins are cancelled/revoked and will be gone or back up for grabs at the end of 2023 ! =D

Maybe in the future I will return to this project, but not for now...
Pages: 1 2 3 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!