github自动挖矿
㈠ 有哪些Git或GitHub题材的游戏
结合《我的世界》和《泰拉瑞拉》的一些玩法的生存游戏,小巧便捷,虽然只有30多MB但是很耐玩,游戏以沙盒创造为主,你可以砍树、挖矿、钓鱼、搜集物资,然后建造营地,在这个孤独岛屿上生活下去。
㈡ 你们在Github上面的第一个项目是什么有没有什么有趣的项目
是猜拳游戏,有没有趣是个人爱好,我觉得没有有趣的项目。
GitHub是一个面向开源及私有软件项目的托管平台,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
GitHub上已自动配置的Mac笔记本电脑,一个工具,可以转换设置Linux或Windows机器。BOXEN是GitHub的自动化工具,设置和配置的Mac笔记本电脑软件开发或其他类型的工作,正在使用他们的开发人员,律师,设计师,付货人等。
BOXEN的基础上收集了大量的几十个木偶模块,使设置的各种软件,如卡桑德拉,Mongo DB中,Java软件中,Python和Ruby开发中,节点,JS,nginx的,Skype公司,甚至MINECRAFT。虽然机器上配备了一个预配置,每个用户都可以调整它的配置应有的作用。
㈢ 如何在Github上为开源贡献力量
参与开源的一个好方式是为当前你正在使用的(开源)项目贡献力量。Github为多达五百万的开源项目提供托管。这里有各种技术集的项目,比如:recipes、 HTML/CSS、Ruby、Astrophysics和其他许多项目。这份指南会涵盖在一个典型项目中的各个方面,同时指导如何参与贡献。
查找项目
我们建议你开始时查找你已经在使用的项目(或者感兴趣的项目)。下面是一些值得访问的链接:
· GitHub Explore: 当前热门项目和有潜力的项目.
· GitHub Stars: 项目由他人评价的排行榜.
· GitHub Showcases: 查找相关的仓库.
· LayerVault News: 前端和设计项目.
一个典型的项目
下面是在一个开源项目中可能会访问的一些元素。
社区
项目通常都含有一个围绕它的社区,由其他不同角色用户创建:
所有者是项目创建者或其组织,该账户身份拥有这个项目。
维护者和协作者是一个项目的主要开发者和负责驾驭项目开发方向的人。通常项目所有者和维护者是同一个人。他们拥有仓库的写权限。
贡献者是指任何对项目进行pull操作并合并到项目中的人。
社区成员是经常使用项目的用户,深切关心项目并且活跃讨论项目的特性和pull请求。
文档
项目中包含的通用文档文件
请读我(Readme)
几乎所有Github上的项目都包含一个README.md文件。这个Readme描绘了项目使用、编译,有些时候也提供项目参与的详细地图。
参与文档(Contributing)
不同项目和项目的维护人员存在差异,所以参与项目的方式也不同。你可以关注一个叫CONTRIBUTING的文档。参与文档详细描述了项目维护人员希望看到补丁和贡献特性的规范。这可能包含了如何编写测试,代码风格或者补丁应用范围。
许可证(License)
LICENSE文件是项目的许可证说明文件。一个开源项目的许可证告诉用户他们可以做和不可以做什么(例如:使用,修改和分发),以及参与者的权利,这个文件告诉其他人他们可以怎么做。许可和发布开源项目有许多方式,你可以在这个网站了解不同许可的含义:choosealicense.com.
文档和wiki
许多大型项目略过Readme来指定用户如何使用其项目,这种情况下你在仓库中通常会找到一个链接或者一个名叫“docs”的文件夹。
另外,仓库也可以使用Github的wiki系统来代替文档。
参与一个项目
现在你已经找到理解一个项目的材料了,开始行动起来吧。
创建一个Issue
如果你发现你使用项目中的一个bug(但是你不知道如何去修复它),在文档中也找不到相关信息或者对项目存有疑问——创建一个issue!不管你的issue什么内容或者你现在有什么issue,你可能不是唯一存有疑问的,其他用户可能会从你的issue得到帮助。此外,想要更多关于issue如何工作的信息,请查看我们的issue指南。
Issues专业建议
检查当前的issue是否有与你相关联的。发布重复的issue会让双方都降低效率,搜索开放和已经关闭的issue来检查你现在提出的issue是否已经被提及。
请明确你的问题:期望的输出是什么,实际发生了什么?以及其他人如何复现你的问题。
对示例的链接:复现问题的方式,比如提供在jsfiddle和codepen上的示例链接。
汇报系统环境的详细信息。比如使用什么浏览器,使用的库或者操作系统的版本。
在你的issue或者Gist中粘贴错误输出或者日志。如果你粘贴错误输出或日志到一个issue中,请使用三个反引号`使得显示更漂亮。
Pull请求
如果你自己有能力修复bug或者添加新特性——那就太妙了。对代码基做一个pull请求!请确保你已经读过参与相关的文档了,了解许可证并拥有一个签名的CLA(如果需要的话)。一旦你提交了一个pull请求,项目的维护人员可以比较你的分支和当前分支来决定是否合并(pull in)你的变更.
Pull请求专业建议
Fork仓库并克隆到本地。通过连接你本地到初始的“上游”仓库并标记作为一个远程连接。时常从“上游”Pull in变更保证在提交你的pull请求时是最新版本,从而减少合并冲突的可能性。详细的指导见这里。
为你的编辑创建一个分支。
清楚问题是如何发生的,同时其他人如何去复现问题,或者你提交的特性是有帮助的。同样的,清楚了解你的变更执行步骤。
最好进行测试。如果有,对已有的测试项目测试你的变更,需要时创建一个新的测试。不管测试是否存在,请保证你的变更不会扰乱现有项目。
提供你变更前后的截图,包括在html/css上的不同,拖拽图片到你的pull请求中。
尽量参照项目风格来参与项目。这包括使用缩进,符号和注释,也许在你的项目中使用有所不同,不过使用(和项目一致的风格)会让项目维护人员更容易合并,其他人也更容易理解和在将来进行维护。
打开pull请求
一旦你打开了一个pull请求,一个你提交变更相关的讨论就会开始。其他参与者和用户会参与进来。但是最终还是由维护者进行决策。你可能会被要求对你的pull请求进行修改,如果是这样,为你的分支添加更多的注释并push它们——它们会自动加入已经存在的pull请求。
如果你的pull请求被合并了——非常棒!如果没有,也没问题,可能项目的维护者并没有注意到,或者他们已经为此做了一些事情。这时,我们建议你接受你收到的反馈并继续处理,再次提交pull请求——或者创建你自己的开源项目。
㈣ Github 的系统内部都在用什么开源软件
有时候处理规模问题最好的办法就是让事情变得简单并尽你可能去避免出现这种情况。这是 GitHub 所采用的方法,林纳斯·托瓦兹(Linus Torvalds)在十年前开发了Git源代码控制工具,GitHub 为该工具提供资料库服务(repository service),目前已经有了爆炸性的发展,并成为开源软件开发工作的重心之一。
可以理解为什么程序员们会精挑细选他们创作代码用的工具并与他人分享,反过来,他们也会去调整和改进这些工具。一种非常现实的感觉就是,软件开发者们“住进”这些系统中后,源代码版本控制系统的工作方式会对合作者们的创作过程提供积极或消极的影响。
GitHub 的成立可以追溯到2007年,它的建立者包括目前公司的首席运营官(COO,Chief Operating Officer)PJ Hyett,首席执行官(CEO,Chief Executive Officer)Chris Wanstrath,前首席执行官Tom Preston-Werner,首席信息官(CIO,Chief Information Officer)Scott Chacon。这些人当时都在 Rails 框架下开发 Ruby 应用程序,并希望通过一个更好的方式合作编码,为此他们开始搭建了预计在2008年开始运行的 GitHub。与其说这是一个商业计划,他们的开发更多是为了能有一个工具帮助他们自动化地协助自己的软件开发工作。
事实证明,GitHub 是世界上最大的 Ruby on Rails 应用程序,GitHub 系统主管 reckons Sam Lambert 曾和 The Platform(译者:一家网站 http://www.theplatform.net/) 就该系统做过一次小的讨论。Lambert 不方便公开讨论 GitHub 有多少行代码构成,没有公司公布有多少行代码托管在 GitHub 仓库,但 Lambert 确实给我了们一些指标数据,这些数据是关于 GitHub 的使用增长情况,以及系统如何支撑为大约 60000 个机构或个人工作的 1000 万个程序员维护 2600 万个开源项目。
“基本上它就是一个简单的栈,对我们来说它真的很重要,“Lambert 说。“我们试图采用尽可能少的东西来保持这个栈的简单”。
另一方面,2008 年是创业公司的一个分界线(两年后 Amason Web Service 发布了 EC2 计算云),GitHub 可以使用云,第一次不需要在基础建设上做投资。但是,没有那么做,公司创始人和他们聘请的工程师已经绘制了技术栈草图,通过聊天工具见猎购买了一系列创造 性的系统管理,软件布署工具,基本的 IT 操作都在 GitHub 上运行。
当然,公司在 GitHub 上有自己的私有仓库来开发 GitHub。虽然 Lambert 没有透露这个构成 GitHub 的 Ruby 应用的具体大小,但是他告诉我们这个平台在 GitHub 的仓库里有25万个 commit,有上百人贡献了他们的代码和提交这些变动的 commit,尽管不是所有人都在 GitHub 工作。
项目人
“GitHub 最初是为我们自己创建的,我们基本上都是软件工程师所以我们想要一个好的工具做开发。”,Lambert 如是说道,“我们使用 GitHub 去构建 GitHub,同时这也是我们每天去管理所有事物的东西。人力资源和法律团队在他们的工作流程上也在使用 GitHub。不仅仅只是程序员在使用 GitHub。我们非常幸运能够用其他公司不一定能做的方式完成了我们的代码。如果你招一些开发者为广告系统做开发,除非他们根本不在乎讨不讨厌广告,否 则他们是不会愿意干的。而我们所有的开发人员都喜欢Git并且所有的工作都围绕着它,所以我们有为我们每天使用的工具而工作的特殊待遇。 ”
Github 栈的底端是硬件,它由几百台分布在各地数据中心的X86服务器组成。(Github 没有透露这些服务器位于何处,但 Lambert 确实说过,由于全球用户基数增长,Github 正在考虑在全球其他地区建立数据中心。)
“我们使用标准供应商的现成机器,” Lambert 说道, 但没有提及供应商的名字和配置. “我们对软件运行做了很多优化,但针对硬件我们并没有做不合适的大规模定制化。随着规模变大,我们试图让软件容错性更好,并且将数据拷贝到一次性机器上, 这样我们就用不着维修机器了。你只需要毁掉它,重新将数据放到另一台机器上。这会让购买机器变得便宜,同时扩展的成本也更低。”
“我们确实需要构建定制化和非比寻常的东西,因为一旦我们做了,我们就失去了社区正在做的东西的好处。这也告诉了我们怎么选择数据库,因为 MySQL 是每个人都在用的数据库。如果你使用它时碰到问题,这个问题别人也会碰到过,你自然不会碰到谁都无法理解的故障。”
硬件明显没有那么有趣 ——尤其对于软件工程师来说。但是 Lambert 尤其对自家开发的部署系统 GPanel 感到兴奋,它用 Ruby 开发,挂钩到 Puppet 配置工具,让公司里的任何人都可以准备机器并在上面发布软件。
“这让我们像在公有云上一样部署软件,却又允许我们享受拥有自己的硬件的所有好处。”
Github 的软件基础当然是 Linux,Lambert 也说过公司当然有足够的专家来运转自己的 Linux。但它没有这么做,而是简单地使用 Canonical Ubuntu 分布式服务器。至于存储 Git 代码和 Github 代码仓库访问控制系统的其他部分的数据库,Github 依赖 MySQL 关系数据库。Github 自己维护 Linux 和 MySQL 软件,以及 Ruby 和 Rails。Github 聘用了 Ruby 和 Rails 社区的主要维护者,因此可以推论,Github 在社区做自己的技术支持。但事实上随着应用的规模扩大,Github 同时拥有自定义版本的 Ruby 和 Rails。
Fork 代码
“当数据来临时,对我们来说真的是规模问题,我们正在使用一个高可用的方式弹性存储数据,”Lambert 说道,”它是关于适应 Git 具有可扩展性和易用性,因为它从来没有考虑过这一点。我们测量,GitHub 是最大的 Ruby on Rails 程序之一 – 许多公司都没有大规模的运行 Ruby。我们保持精益,做优化,以保持这种方式。
我们现阶段不完全,不像 Facebook 的 HipHop 和 Facebook 用 PHP 做什么,但我们有人民奉献 Ruby 的核心,使其更快和精益。”
GitHub 调整了 Ruby 解释器,并创立了自己的垃圾收集例程,但它也热衷于定位 Ruby 和 Rails 的错误尽可能快和获取代码修复到 GitHub 上,应用程序,以及输出到 Ruby 和 Rails 社区。 ( Ruby 开发托管在 GitHub 上,因为这样是为了 Rails。MySQL 的开发刚搬过来不久,用了甲骨文一些时间来做到这一点。)
GitHub 可能是开发者的机器,用于疯狂的 Fork 代码 – 好,疯狂的 Fork 代码至少 – 让 GitHub 费力也不以为奇。兰伯特解释道:
“我们保持 GitHub 作为一个 Ruby on Rails 应用程序的原因是,它是非常容易和快速的学会。人们在该公司第一天上班就开始在 Github上 工作了。我们真的很需要一个的定制的和与众不同的构建,因为如果我们这样做,我们将失去了所有社区所带来的好处。这就是告诉我们的数据库选择,因为 MySQL是每个人都在使用的。如果你遇到 MySQL 的问题,它是已知的,你不会遇到晦涩难懂并且没人知道的错误信息。没有找不到答案的奇怪错误,因为你遇到的问题,有人已经遇到过”。
GitHub 的基础设施有 Web 服务器,代理服务器,认证服务器,和一堆执行有关仓库的分析、上传提交分析、数百万托管项目分析的系统,但真正核心是存储库本身。大多数这类数据是文本, 当然,这不会占用很大的空间,相比一些更丰富照片,视频和音频媒体更能充塞互联网后面的磁盘驱动器。
奇怪的是,GitHub 没有使用传统的数据压缩方式压缩文本数据,但它有自己的压缩方式来节省空间。如果一个项目被 Fork,只在 Fork 中保存对原来的更改。 (我们假定这个方法也可以让你轻松地找出变化,在每一个 Fork 中迭代。)如果 GitHub 上保存每一个变化,每一个 Fork,它会很快有数不清的PB级数据,传统的数据压缩会系统变慢。事实证明,即使每天从程序员接受数百 GB 字节的新数据,整个 GitHub 的资源库的大小也是被度量在数百 TB 级。
在某些时候,在互联网上有很多猫的照片,所有猫的照片来自 master 猫的照片,并根据变化方式存储在 Fork 中 (译者注:这里做个比喻,形容 github 的 Fork 只存储与 Fork 之前的差别)(我们有点开玩笑。)
“有很多公司说他们已经到达 TB 和 PB 级的数据,你问他们那都是些什么数据,它们通常只是垃圾,” Lambert 笑着说。“大多大数据公司仅仅用来存储事件 —— 这些基本上都是没用的。我们非常自豪于我们一直保持着精益和优化,我们不会存储大量无用的数据。相对于我们的竞争对手,存储到仓库的比率显示了我们非常非 常地精益。我们尽可能不去存储数据,因为我们有一些非常智能的东西在后端让我们保持松散和分叉。我们有很多 Git,但我们还是会尽我们所能去优化。”
回顾 GitHub 的发展经历,从公司到老旧的学校,都可以快速简单地获取指定的存储和计算能力并启动它们。
“我们总是领先一步,我不能说是压力驱使,但我们确实有压力“Lambert 没有具体说明集群是如何快速发展的。“我们每天有数百 G 的新数据,并且仓库的使用规模快速增长,但我们创建了基础设施,可以和业务增长保持同步扩展”,这是因为我们的计划做得很好,现在也没有变慢的迹象。“
如果 GitHub 像其他 hyperscaler 一样,它的基础设施发展会滞后于推动基础设施的因素发展。很难去扩展服务,存储和用户,这也是为什么在 hyperscaler 有这么多的工程创造力。
使用公共的 Github 仓库是免费的,但是上面的代码可以被任何感兴趣的人获取和 fork。GitHub 有偿提供私有仓库,这是它计划盈利的方式。价格从 7 美元每个月的包含 5 个私有仓库的个人计划到200美元的程序员团队可共享 125 个私有仓库的商业计划。对于那些需要在内部搭建 Github 来开发代码的公司,可以购买 GitHub Enterprise 授权,售价 2,500 美元,每年可安装 10 个主机,并且跟 Github 有同样的外观。GitHub Enterprise 可以在内部主机上搭建,也可以搭建在 Amazon Web Services 或者 Microsoft Azure 公有云上。目前 GitHub 和 GitHub Enterprise 由同一个支持团队维护,但是如果你要在 GitHub Enterprise 上做内部开发并想开源到 GitHub,没有自动化的方式来完成。但 Lambert 表示存在空间。
除了核心Ruby on Rails应用程序和存储算法把GIT中的代码存放到文件服务器,GitHub也正在工作于其它应用上。 “有些技术你只是没有把它下架,因为世界上我们是最大的代码托管商,我们有很多定制领域的问题,”兰伯特说。
向前发展的其中一个重点领域是,提供了一组更丰富的关于程序员的项目分析和工作分析,因为很多公司都在使用开源软件,以此来吸引人才。这就是为什么 GitHub将扩展到新的市场,有很多变化的文档和Fork是协作过程的一部分。就像GitHub里面的团队一样,使用该工具来跟踪项目,架构师,音乐家 和其他工匠开始使用该工具,这可能为Github提供了另一波增长。
GitHub 在 2012 年的 7 月第一轮风险融,从 Andressen Horowitz 那里资筹集了 1 亿美元,和今年 7 月的第二轮融资,从红杉资本和 Andreessen Horowitz,Thrive Capital 和 Institutional Venture Partners 筹集了另外 2.5 亿美元,该公司尚未公开,但鉴于其融资的估值约为 20 亿美元,和现金增长其基础,并扩大它的目标市场。
ChatOps 文化与分布式开发
GitHub 的一个重要创新,严格的讲,不是代码部分,但绝对是公司 Hubot 的一部分,这是公司使用的一个聊天机器人系统管理接口。这种方法通常被称为 ChatOps,给部署操作起别名,通过聊天机器人,用聊天的方式做 DevOps。在 GitHub 里一切都使用它。
㈤ 如何通过终端将代码push到github上 掘金
1.利用命令创建github远程代码仓库
在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库。其中最为繁琐的操作是建立github代码仓库,需要进入github的网站进行操作,不能借助命令来简化操作,十分繁琐。
借助github提供的api,在.bashrc或者.zshrc文件中定义函数,可以利用命令在github上创建代码仓库,十分便捷。
首先需要进入github,申请并获取自己的api token,用于鉴权,地址在这。
然后在本机使用的bash的配置文件中加入下述函数定义:
github-create()
{if [ $1 ]
then
repo_name=$1
else
repo_name=`basename $(pwd)`
echo "set Repo name to ${repo_name}"
fi
curl -u 'username:api_token' ###'{"name":"'$repo_name'"}'
git remote add origin [email protected]:username/$repo_name.git
}
注意,需要使用自己的username与api_token覆盖上述函数中相应的值。
如果需要在github上创建代码仓库,只需输入命令:
github-create repo_name
会完成在github上创建名为repo_name的代码仓库的操作。如果没有指定repo_name,会自动将当前路径的文件夹名称设置为代码仓库的名称。
2.将本地代码仓库push到github远程代码仓库
以下省去在本地创建git仓库以及提交commit等操作。
(1)首先将本地仓库和远程代码仓库进行关联:
git remote add origin your_repo_url.git
(2)然后将本地代码仓库push到github:
git push -u origin master
㈥ 如何用github快速搭建个人博客
登录或者注册github,登录之后点击右上角的“+”号,选择“New repository”菜单,创建仓库,用于存储和博客相关的源文件。
跳转页面将填写域名信息,现先讲述直接用github提供的域名(用户名+github+io),在Repository name对应处填写资源名,其需要使用自己的用户名,每个用户名下面只能建立一个,并且资源命名必须符合这样的规则username/username.github.io,之后勾选下面的"Initialize this repository with a README" 。然后下一步
点击右边菜单中的Settings按钮,在跳转到的页面 Update your site 对应处点击“Automatic page generator”按钮,这样就有了一个github自动生成的页面用来测试的时候使用。之后点击继续。
点击继续之后,来到选择主题界面,选择主题并发布。
㈦ 如何评价 BitHub (Bitcoin + Github),这会给开源软件阵营带来什么...
我觉得这种项目的核心不在于比特币,而在于软件基金的分配与运作方式。
简单描述一下我的理解:项目负责人需要在 heroku 上面搭建一个 bithub 应用,这个应用管理着开源软件用户针对某一 github 项目的 bitcoin 捐款基金(需要对外公开这个捐款地址),每当有开发者往指定的 github 项目 commit 代码(包括被 accept 的 pull request 代码),heroku 上的 bithub 应用就会发送基金剩余总额的一定比例(好像默认是%2)的 bitcoin 给这个 committor 以奖励他的贡献。
它会给自己 github 项目带来两种效果:
以 bitcoin 为噱头的宣传效应。仍然有相当多的开发者不了解 bitcoin 或者持有异议,在社交平台大行其道的今天,这会增加项目受关注的程度。
软件基金促进了一种“悬赏”的气氛,当开发者知道为某项目贡献代码将会得到奖励便会趋之若鹜,特别是看到那个诱人的数字摆在那里。项目活跃度直线攀升。当然,品质另说。
其实说到底它足够简单,仅仅是一个自动管理软件捐款基金的 bot 而已。bitcoin 不是它的核心,但它也难以离开 bitcoin。如果把不便支付与兑换的 bitcoin 换成法币,那这种项目将会适用更多的情境,会受到更多开发者的欢迎。但是法币就需要与支付工具或支付平台对接,显然在这方面就没有甚麽廉价、易于实施的方案了。所以最终还是得益于 bitcoin 的非中心化,每个人都可以自由控制自己的账户,使得各种基于支付的应用都可以更低的门槛进入市场。
bithub 的缺点也是显而易见的,首当其冲就是品质控制。bithub 的 pay per commit 模式仅以提交的代码更新次数为量化标准,对内容和代码品质是忽视的。也许使用了 bithub 之后,代码审查这种事就会让人觉得疲于应付吧。其次的缺点就是公平性,这个问题和刚才说的保量不保质多少是有些相关的。如果某个 committor 提交了一次关键更新,大幅度提升了软件性能和品质,但是当时软件基金池很小,那么这个 committor 就只能得到比较少的奖励。之后改良过的软件带给用户更好的体验,进而用户给与了更高的捐助,那么基金池就上涨了,但是这种上涨受益的将是以后 commit 代码的人。在我的印象里,开源精神里有一点就是谁贡献谁受益,本来最大的受益人就应该是项目的发起者。虽然最大的受益人是发起者本无可厚非,但是用户捐款的98%都在自己的户头上会不会让其他的维护者失去信任?没人能够监督互联网另一端的项目持有者仅把项目基金用在软件的维护上。
话说我最开始刚看了博客中的第一条标题,还以为是众筹模式的开源软件定制呢(脑补一下众筹模式的apache基金会)。其实现在的软件基金会与集资定制的形式也差不太远了,企业厂商若想从某开源项目中持续获益就需要捐助资金让其活跃(比如 google 和 eclipse)。这无非是先付费与后付费的区别,本质上相差是不太大的。
最后说一下个人对公平性的解决思路:
最简单的方法是取消基金池,改 pay per commit 为 donate to commit,用户或者其它开发者直接捐助到指定 commit 上,由用户和其它开发者决定 commit 的价值。这样同时解决了保量不保质的问题。
或者更改结算方式,每次的捐款都均分到所有已经提交过的 commit 上。但这种方式仍然没能保证品质,除非引入类似上一条建议那样的针对 commit 的评价体系。
不过说到底,即使这些修改过的方案,依然还是离不开 bitcoin。除了 bitcoin,再没有甚麽低廉的方案能够如此随意、方便地对资产进行自动化管理了。
㈧ 吧里有人告诉一下挖矿软件哪里有么,GitHub上
tokenall软件 是挖矿的,不过他是一个钱包,阿西吧。但是有挖矿功能,是手机的,你可以试试呢。
㈨ aBey区块链技术什么东西
希望能帮到你:
网页链接
aBey区块链技术是来自于罗马尼亚蒂米什瓦拉西部大学 数学与信息学院 计算机科学系的两位人工智能系博士:Ciprian Pungila & Vorel Negru的自主研究项目。采用了恒定轻化区块链技术和多层编程及拓展的区块链解决方案。aBey的区块链规模始终保持不变,其规模仅为50个活跃区块。aBey区块链技术适用于利用电子货币在电子商务系统中进行 大批量交易,且具有多层次性、可扩展性和安全性并可进行编程。
官方白皮书声称aBey适用于电子商务系统中利用数字货币进行大批量交易 并可进行多层编程及拓展的区块链解决方案。
aBey区块链技术的具体实行方法:
利用一种多层次且可编程的区块链方法实现数字货币(为简单起见,我们称之为“DC”)。该方法可为执行各种电子商务用途(如:贷款融资、完成可退款交易和不可退款交易等)铺平道路。在区块链的第一层可实现固有的数字货币设计—即我们通常所说的基础层(“FL”)。在基础上建立的各种不同的上层,可用于描述与各种不同商业驱动型应用实例相关的各种附加功能(我们将在下文中予以简要介绍)。所有上述层级均具有完全可编程性,并且极容易经改编后,适用于各种不同的应用实例。
尽管现如今的绝大多数数字货均在区块链中储存交易差额,但aBey的方法更类似于PascalCoin数字货币。该方法使用我们称之为“Vault” 的加密结构。“Vault”结构可在网络中仅保存所有账户的余额,而不是所有已完成交易的完整清单,并可在区块链演变历史中完成重构。鉴于Vault可允许随时删除无用内容,因此可大幅降低区块链的储存成本。与此相比,在作者撰写本文时,下载比特币数据库所需的储存空间为70GB(报警率仍持续增长,预计在2019年达到300GB),因此使用储存空间较小(如,120GB或256GB)的超极本或笔记本实施挖矿操作已处于不可行状态。另一方面,aBey区块链的规模将始终保持不变,其规模仅为50个区块(在撰写本文时,比特币区块链中的区块已超过525,000个)。
Vault完全支持账户之间的数字货币转账。此外,Vault可向每个账户分配所有者界定的名称,而不是像今天的加密货币一样利用哈希算法—这可使账户更容易记忆,并且可向公众公开名称。
Vault有助于防止区块链日常费用过高(特别是与交易历史相关的费用)的重要功能之一是,Vault可通过创建有关区块链状态的安全副本,实现保存此类状态并同时降低区块链自身规模的目的。由于无需交易历史,并且所有账户均可保存其直接余额,因此区块链信息具有可部分擦除的特征。所有可储存的区块链状态均可被视为该区块链的界标。
安全数据共享:
通过区块链结构设计,对于发送到网络中的每次交易,区块链可能均包含经加密的元数据。该元数据仅可由交易接收人解密。对于向网络中发送的交易,通过在此类交易中包含发送人公钥,并由交易接收人利用公钥解密元数据实现这一目的。由于交易接收人持有用于解密的私钥,因此仅可由交易接收人实施数据解密过程。从加密方法角度来说,尽管比特币仅限于使用椭圆曲线密码学,但区块链元数据可使用任何其他加密机制完成加密过程。这不仅可在安全性选择方面提供完全的灵活性,而且不会对区块链的结构或功能造成任何不良影响。
可扩展性:
鉴于aBey区块链支持通过设计创建历史界标,因此从区块链将始终需要不断储存(与现有的最新SL有关)角度来说,网络自身将非常容易实现高扩展性。该方法完全消除了为计算所有账户的余额而储存交易历史的需要,并且可直接储存所有账户余额,进而可确保网络中所有节点提供的特定余额信息,均符合拜占庭一致性要求。
安全性和工作量证明:
根据涉及,在aBey的方法中不可能出现双向支付操作(在指定适当的场景中,现如今的绝大多数主流加密货币在理论上可能存在双向支付操作)。每次交易均意味着按照相对简单的方式更新相应账户的余额,并且无任何可将交易从网络待处理交易队里中还原的特殊方式。对于aBey区块链来说,鉴于所有技术层/功能层均建立在Vault上,因此Vault是我们区块链的基础结构,因此Vault对挖矿操作非常重要。我们提议的区块链模型由一系列区块组成,其中每个区块均由网络中自愿挖矿的节点,通过使用工作量证明模型经挖矿后生成。网络中的所有节点均可根据交易(区块的组成部分)独立更新账户余额,并与其他节点相互独立。挖矿操作将对第一功能层造成影响。除更新余额之外,每个节点还可更新区块链结构组成中,可能属于上层功能层的其他事项。一旦出现更新状况,则将创建一个全新的挖矿奖励区块。该挖矿奖励区块中包含多个全新且已分配给矿工的奖励账户。矿工根据工作量证明作为上述奖励的获得者(目前奖励账户的数量50个)。奖励的方式是向奖励获得者分配所有此类账户的公钥。
区块链技术层:
aBey的数字货币模式中包含多层结构,其中第一层表示实现数字货币自身(有关图形解释,请参阅图7)。相应层级包括:
第1层→数字货币(加密货币):货币转让,挖矿
第2层→可退款交易和不可退款交易:允许使用数字公正系统完成可退款交易
第3层→关联方和佣金:允许向关联方自动分配佣金
第4层→接触货币:通过借出货币,基于利息获得收入
第5层→可编程:经保留后可供未来实现图灵完整编程模型使用,以便于按照自定义方式处理区块链数据 (如,智能合同等)
第6层→自定义协议:保留以供未来使用
交易类型:
aBey的模式可允许通过设计,在区块链中不同的层级,完成多种交易类型。第欱层中的交易类型如下所述:
1→资金转移:账户之间转移资金(1对1转移)
2→可退款型资金转移:账户之间的可退款交易。使用托管余额代替常规账户余额
3→密钥更改:更改可用于处理账户的密钥
4→恢复账户:从失去的,无效的账户中恢复资金
5→设置账户名称:定义创始人所持帐户的名称
6→销售准备:标记准备销售的账户
7→移出销售队列:去除账户销售标记,并将账户标记为不可销售
可退款交易和调解人:
对于绝大多数实例来说,不可退款交易等同于所有基于区块链的数字货币模式中的欱对欱付款交易。但aBey已在自己的数字货币模式中引入可退款交易概念。在aBey模式中,利用小旗标记交易属于可退款标记或不可退款交易。除此之外,在aBey的区块链网络中,每个账户都包含两种类型的余额:常规且不可变更的余额(用于标记该账户已收到且可立即支出,但支出后不可收回的金额)和托管余额(包含被标记为可退款交易的交易清单,以及每次交易的分钟数)。
8→付款争议:针对已被标记为可退款交易的相应交易,发起付款争议,但仅可由付款人发起。
9→退款请求:针对先前被标记为可退款交易的相应交易,发起退款请求,但仅可由付款人发起。
10→取消托管:取消托管资金,并立即向付款人返还资金。仅可由收款人发起。
11→解除托管:解除托管资金,并立即将金额加至收款人账户余额。仅可由付款人发起。
关联方和佣金:
当今由区块链驱动的金融科技存在的重要缺失之一是,缺乏对销售特定产品或服务的关联方提供奖励的能力。aBey区块链第3层可以解决这一问题。
借出数字货币:
借出数字货币不仅是一种允许人们借入法定货币的简单快捷方法,而且还可保证加密资产的安全。鉴于现如今的有价数字货币同样用于交易,因此借出数字货币可行的原因不仅在于允许借款人抵押其储蓄的任何类型的加密货币,而且其具有吸引力的原因在于,这也是一种可以按照完全安全或极低风险的方式,保留自身数字资产。此外,aBey的模式还通过客户Vault借出网关(VLG)提供内置保护,并使VLG可作为贷款人和借款人之间的缓冲器。
12→借入资金:由借款人在网络内发起交易、宣布借入资金的意图,并指定借入资金的VLG账户。该交易类似于在选定的VLG账户中存入常规/托管账户余额
13→返还抵押品:由VLG自身发起交易。VLG将按照风险处理政策,向借款人返还抵押品。
14→偿还贷款:由借款人发起交易。如果VLG接受以数字货币形式偿还贷款,则借款人可选择利用数字货币偿还贷款。在此条件下,数字货币资金将被转变为VLG常规账户余额。
可编程的区块链:
通过与其相关的元数据有效负荷,区块链的第欵层可被保留为可允许通过执行基于语法的“完全图灵基本编程语言”,按照原始区块链数据处理方式,进一步创建网络中对等方之间的智能合同。对于每个有效负荷,均可实施加密或公众可见处理,并且可在专门的虚拟环境(类似于虚拟机)中执行。该方法可有效保护数据安全并避免遭受数据破坏和安全漏洞的影响。该方法的主要优点是,该层可在无需任何区块链特定编程的条件下,创建并强制执行数字化合同。对于本层面,我们将在未来升级过程中慎重考虑该层的延伸方向,并界定实现相应功能所需的适当语法和语义环境。同时,未来建立的其他层级(第6层、第7层和更高层级)可用于按照需求,扩展适用于更多使用案例的相关协议。但其缺点在于,实现上述功能将需要区块链自身完成“软分叉”或“硬分叉”过程。
实验结果:
aBey当前正在实施相关实验,并将在全球最大的开源平台—GitHub上公布实验结果。